From 5b7d8335d4569b7470e0eb72dccde386d3e562d6 Mon Sep 17 00:00:00 2001 From: JotaJota96 <jjap96@gmail.com> Date: Tue, 8 Oct 2019 15:03:28 -0300 Subject: [PATCH] Un nuevo comienzo --- UyTube_aplicacion/dist/UyTube.jar | Bin 663892 -> 0 bytes UyTube_aplicacion/src/Imagenes/nerd.gif | Bin 75825 -> 0 bytes .../Imagenes/about.png | Bin .../Imagenes/des.jpeg | Bin .../Imagenes/icono.jpg | Bin .../Imagenes/perfiles/JotaJota96.JPG | Bin .../Imagenes/perfiles/LuC31G.jpg | Bin .../Imagenes/perfiles/MCBolso.jpg | Bin .../Imagenes/perfiles/camilillo15.jpg | Bin .../Imagenes/perfiles/jarrieta31.jpg | Bin .../Imagenes/ukp.png | Bin UyTube_estacion_de_trabajo/build.xml | 73 + .../dist/README.TXT | 2 +- .../dist/lib/AbsoluteLayout.jar | Bin .../dist/lib}/JCalendar_1.4.jar | Bin .../dist/lib/UyTube_logica.jar | Bin .../dist/lib/eclipselink.jar | Bin .../javax.persistence_2.1.0.v201304241213.jar | Bin ...tence.jpa.jpql_2.5.2.v20140319-9ad6abd.jar | Bin .../dist/lib/postgresql-9.4.1209.jar | Bin .../librerias}/JCalendar_1.4.jar | Bin .../librerias}/UyTube_logica.jar | Bin .../manifest.mf | 0 .../nbproject/build-impl.xml | 1420 +++++++++++++++++ .../nbproject/genfiles.properties | 8 +- .../nbproject/project.properties | 81 + .../nbproject/project.xml | 15 + .../src/Imagenes/about.png | Bin .../src/Imagenes/des.jpeg | Bin .../src/Imagenes/icono.jpg | Bin .../src/Imagenes/ukp.png | Bin .../Categoria/frmAltaCategoria.form | 0 .../Categoria/frmAltaCategoria.java | 0 .../Categoria/frmConsultaCategoria.form | 0 .../Categoria/frmConsultaCategoria.java | 0 .../Categoria/frmListarCategorias.form | 0 .../Categoria/frmListarCategorias.java | 0 .../frmAgregarVideoAListaDeReproduccion.form | 0 .../frmAgregarVideoAListaDeReproduccion.java | 0 .../frmAltaListaDeReproduccion.form | 0 .../frmAltaListaDeReproduccion.java | 0 .../frmConsultaListaDeReproduccion.form | 0 .../frmConsultaListaDeReproduccion.java | 0 ...mConsultaListaDeReproduccionEliminada.form | 0 ...mConsultaListaDeReproduccionEliminada.java | 0 .../frmModificarListaDeReproduccion.form | 0 .../frmModificarListaDeReproduccion.java | 0 .../frmQuitarVideoDeListaDeReproduccion.form | 0 .../frmQuitarVideoDeListaDeReproduccion.java | 0 .../Presentacion/Usuario/frmAltaUsuario.form | 0 .../Presentacion/Usuario/frmAltaUsuario.java | 0 .../Presentacion/Usuario/frmBajaUsuario.form | 0 .../Presentacion/Usuario/frmBajaUsuario.java | 0 .../Usuario/frmConsultaUsuario.form | 0 .../Usuario/frmConsultaUsuario.java | 0 .../Usuario/frmConsultaUsuarioEliminado.form | 0 .../Usuario/frmConsultaUsuarioEliminado.java | 0 .../Usuario/frmDejarDeSeguirUsuario.form | 0 .../Usuario/frmDejarDeSeguirUsuario.java | 0 .../Usuario/frmListarUsuarios.form | 0 .../Usuario/frmListarUsuarios.java | 0 .../Usuario/frmModificarUsuario.form | 0 .../Usuario/frmModificarUsuario.java | 0 .../Usuario/frmSeguirUsuario.form | 0 .../Usuario/frmSeguirUsuario.java | 0 .../src/Presentacion/Video/frmAltaVideo.form | 0 .../src/Presentacion/Video/frmAltaVideo.java | 0 .../Presentacion/Video/frmComentarVideo.form | 0 .../Presentacion/Video/frmComentarVideo.java | 0 .../Presentacion/Video/frmConsultaVideo.form | 0 .../Presentacion/Video/frmConsultaVideo.java | 0 .../Video/frmConsultaVideoEliminado.form | 0 .../Video/frmConsultaVideoEliminado.java | 0 .../Presentacion/Video/frmModificarVideo.form | 0 .../Presentacion/Video/frmModificarVideo.java | 0 .../Presentacion/Video/frmValorarVideo.form | 0 .../Presentacion/Video/frmValorarVideo.java | 0 .../src/Presentacion/frmAcercaDeNos.form | 0 .../src/Presentacion/frmAcercaDeNos.java | 0 .../src/Presentacion/frmInicioSesion.form | 0 .../src/Presentacion/frmInicioSesion.java | 0 .../src/Presentacion/frmPrincipal.form | 0 .../src/Presentacion/frmPrincipal.java | 0 UyTube_logica/Imagenes/about.png | Bin 0 -> 72290 bytes UyTube_logica/Imagenes/des.jpeg | Bin 0 -> 33682 bytes UyTube_logica/Imagenes/icono.jpg | Bin 0 -> 2123 bytes .../Imagenes/perfiles/JotaJota96.JPG | Bin 0 -> 460846 bytes UyTube_logica/Imagenes/perfiles/LuC31G.jpg | Bin 0 -> 25798 bytes UyTube_logica/Imagenes/perfiles/MCBolso.jpg | Bin 0 -> 107833 bytes .../Imagenes/perfiles/camilillo15.jpg | Bin 0 -> 43654 bytes .../Imagenes/perfiles/jarrieta31.jpg | Bin 0 -> 15383 bytes UyTube_logica/Imagenes/ukp.png | Bin 0 -> 1465 bytes .../build.xml | 6 +- UyTube_logica/librerias/JCalendar_1.4.jar | Bin 0 -> 165052 bytes UyTube_logica/manifest.mf | 3 + .../nbproject/build-impl.xml | 10 +- UyTube_logica/nbproject/genfiles.properties | 8 + .../nbproject/project.properties | 48 +- .../nbproject/project.xml | 2 +- UyTube_logica/src/Imagenes/about.png | Bin 0 -> 72290 bytes UyTube_logica/src/Imagenes/des.jpeg | Bin 0 -> 33682 bytes UyTube_logica/src/Imagenes/icono.jpg | Bin 0 -> 2123 bytes UyTube_logica/src/Imagenes/ukp.png | Bin 0 -> 1465 bytes .../AdministradorJpaController.java | 148 ++ .../JPAControllerClasses/BusquedaEnBDD.java | 322 ++++ .../CanalJpaController.java | 142 ++ .../CategoriaJpaController.java | 148 ++ .../ComentarioJpaController.java | 142 ++ .../ListaDeReproduccionJpaController.java | 142 ++ .../ListaPorDefectoJpaController.java | 148 ++ .../JPAControllerClasses/NombreManejador.java | 9 + .../JPAControllerClasses/ParDeObjetos.java | 40 + .../PersonaJpaController.java | 148 ++ .../UsuarioJpaController.java | 159 ++ .../ValoracionJpaController.java | 142 ++ .../VideoJpaController.java | 143 ++ .../exceptions/IllegalOrphanException.java | 20 + .../NonexistentEntityException.java | 10 + .../PreexistingEntityException.java | 10 + .../src/Logica/Clases/Administrador.java | 33 + UyTube_logica/src/Logica/Clases/Canal.java | 540 +++++++ .../src/Logica/Clases/Categoria.java | 30 + .../src/Logica/Clases/Comentario.java | 158 ++ .../Logica/Clases/ListaDeReproduccion.java | 174 ++ .../src/Logica/Clases/ListaPorDefecto.java | 29 + UyTube_logica/src/Logica/Clases/Persona.java | 71 + UyTube_logica/src/Logica/Clases/Usuario.java | 406 +++++ .../src/Logica/Clases/Valoracion.java | 95 ++ UyTube_logica/src/Logica/Clases/Video.java | 429 +++++ .../src/Logica/Controladores/CAdmin.java | 982 ++++++++++++ .../src/Logica/Controladores/CUsuario.java | 823 ++++++++++ .../src/Logica/DataType/DtCanal.java | 40 + .../src/Logica/DataType/DtCategoria.java | 19 + .../src/Logica/DataType/DtComentario.java | 46 + .../DataType/DtListaDeReproduccion.java | 56 + .../src/Logica/DataType/DtPersona.java | 33 + .../src/Logica/DataType/DtUsuario.java | 68 + .../src/Logica/DataType/DtValoracion.java | 25 + .../src/Logica/DataType/DtVideo.java | 92 ++ UyTube_logica/src/Logica/DatosDePrueba.java | 54 + .../src/Logica/Enumerados/Filtrado.java | 5 + .../src/Logica/Enumerados/Ordenacion.java | 5 + .../src/Logica/Enumerados/Privacidad.java | 5 + .../Enumerados/TipoListaDeReproduccion.java | 5 + .../src/Logica/Enumerados/TipoValoracion.java | 5 + UyTube_logica/src/Logica/Fabrica.java | 33 + .../src/Logica/Interfaces/IAdmin.java | 361 +++++ .../src/Logica/Interfaces/IUsuario.java | 361 +++++ UyTube_logica/src/META-INF/persistence.xml | 23 + .../Categoria/frmAltaCategoria.form | 139 ++ .../Categoria/frmAltaCategoria.java | 236 +++ .../Categoria/frmConsultaCategoria.form | 178 +++ .../Categoria/frmConsultaCategoria.java | 163 ++ .../Categoria/frmListarCategorias.form | 100 ++ .../Categoria/frmListarCategorias.java | 85 + .../frmAgregarVideoAListaDeReproduccion.form | 255 +++ .../frmAgregarVideoAListaDeReproduccion.java | 334 ++++ .../frmAltaListaDeReproduccion.form | 324 ++++ .../frmAltaListaDeReproduccion.java | 344 ++++ .../frmConsultaListaDeReproduccion.form | 258 +++ .../frmConsultaListaDeReproduccion.java | 287 ++++ ...mConsultaListaDeReproduccionEliminada.form | 181 +++ ...mConsultaListaDeReproduccionEliminada.java | 151 ++ .../frmModificarListaDeReproduccion.form | 246 +++ .../frmModificarListaDeReproduccion.java | 343 ++++ .../frmQuitarVideoDeListaDeReproduccion.form | 223 +++ .../frmQuitarVideoDeListaDeReproduccion.java | 282 ++++ .../Presentacion/Usuario/frmAltaUsuario.form | 463 ++++++ .../Presentacion/Usuario/frmAltaUsuario.java | 723 +++++++++ .../Presentacion/Usuario/frmBajaUsuario.form | 125 ++ .../Presentacion/Usuario/frmBajaUsuario.java | 156 ++ .../Usuario/frmConsultaUsuario.form | 521 ++++++ .../Usuario/frmConsultaUsuario.java | 425 +++++ .../Usuario/frmConsultaUsuarioEliminado.form | 435 +++++ .../Usuario/frmConsultaUsuarioEliminado.java | 372 +++++ .../Usuario/frmDejarDeSeguirUsuario.form | 173 ++ .../Usuario/frmDejarDeSeguirUsuario.java | 227 +++ .../Usuario/frmListarUsuarios.form | 111 ++ .../Usuario/frmListarUsuarios.java | 105 ++ .../Usuario/frmModificarUsuario.form | 496 ++++++ .../Usuario/frmModificarUsuario.java | 640 ++++++++ .../Usuario/frmSeguirUsuario.form | 173 ++ .../Usuario/frmSeguirUsuario.java | 231 +++ .../src/Presentacion/Video/frmAltaVideo.form | 389 +++++ .../src/Presentacion/Video/frmAltaVideo.java | 547 +++++++ .../Presentacion/Video/frmComentarVideo.form | 314 ++++ .../Presentacion/Video/frmComentarVideo.java | 450 ++++++ .../Presentacion/Video/frmConsultaVideo.form | 432 +++++ .../Presentacion/Video/frmConsultaVideo.java | 507 ++++++ .../Video/frmConsultaVideoEliminado.form | 270 ++++ .../Video/frmConsultaVideoEliminado.java | 238 +++ .../Presentacion/Video/frmModificarVideo.form | 402 +++++ .../Presentacion/Video/frmModificarVideo.java | 472 ++++++ .../Presentacion/Video/frmValorarVideo.form | 282 ++++ .../Presentacion/Video/frmValorarVideo.java | 409 +++++ .../src/Presentacion/frmAcercaDeNos.form | 97 ++ .../src/Presentacion/frmAcercaDeNos.java | 144 ++ .../src/Presentacion/frmInicioSesion.form | 151 ++ .../src/Presentacion/frmInicioSesion.java | 213 +++ .../src/Presentacion/frmPrincipal.form | 475 ++++++ .../src/Presentacion/frmPrincipal.java | 652 ++++++++ datos_de_prueba.sql | 117 +- 202 files changed, 24506 insertions(+), 115 deletions(-) delete mode 100644 UyTube_aplicacion/dist/UyTube.jar delete mode 100644 UyTube_aplicacion/src/Imagenes/nerd.gif rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/Imagenes/about.png (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/Imagenes/des.jpeg (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/Imagenes/icono.jpg (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/Imagenes/perfiles/JotaJota96.JPG (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/Imagenes/perfiles/LuC31G.jpg (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/Imagenes/perfiles/MCBolso.jpg (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/Imagenes/perfiles/camilillo15.jpg (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/Imagenes/perfiles/jarrieta31.jpg (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/Imagenes/ukp.png (100%) create mode 100644 UyTube_estacion_de_trabajo/build.xml rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/dist/README.TXT (96%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/dist/lib/AbsoluteLayout.jar (100%) rename {Librerias => UyTube_estacion_de_trabajo/dist/lib}/JCalendar_1.4.jar (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/dist/lib/UyTube_logica.jar (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/dist/lib/eclipselink.jar (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/dist/lib/javax.persistence_2.1.0.v201304241213.jar (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/dist/lib/org.eclipse.persistence.jpa.jpql_2.5.2.v20140319-9ad6abd.jar (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/dist/lib/postgresql-9.4.1209.jar (100%) rename {UyTube_aplicacion/dist/lib => UyTube_estacion_de_trabajo/librerias}/JCalendar_1.4.jar (100%) rename {Librerias => UyTube_estacion_de_trabajo/librerias}/UyTube_logica.jar (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/manifest.mf (100%) create mode 100644 UyTube_estacion_de_trabajo/nbproject/build-impl.xml rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/nbproject/genfiles.properties (67%) create mode 100644 UyTube_estacion_de_trabajo/nbproject/project.properties create mode 100644 UyTube_estacion_de_trabajo/nbproject/project.xml rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Imagenes/about.png (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Imagenes/des.jpeg (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Imagenes/icono.jpg (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Imagenes/ukp.png (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Categoria/frmAltaCategoria.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Categoria/frmAltaCategoria.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Categoria/frmConsultaCategoria.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Categoria/frmConsultaCategoria.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Categoria/frmListarCategorias.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Categoria/frmListarCategorias.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmAltaUsuario.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmAltaUsuario.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmBajaUsuario.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmBajaUsuario.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmConsultaUsuario.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmConsultaUsuario.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmListarUsuarios.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmListarUsuarios.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmModificarUsuario.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmModificarUsuario.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmSeguirUsuario.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Usuario/frmSeguirUsuario.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Video/frmAltaVideo.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Video/frmAltaVideo.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Video/frmComentarVideo.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Video/frmComentarVideo.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Video/frmConsultaVideo.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Video/frmConsultaVideo.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Video/frmConsultaVideoEliminado.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Video/frmConsultaVideoEliminado.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Video/frmModificarVideo.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Video/frmModificarVideo.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Video/frmValorarVideo.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/Video/frmValorarVideo.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/frmAcercaDeNos.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/frmAcercaDeNos.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/frmInicioSesion.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/frmInicioSesion.java (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/frmPrincipal.form (100%) rename {UyTube_aplicacion => UyTube_estacion_de_trabajo}/src/Presentacion/frmPrincipal.java (100%) create mode 100644 UyTube_logica/Imagenes/about.png create mode 100644 UyTube_logica/Imagenes/des.jpeg create mode 100644 UyTube_logica/Imagenes/icono.jpg create mode 100644 UyTube_logica/Imagenes/perfiles/JotaJota96.JPG create mode 100644 UyTube_logica/Imagenes/perfiles/LuC31G.jpg create mode 100644 UyTube_logica/Imagenes/perfiles/MCBolso.jpg create mode 100644 UyTube_logica/Imagenes/perfiles/camilillo15.jpg create mode 100644 UyTube_logica/Imagenes/perfiles/jarrieta31.jpg create mode 100644 UyTube_logica/Imagenes/ukp.png rename {UyTube_aplicacion => UyTube_logica}/build.xml (94%) create mode 100644 UyTube_logica/librerias/JCalendar_1.4.jar create mode 100644 UyTube_logica/manifest.mf rename {UyTube_aplicacion => UyTube_logica}/nbproject/build-impl.xml (99%) create mode 100644 UyTube_logica/nbproject/genfiles.properties rename {UyTube_aplicacion => UyTube_logica}/nbproject/project.properties (62%) rename {UyTube_aplicacion => UyTube_logica}/nbproject/project.xml (92%) create mode 100644 UyTube_logica/src/Imagenes/about.png create mode 100644 UyTube_logica/src/Imagenes/des.jpeg create mode 100644 UyTube_logica/src/Imagenes/icono.jpg create mode 100644 UyTube_logica/src/Imagenes/ukp.png create mode 100644 UyTube_logica/src/JPAControllerClasses/AdministradorJpaController.java create mode 100644 UyTube_logica/src/JPAControllerClasses/BusquedaEnBDD.java create mode 100644 UyTube_logica/src/JPAControllerClasses/CanalJpaController.java create mode 100644 UyTube_logica/src/JPAControllerClasses/CategoriaJpaController.java create mode 100644 UyTube_logica/src/JPAControllerClasses/ComentarioJpaController.java create mode 100644 UyTube_logica/src/JPAControllerClasses/ListaDeReproduccionJpaController.java create mode 100644 UyTube_logica/src/JPAControllerClasses/ListaPorDefectoJpaController.java create mode 100644 UyTube_logica/src/JPAControllerClasses/NombreManejador.java create mode 100644 UyTube_logica/src/JPAControllerClasses/ParDeObjetos.java create mode 100644 UyTube_logica/src/JPAControllerClasses/PersonaJpaController.java create mode 100644 UyTube_logica/src/JPAControllerClasses/UsuarioJpaController.java create mode 100644 UyTube_logica/src/JPAControllerClasses/ValoracionJpaController.java create mode 100644 UyTube_logica/src/JPAControllerClasses/VideoJpaController.java create mode 100644 UyTube_logica/src/JPAControllerClasses/exceptions/IllegalOrphanException.java create mode 100644 UyTube_logica/src/JPAControllerClasses/exceptions/NonexistentEntityException.java create mode 100644 UyTube_logica/src/JPAControllerClasses/exceptions/PreexistingEntityException.java create mode 100644 UyTube_logica/src/Logica/Clases/Administrador.java create mode 100644 UyTube_logica/src/Logica/Clases/Canal.java create mode 100644 UyTube_logica/src/Logica/Clases/Categoria.java create mode 100644 UyTube_logica/src/Logica/Clases/Comentario.java create mode 100644 UyTube_logica/src/Logica/Clases/ListaDeReproduccion.java create mode 100644 UyTube_logica/src/Logica/Clases/ListaPorDefecto.java create mode 100644 UyTube_logica/src/Logica/Clases/Persona.java create mode 100644 UyTube_logica/src/Logica/Clases/Usuario.java create mode 100644 UyTube_logica/src/Logica/Clases/Valoracion.java create mode 100644 UyTube_logica/src/Logica/Clases/Video.java create mode 100644 UyTube_logica/src/Logica/Controladores/CAdmin.java create mode 100644 UyTube_logica/src/Logica/Controladores/CUsuario.java create mode 100644 UyTube_logica/src/Logica/DataType/DtCanal.java create mode 100644 UyTube_logica/src/Logica/DataType/DtCategoria.java create mode 100644 UyTube_logica/src/Logica/DataType/DtComentario.java create mode 100644 UyTube_logica/src/Logica/DataType/DtListaDeReproduccion.java create mode 100644 UyTube_logica/src/Logica/DataType/DtPersona.java create mode 100644 UyTube_logica/src/Logica/DataType/DtUsuario.java create mode 100644 UyTube_logica/src/Logica/DataType/DtValoracion.java create mode 100644 UyTube_logica/src/Logica/DataType/DtVideo.java create mode 100644 UyTube_logica/src/Logica/DatosDePrueba.java create mode 100644 UyTube_logica/src/Logica/Enumerados/Filtrado.java create mode 100644 UyTube_logica/src/Logica/Enumerados/Ordenacion.java create mode 100644 UyTube_logica/src/Logica/Enumerados/Privacidad.java create mode 100644 UyTube_logica/src/Logica/Enumerados/TipoListaDeReproduccion.java create mode 100644 UyTube_logica/src/Logica/Enumerados/TipoValoracion.java create mode 100644 UyTube_logica/src/Logica/Fabrica.java create mode 100644 UyTube_logica/src/Logica/Interfaces/IAdmin.java create mode 100644 UyTube_logica/src/Logica/Interfaces/IUsuario.java create mode 100644 UyTube_logica/src/META-INF/persistence.xml create mode 100644 UyTube_logica/src/Presentacion/Categoria/frmAltaCategoria.form create mode 100644 UyTube_logica/src/Presentacion/Categoria/frmAltaCategoria.java create mode 100644 UyTube_logica/src/Presentacion/Categoria/frmConsultaCategoria.form create mode 100644 UyTube_logica/src/Presentacion/Categoria/frmConsultaCategoria.java create mode 100644 UyTube_logica/src/Presentacion/Categoria/frmListarCategorias.form create mode 100644 UyTube_logica/src/Presentacion/Categoria/frmListarCategorias.java create mode 100644 UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.form create mode 100644 UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.java create mode 100644 UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.form create mode 100644 UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java create mode 100644 UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.form create mode 100644 UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java create mode 100644 UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.form create mode 100644 UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.java create mode 100644 UyTube_logica/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.form create mode 100644 UyTube_logica/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.java create mode 100644 UyTube_logica/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.form create mode 100644 UyTube_logica/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.java create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmAltaUsuario.form create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmAltaUsuario.java create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmBajaUsuario.form create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmBajaUsuario.java create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuario.form create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuario.java create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.form create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.java create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.form create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.java create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmListarUsuarios.form create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmListarUsuarios.java create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmModificarUsuario.form create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmModificarUsuario.java create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmSeguirUsuario.form create mode 100644 UyTube_logica/src/Presentacion/Usuario/frmSeguirUsuario.java create mode 100644 UyTube_logica/src/Presentacion/Video/frmAltaVideo.form create mode 100644 UyTube_logica/src/Presentacion/Video/frmAltaVideo.java create mode 100644 UyTube_logica/src/Presentacion/Video/frmComentarVideo.form create mode 100644 UyTube_logica/src/Presentacion/Video/frmComentarVideo.java create mode 100644 UyTube_logica/src/Presentacion/Video/frmConsultaVideo.form create mode 100644 UyTube_logica/src/Presentacion/Video/frmConsultaVideo.java create mode 100644 UyTube_logica/src/Presentacion/Video/frmConsultaVideoEliminado.form create mode 100644 UyTube_logica/src/Presentacion/Video/frmConsultaVideoEliminado.java create mode 100644 UyTube_logica/src/Presentacion/Video/frmModificarVideo.form create mode 100644 UyTube_logica/src/Presentacion/Video/frmModificarVideo.java create mode 100644 UyTube_logica/src/Presentacion/Video/frmValorarVideo.form create mode 100644 UyTube_logica/src/Presentacion/Video/frmValorarVideo.java create mode 100644 UyTube_logica/src/Presentacion/frmAcercaDeNos.form create mode 100644 UyTube_logica/src/Presentacion/frmAcercaDeNos.java create mode 100644 UyTube_logica/src/Presentacion/frmInicioSesion.form create mode 100644 UyTube_logica/src/Presentacion/frmInicioSesion.java create mode 100644 UyTube_logica/src/Presentacion/frmPrincipal.form create mode 100644 UyTube_logica/src/Presentacion/frmPrincipal.java diff --git a/UyTube_aplicacion/dist/UyTube.jar b/UyTube_aplicacion/dist/UyTube.jar deleted file mode 100644 index 2dc55b63afebd007fb2ed70f044c854ba9d8235a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 663892 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�i3<yXgIaXI>3WfR#+a|T@tBEd` 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�+|Qc-)3eo;vh_)R`6=&inf!vX%+_?x&`ilX z!rwTDYcCELM()Z!Hx8pp*brUY<N22Q!3Z`~^WkW`g;jHmoqmjyzL;BciuZi~H~z!C zxy-Q4{SfrNYS#QoJ<Uu?Zx6<s#$lf2$2OE`WW~T{HCs7$e$*jT{K|+Iv&O$eW?ZY( zgT>C*l8>(w)c@{$l^8Vp*C6rt=!)*x^56cQIoM8f_-)Tx$-?*n6(&aCK~Z&q_*r(P zYmXXWg}6uBSfO4;C$|9qgn64#twEnnY6p3~Qf#XlLxA%}@T0lIFmu7cKkhzr*V-2e zr?U-nd<h}L(=o!cY(>DFCFklQqR-~N^9gi09mG$y&K5$w>e0My9kYbbz&>m)Cr7>3 z6~k>H<F*zR>ev6)yr(98;->7?PJ>lH&Cy@{4(R^zrg52f=D?vEF9;}cz7tpXu(TEg zQTvS%IiK=#;`2lB#De$vS?0OwJ+@O7B6IhghT!{;^Tmut2Uz@3l56<AW=ZP#_p7sy zpu+v2zpF<5^lxdat4})`M8l;LK?XAi)f@?B#UDDXs3QUWZYuRyRh<k~VV}=`R3L;| zhR^^05T&-b)Csyg;7l9~k-ctMW0;t9axVBo|5JEw|L5P;g;gr?XCH3w*C@7oUb|7N z@+^OgmVIqOJp~ZEymdWnaKkKDtUR`Bw^#(q<?+nlqCe~@*k1maZHtEl6R=#v_!d61 zN4>khOldfSPw#j9{hkqY8d8(Jpwg1iwbsBsTvmGV-B<QCea^Ru<7f1ggs6ufXSx%| zrJW86lHkhxEsd)RnZ#i~nnV(@q)(9Jzh6`N8itq9nTfw!2s4_-f9HSyy}`BivhS?y z#a(yKrfXfTI0ACSo*-VwCiCjs<D=S71sOhl2Wk^|tqiLh++V%28$==ggD+Nw39<fr zXdCt)goOE+&>?(G=t#4RQfOpq(C6f+{Floq_&*Hk5n8IV_>Wprg2T<*<vZnVdfwCZ zeLxHh4hTPDN=6ft6XG*ob8}dWSWe3;D<404t<P^dG3+|6i^G+?o0LBb!R1?(gm?(m zkPVIAH{QyO)pfT2{%N>LIs&2cU_2LIN;idh)c-If(FfUN5CyM@fbDzb$L(k$T)yB$ zyQ*wL4im;<vNR4YQ%OhIY#cJA%^<N~@~X7eEY})&+b=XPvrzC_^aOEyL)39Jy+me< z#VUTwS$5j!T&OM%HHqTcmD5XAtW@iI!+5#gq@NH$>Q@`IFVXR8C*`ee4ts!1BMK}E zq>$rWJJ^ejV&Jh_8eb??PWDtT$cxi?#h8&`HrN^#Z99`&B+;g_Hae}TUw0A>lVw`r zE^dpWUJe&J)j?_IGY$#7Hr21S9Ep*aNv|W|_Ua4Qcg2sL4>(ThZ)e&Eeest$RaFl6 zQBfrg<)>8dvM;(Fq$MECVp=R2jW-jQ#uTdrJ{;YL&>xyjoFuEM<_RxE*cFpK`bha% zqq>d_e;`XvjYRrO&aKO~n=Y!tHgS65UI#R8gUR|^g65B});;L3p39rmOGSpU{zR=( z<171G0tkHmGRYE$2>&uf;r+fs`hS@jpjVFRU0n+x#YY2!ZsSW*7~^lDMd(r@`=a1~ zc@a5|@A?<1rD22QxnZQ#HVisy*ex`XbaFp8-RS+-rrpQ$Ddmh?4^uV80~r~D>1~JG zsEO~QcEbtX>@O3cF5F9*vh0v09o*0Oep&ussiF^`t4=;GOihsy%Vvo(Gbmt6GZQe$ z$aU_r$&|cWLS<RaD%)n;60k7jIIKkEKI9_FO4alFh?Gk5CKuh!`04!HB8*+iG3c;9 z2kZqq)YTo=Qy_;AvY`}sdP%a8X=7Eg;aB~@<XqLIQ>7RlTd-2%%#T5Oe4)m%4{!Q` zO1KsOg5~9^bxy~@^;XziY|S1jUo(Ggec>tTN)XHBet+$F{I2U)ilwX8GMp@WOe{6t z-H0-m7PMp)TUB^G4;Vpj`4_j$A}Il57zfuUt8>v=Uz2*i57N9-P%?mUzD!uSk^7)$ zxXst^hO|YeVZVzB0TMj>V?2!EU8$-?_Vw)B2Bn>3=_t*s0EMx(uxZwaA=fnzd_)%Q zx5?qtejof<9DPA2uJ#H-Swc#L)`KGwYpcr6MM%H_j5=_0s8D9>J^ifyG*B+(W|U$P z5N=%WzYNU%)gK(GzW!;IBF=jk-IT(^U*9HI(7xf+vMn<DisIqg47MY;mqQ_Pgv-BR zLgtGw>PIGseLhK@<BE|Zj+T_53mLlg_cd_!#bhaKc=7FezUy<LQmcg(#qyIYY;aw} zgZ%kTqmoMLLhNnTFjgbOIEl%kx&1{6oUa()Lt@kTf>n87w@u?E-F^Dyl2<XoTE(k{ zm$TF-Xp9OkxGPskct;r=@k3Guq}{l*>W1ty!mbE^#%bbvxBTHB%eTm)+||l6C8EG@ zTCb&O!O%1LC{|i!^a0cEz=KS(3`R&q@Ow}ANC3qEum6u&a!;i9@o`h4Mihm-D3h-G zar_Zn28y_VZ#9om8{&n*d5{Wcqdtw)j*L11Vid=u&0=`1?;@okR<Q6Bp@137Xr(f0 z#`N*v2Ye8QFwt(>uc)4;h2fZ%K`XFN$q4lBJk3tchLgd!7MJ>+?~Sj<w6!s21sVo) z-BP9MhF5f*lq#|(<>68^Pt<46dC2KJ5lD;}x8)QFDwa<PxTH{_*Ss{h8sC7Y05}?c z@U!ICsgTKb$!PxzO*>Jq6km3j^>Y2;gG$>i{w2%Azs$%1|AlF+YNXX!KTft28%9XJ zNSrANfF3Mv5tz<DVA9=1y`Awo?%D4U(#m&zUENZlAl467!vPg<A8s(@i8g4Z=o%cW zSF0M<==jul<kuXQaII*knOw&|-9{f2|1mCwDr=(R!CEgMwtz`&7s;>y$o*~QLR6oY z1DSA2GA5$!uUH#2?XXG&%1^QoC&#zPeG1f~=FiBvs<W5k;+Vt4SeY)tZ8KxiEDR3k zJrk06h#S5kKYmhpydYSH(7H>xL*D3rtBDRcW~|Q9rk5_OUJaliY!}BWl0DP6ERTK! zl7P)20`+)HboR#GEA4|JblpZw&5s3VRC_O<Gg4;t*9>PC3+!hdI{@VAIO)f%NSn06 zzf`~-gohq1gliuy{{dCdqEWgYN$&rEr1dW*H{AvE;9|;gLc{S8I-5?1JP6dZgF_Wj zfijXuAP~<3Jovsk0tmR%H<dw8o1Xo#d`XDA5M`SVrOm>7UDy+SqUr;^Bf{{enBJYY zzZrn-xcV4-YIVthapkL&MjeNhf{hyZc-Y|@=vLk^cnOPK&2iw5+}1%9`bElnJ`cbC z;Z(`pfr5q5V8S@m7m?dB8BMvc$UnQhS7C$I;R9x`{S8N=Q2`qE5S*3RU`ZXTVR3FO zdF<SMrUuGRXtewN-R1}WKR(Sj4&cP?#+USJH^8@)PQ!VWhvJbT<Gw5B?X0wE4CBHN znzPxT<9@l9dSJKl)yW0h2tNXmq}F}U57b`OVz2YjT#t+hH@r>F*rG?SFgtp;RQWlh zpWTXDy=!i%`8n<Q?T(3eF_=r&_ah#6TCwa93Gn~1cNK6^E#H4;iMuRUB`gd?1yoQG z!2~e~LBK8)l@(T8r6g1o6}vmJyIWaAZ0wF_cjxmN&kp|Ixpx<K0e#@(SO3pL_ujd4 zXU^m~Gjr-*IsWj%qUOU)$2T9=wfL5e-zr}$-_~9Az3R=qgU51*yZ2q2H2v`KN!9z+ z^e>sL>eup_{<_cCxAscjVf1dt_RaUtoJt(Jv~Y5%(ib=O8QaJ)J<)&qd}m2vx6L26 z6sfS#=lbRIr`y-|I2PEWx!%VMwyFD6O}q4JytvWnJCi<EI$Z5#_=W?<TQ;sZ*0YOV zsU7#c)>iOb(fXagSKGC>(%(Pb-~8*CTkpR-oMBtH!t{yCl`7vy9Wz#_l3!2%ePo&i zH*)oigQKg5jN1keW>4BLdN_ANsT=kCju~^a%D8wsz2VpC%S?_wuNs^>dtjG484*1$ zUis2lnepmQ%L7Bt+`KVjg!#AYUXiu@WuB8KIPEqpYtn6W>7CCDFS_zTKB$7th*NK3 z2JOD>_;{0CdAj<Mm8bWH-bznSR`s<^xoKUu|G)+J2mcAcPi^e=R$lQ<i=H}vax2w< z9`eyv8^5%59hEWQ-sF#Ax7{wi`0Wwdvm_+(c)5>~>5h#m9c}dWp7{`Zw8fq`(_4%( za9;H3be%naP8`z3fAc=Q`G0)9;ZS{nHMdN!UZS_hvkQi!lr^8tZSyUL({~wJ{K2X% zO}}QmXvYooX<vV9ncpiP2!Ao~scLA=K{W;)N=eY~n0T^MqV!{e;f{nVXA|KfX#rd$ zO-YzviC!5Uy8K+gq&M+*-WfMd)SGjF#_ThIvOwb%()+<i?JrB68V9|9q<7EMs9{|H zH+6=*o2{JEukTgo_!+Osw-mjM(czLO3C0~qoSL2J?LESC$B3(ys5C}8d})`N=^cWC z`~2CcjhCErxT06`Y~7(YMyoatn{+m?-utHMhbs@T8GgWHc#RJJ-weY)%=W1Np@hL( zu3^a$m4@m`cZ@LpnBYApG2zPSMIJ%%J%*NeLW|rn+01d{4i|Z3SlW4tzTMO@llBb` zsMFH+NQXzWg9jL9xEMP|CONi!ePmQnoxUL@!go{(aOpTYToq;6$Rfxpu~?1q#Z1N= z?>Ayd-4U|Yi3uGCyT5C&eZ|;`+su;9<^G9P3Qg(e+g1_RlCztlS8odW<DT32k0q)_ z(T8t6#w{K@_jQ8>BZ8-NuVTNd#_)4ZmLDBOI}DsWGR9!Ezq4w{jC13zujFP7m0V~# zetXaHDJ2J`Rvz?uOhQPaUKFX({;k76n+bC}x`Z$0N|51SD+U&gD|x)`#Ok&+mi2Qs ze<vxkudCZ)Bh&XyNAL5Onny0#G3xQrQBgqyM?3pWJu>`b`N`M3CQpA&K8%^X?c?OZ zM<;(<J!0rl$$pP1Q$waa9XW+-SAE%sj45E$zFyXC%#5jToH)H2HRd>noPO7|b(3k| zmvjIN_}QFR_Eko|e4>o2EFExmNX>c{Rf7_0`;4y>rMGLxh&1Vx?_<Vi>>vqeC5`G0 zF|;U>pfH+N!TXy*!)6v!&DS`;85ZfeVo)v9MqAA%(Bzq;>r8ombW+EQ(}F*7il+l3 zqRJ_K5_%t-6&^4?&S*-rx`XP*Q@u|PZ&T_gJe3Yu?3N^-RO`x&k!z-!kL_kkxmAt& z=ts|7d%j%K-3G5dL`z~ib~Bn)W=dc%nf&1{{g#qMo+K@*H$L2AZk>8_&o&(q88D*C z9jExzx$CEQHEiiNYm421D)Yj7&hMaT7vDCv&nlZ+9vO{pJTX(kb<(T;M*@1xicebd zXyAuF^nASq7wavqGiCC!r0J@olJ}n$+zFWSx`z4dRJ(vRqn;d_8MeCI)uth@0v75Q zov=S-$c%cyJNqRKJG*FRzjDq#h8K+H>JQM<f3?(L=Yps;lfx5duf4kX;&yITqDzXN z=T|!ayJ^d%(jmpySQxe&YtgCC{d?`^1Q}IH?f)qtDRk8k>(89*@{lMm3uWrk->xpL z{&{IoGh$GGe9ZxiS07spXG-zgdoJ2PXTXPLjhfBqrWZXc(aNV+>^vfGJ<ZH*ajO|g zF)vpStgf`{@N8g!-3YtmE4r3iIib|b;7(L=e8H{wWy))d2L{Pz28~IL$#ChG+_dbh zVUh#>@oPhk<5v~iVK#2cv`a-tUsxHlq0Ne3mxmOp6h!S7kH5BhhioNJmIaquQ}q?; z*=fyzagm-DBW*@Dx<4$`xYgQ~&HBiOuARgMZkRittFwCL`GH%<mFv8Ab=S`;Qpc_1 zO*Y=M+t|I+f^E|EGwjws+u3mTwYteML;D=*?Q(5>vC(S{&q~gX>liR|$fiy!t~?vq z=<;wnXSMyc4HrLcxKn?l%zmS>Z1nTbn`hX@uY5Ju*lEkOVYLPrG(S_nwe;T9`P{VY zQX}u>n<~_=(Qa-zw|<=K`*D@zehZGRC>FGt8^3wt&dv9)Z8n*=t-i}Za$#FXy&?4e zwy*a#*Zz>P>Px5a*#29GP1zdph|+oG4m34C#BFo(CC1M;IG0{&Jbs(Y_2jN!l26!f za8iwH)_e5zzFa@6$#9*NRHu5I&YL@aSz5dF#uhD8!2Gd}N@=lqox`||9>yv-Q#w#; z#pik}d^)S_TzW;cbW3{LBcf4|Wy^K7eHKrspTaLrnd2*&o0j4*VD?kH9g9ov9GlXA z_3A~zy|*gHCpj9)dmE<CeWhAdZ*i^OsdL7sBz##K^eS~}TG}q-rKfCzN1d1-e07Iw zU#^~Q7w+E9srIQKy;EoQPMzI3E#-R3khHZE<91IP-D-E*?ir6}e*Wx!EIDRP>CmM; zb{(^e4*MLqIc?VIFT1u6%t)E|EVW|kRx_0IuayqIk(TzwCb;Pdz3%n)7~bFETdL#a z8WY~G*z?>ab*oF-AM@5F+*#1)XqZ#KnCYo|y=Uz0`lY{VSPv)LJ@>y57q5B-isfDd zq9f+*JC(N2sQ0$p*Eln)DW+BTcdH$B)g`IKg#Cq%hh3OEB*S>$kRUR4-oynhWliRe znzq;ipUpct?||KlJ@>B7y8VorCC)A4X!tUHe-GRAPA@ty?>(??;F@l#O<#L$X!eCz z-ZAXAxQkCzPp=z?o4(Ks`M9%}a^3G=cBPbBS<CTI|EnZm<e|Y64t3(A4zK9n_5GoW zUsknV8*}2Rp4$Yo@PR#xKRq1&La*8mqgobe)y8G4tLd^ho}bs>BJhtlN0yd38gwa4 zFQwb4ligB6W9s#cYJ2UdZFy%8yL!{U)^CQ7n%>wm&u?+-8*2t`Ida9?@IX~V^D4*7 zOlY?}@c7*J>8sZtPaGIye`)UtpTp!v-Q-#)wuK$^j61Po{)r{2C#sd2G&j~_=s^c> zr;|?t=NwKrdF(~o^<l?r^Qw<Vr^@f#boctE&3@9k!PT!!I5lAAp6IHBYLwn~>FSC* zH)aj8YQ4Hy=L5>q`zM?}u>SP(utUG|Jzme>pRy{wsS9^u{uvunh0WD7S0Sr-WFf74 z_Qk-n7q4=yUBhI<r~K(-Qp3x~WWniAD?FYj94h9&x74naAFiK#y<Rz@bH<L16V6zM z_ww;vRN>~CsV$GuLFX%npXK}$s*tVw>n^&vdX&?*v$eXMH1|K}vU}m#8;43XI2v5` zu+!mls|Wt}X=>Yk&dYuMPmJqvKDFdUyFzO&q|BLkxP$eL%afDlx=)*5tL(Y1;V0$4 zpI*tIX;3!Zx_4B}tK(reFLkuI5LNc_wuircyK<^^_~!oKMi=?$G0=4W;G35_8C`ko zdgb8y3Ec`^8h!KHhN@S*?c=A0OYQcbb-dYR*0(mcVaL9WIbZYo)ub*7?M`ve+_x<I z{j##>wPqu(t?6=QNMO>&-51K7R30m4;Z^qP?3UO0YS!bAbWPoTy~VfDdN()h51*Uj zZP;$X*)w+6j`(LB=(J{Ty(2e99;55Z-Yj)<?SYeelS8I#yXn!vr_uD9^Qu3(>D%CP z>+9EB`7d}Fe#>jjEz8BXu9sZ?d-(D{c3&LU;L6(u=Z=QmR<uw0*yU#TR}Kf}ooS@! zl3dn$S>+xpz3)VK8F^{+omRW=d>^x*@U6j%>fT+x;o`R@7gldL{b!fk$G#r9V{hoy zB-rfw?U7{3)j<}sB}pfLtM}S{Vmq(%)o&#k&AC%EBH_x|gy^#myH@Agh2JkW{(ivC z60c5OG+A)B;ht+R`1p>l4?cgp@;!QucUNhVv+XvuUifXvZ^hQOYW}HSn}wrhPBSu_ zBk6E@MZm^~Q#+05cI!#kmkIKSuow6~$)HCiCS}}xJLp2v_xmH0ZpUn<lbs(=2z<Qd zM!N=fE=%gR4S(V`r0|f4ueD~ke6n@SWOz>snfs)Z+uTWeo<}!IjK0G?toYQd`O{)u z56!-Hf1cZIlP=+(3q9*TrT%6AXCv<1n}28J>-IK}jbhgC@wn<*W16c`P{pB=E_BqS zTRRp$zjEw(x2}l+XJ5Xo-etUTm8Ufyg?zs}YvJvar(dM6|KsF>KNjtwWG^M{YwfJ^ z`$t;4TK{LO2RGgNG;HR#Hq*im-ia_uILi&Xlla&zvGc~46E`Nj{QlbN_RCk6FW$O6 zHSc=ugXNx!w(Y8(c|$Yac%G)qJKGr!+3?%OSALe~H+KMw{k3UEeTyL(38l}xp1d%j z{E$Dr8@_pCc`d#9T~mh|b!4kQT0ZtXtvAB|c7q2F)my!_9`N>3^GO3eucj7yeXPL= zf0IAQ?-}87`}yuY#5?1CRK`n}%{%7C-dDVQ+wkGG_MUrJ?t7<r{;p;0?~~#e2A8{R zHS=}nNeKa)-}kxwaS~i7k=S%;+>$N_6%O^9%-i_qx@Cj^NUuKW?Hh~vuH8Ov+jZ*1 z_~&E)ct3gX=k*z{V;1R;t}iuoZT;%q<uys4UJO{X?AE7=Hv$*moD<x9$?`vXbCW)g zz5V&<-p^r=4Ey&l7t<{I`JhuNlWR4-R&LjsON+`aQC0hzer)E_QnzX@{Cuq8_o%&J zdj_i3H?bL?n6cJ4=G*y&-`r%&NBr?1Y|fs>4&NUv%6J*^J?#DVmm<@4<S0SYc3fRc zOSNkxfr0B*EoxCz$)#|nRAlmM%aC>JH*DOr-dJ#^WE_yXGi}#yc)(AMNI&Q^;mFZr z$4{I*HFDCFX)_FG&z)aw;i47SmqvxJS-tt*=9GsI_v5Rj2Ve9na{ATlH*Zg$^_hMl z>C%<OH&&Fmb6{d=@5A%=cY0=K_uHY3<qHph2mBE|i<GN1Xu;NzZz`?z+1FH`vn(^V z_mX2lg-Q>Yb9CzpU$3*v1J?H4Q0@rWxjQQyd%OHh*D7uH4D{K)`ox^+Rpq}u`J-s_ z1uh+4JAd5vEMt;O$KhsaLEG1L7*O}6>$HGy^EPejwrf1GUDVptwQl{MoSWWm-Mre} z-ac#hNPgtvmg&_ap6U0hXqedI^5N(&#a|w93Ey*WcW{Y6Zk?F3=+n&?UXwZHuv5K8 zOt=2M(_!nf_P@1xI_$yDD%C<4?!LV5(e(w(9$s)R*|}5ls#c5IY-oPQpxMR-ewXa# zsbV$_ioE|mVe)xDzq4+35%yn;zmAP?Ytie?+~~89&Rj5`Sbfj{XJrXj!y9`N2lg9r zduZzZX5Y?5KYC{1-PZi~Vms1n#0+)6+;_u`$6W^R-5zr!aC%a|g^4Ab#f}?V#<HW; z@bUG$jYsVMIMb|s@%FRsj(hET_F&nvrB-tpLw|SdxM<ABsjH1c`@VZ(*rBT7u`#xW z+wXc!aJ2kXeo)=hOYcuQ|EcF?_a-k#rq{VwtJSetf%j@y#)qFYs5mX8@9H^KTi5y& zQoL-lW2XzZdl}a_DfW`G(sch>9^I!!L==16!LYLO@!}EHEy_&lJu80sjHvI*-}JnS z+dW;L0-KAay&ts>o$NxMKJg{-kEr7OQ`4(!RuA^LTVuxgV=GtOuRBLMHpI@N?XpFx z5yPSv%Ew*|f8v<lb)DhMt$ORj9BbRxA9miyZ&m8fgT04!Jbfs@HQc21eTS5XO)hSg zZQ1#>$2nC98B%oaxZ`tNO5X8PO&hRy1)X_xRnu*E9?d&6Z}@;t5g8ugi+%5g?wWK} z->G!7wOqwNYcFxwQRr&w`Mu@_RbK_lZJ(5wd2IgmXDuhVy7q3?cc<?b4~M05HipKY zOV&Gbq-4~lp?ABST|cx&r8kL3d-w8uyuXrf(c<IG3!l6__;}D&FSAzB2{A*BiyYfF zsqf6Bn6rPj?Y||y-yGKm6+hgG+CL}a!PnTKR+YN%`_1I@nB|u{HjS-*?(5WNjjxS6 z`qd)Z=f-uzTSJ~Sespl$i<7ncOo)DBc%x5KXS<s-ZuY5FValYq8+H0w(;ZgBrl-c2 zAHD8UrBf5?6h5ct)5voDwV=tX=06x0JIVU)*d3+=+6@{v@cPY_dq=pNrGK61_i$>U z+vNu%`Rk7|9uI#(Y)(}fIqBY$6nZmlfFYR`_~@j$<c~Y!Z!A&HORclK;?0QYOW)oN zFui@a&!BCyPJU>0e)XOT_qMI+`KiIeqPL!3m_CjBddTfsNDJ5N6|E}1D6yj9jR}26 zc^~*V|Il7b|1<G>Kb|}<Gc3Jf#>T`sjTc0?9%#_xq*1RS`x+0N({HFz>&?Rol`j=n zBXs?TE*qVTy*bA<o>QX4JK5kPF{8p|&W;ZoPcbR7&uU3f<?_93Mwaq*Iz20JcsjY} zIn-6Z?Q>Nn*HG)JV}|wLcWTZD^19m8u{AxccCQ`^P11ebpW|A@x7J@=RrN>dL+NGy zc+jWzfi+S6MxMC6`0SYK`YJ<i&b|zf^r$)R<u;t2wD?&&^SLGsA2_=AO&MyD_H}D| zWAC#gy(@&ATk3eM_L$%6uGXJ^=|%|eUFu=t`F-;rRe00%>AnrK29KRv;qd!io!Yfj ztlq(`Z9a2E_l><{C&xZ~`s(AJ%N@-uEgjEU8ZFrsT3BMW`$3yeA*)AsFZH%gjKzXl zGoN~{IJ7FVd%$hqgJb4Rinp3K?tZy(gPk_a9C;!9LCCR<?`O?VjXiI_BjIYzGKR+` z)z&7w_gmeh!^LGGkG5G<9^<k5Y`s%gLk@X7tLpJy*6XZWwLh21He7QrKdr&eqt9y< zzUbTWtNFqnCT)kj{?oKh<7RE@o82E%QQ>87HlsB89^){ma|v0-+*V$b?s?fyX=CBv zVOHB|6P;G274>yA-(IGR+o}mmhm9y<;N#Za`rSHD`%XLejdQcPTXgL)6W<0GYOP)L z%qDJ4l>NgU*KD_5d$+OMDeF$p9h>>gXzjPqXiCX1F_(giCa>#yXkGVXYpvJ4tfe%s z(8ICf@a9MAa~r37A85Jz$*%WTY@){(suouF)0H0j>z$QJQxXlo?AhJmor%wgDwC(! zT}!(q8^1!K-=NLV^6Ni7Ubv~+LHXp*SFbgh)MnPH-yQpom+=M@6szmDZuZ!&vw5-0 z@Ts&h+G6U(+kPp7-i`232K{-{eODV*>jS-C)?Rk=_u`XM7a6r&z4J@b8rgP>Mb;Y) z#@5c@?QNS^w}^8vtGH!r^6APAiuAOQx9UU7?4*{}<}aT2)wjWW!;bq#jPW>J-0t$m zjuRTb`?fOS2A$ky$CR-V*Kdw=bRDx|L9ZpxhRzSIJl4Hxp_Y~o7ahjMr6j%C+HuFN z`D+^t?_9K~b#jL_`{eeWW4r$O^2#=k?~dgwlnPPx-C^(Lwl!gf`Cgk7!)NbazqoOS zstWf&t97wSD+V0@*v|Xo=%tnKd(LQmV`0^{+fTkT@f)?>HvMC~p?%j;(%KJQkGkBq z7_r7B`m3!+Qf2$#v)k9=OR<d}xwqlDFFw!iZ@qWFKe4tqJsxPzw^aIa;TK|;`3@<& zp?t3y*M8gW`)cZk3!WV<uV1r?abL6~^3?M&i>qHS?;f{l^u!6bZI(<tIH`>lA?3f< zs2p6SW{nz7R*fT+;qq8zWQ3KMJUBKoI^L?9Rlk1ys>>1ILyV~&92riCOG{rpeHkHA zLQbSLZSm#c!;7f~gs`6pA;c$K9;%2?#5lzDj;bCN5jwVI^QMJlrI3LX^6~a)je8`1 zAyPwJ$4DZU;YMRxH*G>To-Xqg5Bi~v{TmaqWwP;CIbaf_DDQw6LJA*bKRVOCaA`se zn)`S(Zri`>?+b26w)HG}Bs67(r+vfqMr~i1jchx?U`f%6CWFqEbmvXd_2`H>AA|1Q z4)*rzUt?H>sjIy`>`N^R^4;9Jm+=mRYtw3<-JW<T{Bp#Q#BcB+x8Zu<erW?A54@Am zb-<(d@=9N>I`w;bazWDB-F@aSnYQ_Bt)fe7zinPimG-FT<ar&+^!4<-nqhe4@XMWB z(mvcc?wvaD_e1TX+m%@RAi3Yo=t_gf?fkUjP_)eu-p1?Z%D59<!sAv1-fcQ^*Ofa{ zTs|tM+b4Cf?jYl8zPWg+U4-WY$J7JHyLY)CIb*Y}LQkvL3l@}KanLAkv?AlKp~F4$ za@og(9zC6kbPF^&^&qT9sFmW;?hmaRjI6tF{?OPrlM-$QPPz3Ua9@$9`_64^eQ#*< zu3<IGo0j`F<hzY2*Y?fXz?yGgcX(`bFVX8(BiF{41DhM1s?_HFxuahmcx>~yacAL4 z$wb%KV-sI2o-%r6<=Oic<rXh2xiL8LUg_RF_t;J?d|DOj^Pq$*zU<8*-phyEUycx- zJnv5NsK3wEO0Rx|bI9heSNs-s$N#!7<C|HUU)db#?`YfNXa8?KOx}KTig%Hc;}1nU z-R?iT!|mnIi;XE->A8dNgCd*W>}ePi@cRVGvo5!Pt76lz|F=g=%hs_uf9%ukZ?!*l zeW)DRPhq#``KE2BYEGNudZ_=*IyKjRDc0}yCNf}VN_2dxNB#Yl)!km(MV|0I<GtMc z_Pjs(?|tlPSKMd$_*Hi0W*#kf>!I>S{k8qSQYf;vYyE~h)!wpP!mTG>#nzuoe|ED@ z%EsB#y6p<>Ixgkb6)V#^Rqv6Bu6KH;Ec27ED>rl3yEE0Nk1<z$ZguQ>;M?UM^EY3d z+{`lQX2--WU1Q&LtfRcXE!nGr<&y_P?@omS@J53y<9D=e=GyZ3z<!r)$JV`q5B|Om zsyXA$zF{>dbsJE*=+cw*8`(!bo|SxSUW?e)w{E@OHRI#rnOxt!dzx2h7_=;^$LfdG zx_+F}xpi0D6+!#&IDIMn$8T@;sb;U!i*$43SIXDV>}uJuO>*0%K^@c9HmMNN_NdeO z;5S9Z|I3<mP3Y;dG)VgSZM5geU8M&(jvZG1$(a+yPV92#5019E=QVQI;tu!kIQtbk zd)e&7!r@&L$DZl^{Ka%Lhd<v8{<^|_Y0#(lp&2J;g%0mzS^W1e^_Lnh8o2wzq#1RW z%=&QZY3;FJqrQ&zHS5!4VD!T;O;5KBs~uFSLl2|EpA=VZB=3Uie^u6uO*+!QiS@n* zRj-#RH_^3>;mCA@fYamrk2IXVJ=xj8I)3)$egpRn>U6nDwQ##RS8u0nI9#prJckZn zr}T^87Praq&)+UyXxL|t*@@lNN}Nq<{B29K+O4<rcdh9ApyAU1mG$0riEnL-jIU^( zzHF_cXsM&st5rFDeRs_1H`~|uR8%Zy9~Lv~!}F05m#<t4PpZvL8C$x2hn?4+HA|gV zw%)PysaIZ9vhOV^yEyPtXoyXb2I*&-t2(KQk&yCTUmqENIBD7zSLf;evp4!4t6bE< zwM3uZ3kL@_bDBPNm&2akadp1jZ(UP%%G|d^kL@nMt$$NvV~Ns!-p8b}_2>4j`|jj; z|CF&s=)JFJ2ZCX<U{bRx4K5saxp*bQe?{od0WYn;l)5mrz2&GKOBd|?Fl0}+MwLv5 zzklj&KY5Vhr^dlMKOM|Cmaey>!I3_++?OJCyq|Xa9{jZD&B)r(O=K%iuIw9R`=HQ4 z^NkH_TiXmbjSaGOD*s1%@MG(mbCPZ(*gm|wrO^ey_rrPD6@||<JD%1*xlTZh*eUg0 z?N9zWcfnMPD&6GoZz?7}-7=%i_?RJjl4Um%tx}2&0J$YTp3OZrHVGP*Mdpu#%wHdW z)}oUhA?)XXR4t<wF^Y&-c`#NC2X}d_A~Z5uDR<}*9o{%BR-PGQ?N~iHOdb<+{QJ&5 z$mL8b8WDYBAtMF^OF{`!nj>X6QkD|K*q+K5>l&0)@yjD<7i4l(Mkr(5D5+XG&$+6! zr$pa9GDJa15kF;wqIq0+cSUqtdG|2HnE6Ep%fs5s(G)zZBlTI;DB*n~A{5c?tThTe z+UK=IYe&?yP(NivNMt|vu*eu?L?|WYD*N@4_mw-y`^7pa`l2HpItU3oS=fcuQBTn~ zmXb0*OGb&TO=Mhju)<5pDqk#n=T~P%pqZW#!D6}oirAi!Asn&fNjYN06GOuBSjQ16 zPb#46^Vsv&j;L6!)o&akkBU`9Q&K69peQNKhR{7SJSs8*O-IM-Rc6hX$%BIxF_;lG zFekk8KD<BcuPW_{6=omXRKPO{Ydt~|{G`N)ph$$=@XTUlcJ|4H+NBW579ou>u7*fM zNEgE6T3k#8N0UYHg!BS5iWDZqR1K@K8kUjWc0%oU5WOr=G9f!mok@@uIHOE(M#PMm z1B@Oi3g8k_3<Y9m1cWI`3Jb+y6620PT{NYIXO(XY6lK5splQv2(6lDd)VN1va9m7N zIp{(NC6+mm)Qi2&j-#cs&pEAB|1lJ;NlEE!C@NH|;4##ZVQAA|$55@_Di8$ip@mVh zOpN*^1nmg~Rce7N00d2&YBR|f$jN^BK~SfE5Y!0>D(kI?XG=>A!_P7~@Y7cjpB+0b zvSVjvn*SJXI#FVg4L4D#g2zmp>nZX4b<E7{sRF^v-dc$CH}NtYcp0Gut^n|In`!%m zIN&7v<p(dFv*D!;+uveqYd}iNuvoLrE%sX+Dfj<+i|Y*3ECMDG4g)O}(LExg!x?_& z+~hVEl4M8G9GhJ2WWS81R>H29$0kq8V}DnHCl!fxJ~p||*vko68YYhjb!gGOmm(M& z^0L_wSFEa^GA0&GuY%n8I{nR!uXZ11;x8tlu=PcsVC%>>x<=T#V&8+%kG8&SyDM&e zW3ifMZG8(1>^`>jWzg8x*A%-}5!Mg3z6_MO_3eu+{j|UtVOz_%hpa;8*z~fkZ!tVc zu<<Q{yFPHqLfC7w>gKxjO<z=J+^=A8t$#3BDYvfm{}6*~{bw=Q`M(c?2Wg?4EEDB^ z34@0KgA=vD6#xdW`E7>D5F0|+uNsg(k30lj{H3R5WDL2^E;rcaCcE5Xm)kNjmfYdU zUDn=vMu@r3E)S&Sp^Q8tkJ-Z$jyz=@^Nc+_XSrUm%kS**rHs@kf3VOi8F@|Ku*+Na z_$Pbuj%9n#E+3@iBfEcM?><Y(7a3_pzA`Z1SoC)($-o08Qc8`fgzCwtJ~c3=hLmF$ zDMyWD#Ev|ZQW@^lSW0<zFT~NpQd&exO*m>QBTf_!k{?lX87)eSakRLM)DbF8OK`L# ztIsozg3abCMwUWVXlag?VO3#mqh;B}lB4BVRjj16JiAw5mx>&<mJuIn!yaroT1iIy z$TPsFl{s2PO6_E%1+_;Jv?@od$w(WPvOcZOQ3n}mFFw@ZsH2Po(3&ip6RJV0N~tre z&R34sl96sKnJcX=rFA%3S4M)_b0e0ho|M*?QWuW8vf>-ah?2U=XhT}rh&G~)*<%wK zb*COI<jF2xGTM}SbJU03o3VGkEZUD{_h*;ptdm=?E@5LpTe5;$u~2JP?KVcVEp5l* z+OtasDeWkw0W7kUjCQ7hGBTQW;b>QmcH?MJ4lbZxOgvatrTqLNLzTgD2cHOVzaTAx z_{*npNVqZrRF&@@86BeVQ1p<;g<%6Batr!9#DF6h>L9#}c4)$qL?ba592piF-NF}? zE9>0i&f@S=CcN~Fj*i4eqezrIHaapQlhcYbg_t8QRvG3Htq4{0cW5b(MSWN$3P;2# z`ew0Z8K*OAZ__3=8g*d>bdQZ_9IS|nm7{=SLJCbqn>C4xjg4fWjFHG)9ucevW2v}a ze)8^$FmMEm>ZTW>k=#g~pk__X_+BmL5sI*yH~?i!EyT0bVcq=|5i#;!;Aa}e_K$5I z8Qwh_;gY(*+ba6UdMOoQA;^-+1TLy|9Q2Bohbvq<{W7yRUtH)Yc{Es;IzuLwPl-Wz zWQaTro1;#6-B%u_43S4`4H<Zyc%iS1RfHoA<Kb!zi)Vi}6xdRuk%iiT)!y4*9wqRk zIVuM=prnKvq8B#Y^4Lf%z{S*kA?#h%<I9TD3znmzhDhC$?N)P68Gm_fFkS%xyZ?|k zYZxYvkBkExF}r4pG>wjoi}Dj*p~e<jb4lEa7W~1Wl-5klQAW|s*&{HR^32owIXBNF zSRUS8i7{j-sfb~SYOWilMo;t1;&F=3E63tzyb4oxsuG0+`H&*yI9h3o8G!Kr5-vL> zlK$X4Ncw{+Xi6whE@2kf0%UPy0WH|0R~B4hLzoAV4Nne`y*$~&E=S2Ro}`n5JUKy5 z@?;5FN{JOC-5RWm3X}J65T;{0pVo>PK^}y3G?*uo$rPSUB~vJ+T`PBPT&<J5+JN+_ z>08o=rY}h!o4zJ}V)};k>FL|j=cexr3<<2(t&4q?z!<y#k4ddL8p4CX_Tb4hGF|6f zAW}!xwP`$=L1yw~Cqguo_T<STvY4kz+KVR>$s~^U=4luW=V=6u<jHt4fu~Wl4^N}n zC5HBac!;O5G>#_=$y~4stUSZ4KpdhXts;bF%t{dxo4&-VuRJ(?LnKf8(tbQS!piDT z<0+}gl4}xz^oJ;{Ahok{ssR|$@?b3FiWr`3C&^%ZvZOsC!=pj;0n|z!)<Yf<7oNT* zS{WS4(E&UiNE0|Zh^K?;5G)ovO(Yw5I+PB>nvs3oZxW{r!{!6)j}=dc(-D}jR`GHx zMSsTA;OR)#F7vERnX3}kaBsO41R~MV%8*E_xCkqSxHB<OlR%*)%`|P+LRiY!I?vNl zbTm)L(6Lx#csh=3z;;A?N;eaB13Z~e7En@L=S}9qudY)jcyW8elUZaoPv(%>*+B~1 z5uPNGxjdQ2Mn{m2XtJy6YGg!AtQ<l}o{pyzu>3JmHhNzz+~(;-j2N9nC+CBU<j8Pw z3QwofX_Qosj1F~(P{eju$RlDL!j#>a{1;o9Xt_h<?lF;Jaj^<<{p9I%Is>b|(Cth{ z>=ns27=~@-JtM>A4CG9n&Z1~#o@KT*c{+zC<s*X=Pv_EklvMlcO1ra;i-yz;U5C2O z=jj5v5PQSSy=0zi>CDqbbTM{{Sv$-;=f!c~&_gK?i-df=h%j{O4N>|ANWshcM1%r^ z6qu-TD`7WmmG!#58ZR{SL2E0+(<O8%Yt=H2F6Zb9p01*+dAf$K<LG*xZlD`^x`}S( z={B0oQ5B0xLHSt-)23%+bSzJI&{Ur8q`>xFEcI?iZPqia+{4JgVMYe_(#bsC$1eNn z0gk5g^dKlWJwy-l^awqS`Jh#0D+uh1RItLv9j%gw$g5km@a5@IGKHhZczT?k;OR+5 zRz!Ty(lgL7_46a67tmkRH_bGCEa0qzaNO_#bpkB{5fO{iI)kV;lo*@JK0ZEdL!Kjv z`j{e|e!`;!U50A8?O(;cu@>yC^G&fBMJ&_ZVB6)^IGMyM`zqQ-qAaa5L8g*{pkHAW zs)!YjU6>n{tLU6BvY*NdtB-eH^6sFpm`pq}`v}A$Scyk7<kwAt4KOP}JOnaHRc3<R zj))wRGRg*$s;-HH_QoA21f0-tLNJbvY!?*;B@}rK&I*Q#K5_Ce96xn7`y!*-g>CjZ zbczU8CxzxXfT1u9Q$&Qu_7s#ZeAp@L2gg_}m|<8Bw9YOlwuGjx!iY4Ej+VzWJ~)~# zE*HAdz-b(F)U%|xPFBtAK~AoxJf^wO6Z#RkbcnifsJI;c5CIv(PbP|17pm7d6d;X_ z6x$DWbxhC5e*TapLSa=ir(JWMFItB(bq%y))ZHmeZ4L)3c6_45NqYjj_moGs!DuOP zYIYH)nus^zF<o=!!Z`PU77)e(1E*#fu)V&b1;$*M+DK7ZC`ihNRvF9Ges~12@ly^E zRhaZE3#Z<EYDAgJLqfzwFiVtCL8~tmS~^Oa6e1d-baBnXlB$(KjPsXApmU>zlp0jj z8WtCkAh3BVE^uaA5Lk?m(FAo9&TyK7DJid&POO?v0wG&rWCO9w%9K+arS)3K!Z8vh z^sgQ=W3ALGCX0G#jlBlhfJ&?f#Y1RTi8*^vH-%VFAU_sR$d6*#z6U!V4RSD|&E7C| z6vqG2^q_7$BdH=O)`>?aY44o0Ry6CzVam{maDioEq!s4;JR5uXG;fNns17yEH7mpN z;AjQ*MlG>B4GU9*3CXZVWqbA$`%trb<PJ=i{A#DsfrdhDe$*(Pgun_6N9K@G(kR!F zWP|;~rs@Dh$!3_P-cWKJz(z!DEk{p*#iMSxda!eAsE|S!>|$b{iNqiln-z8DA~|C0 z)w3Wsc-a!8a+QA6E!mP%(j@;qkqrilGeqw;l}AxhU0BqA*oQfDN?A_EC=#^#epG99 zhy4(4_OUU+*tAzf$6|5T^r(Im7-pD`a&2`~tjb8)B1#TgjB^glrHoMus-NtIW<Q`- z{L*y2?skCTTVYmlL3vX+d1Dgv>xtD3#Q_Sqaf(nhkx_DUo!(|_T$Y`sYJ%!%QW<pc z_G#-0o|$%kh?P+rV_*RmXAV<Y)l{>34&d3Qvu?%FV2~QnJW=~qkYsC`D0H|;v#o_N zDGzzYSO{U5$QMUlTnRe_3wJOUggbZ(!W~Cy;f~WY?h<wg6Ye;N33r^jggXvi!W{=Y z;f`anaK|wlcN0i<!Qa4j8J_k+=nP#9(#6icObRiyOCwx>No7;A%EU8;NRx??5MxSi znAB3o$n4CFcMv|A6vC^*0V$+NGBJS)r>PxP5i>hzVVbK*(PUE0ZU-r@A|;YZNl_zn zIf}7^V49FJD6|+v&BgItf;d6s>_*CxCd867g~n`asE-DsV^$!gl~_5llB~iLQwv>9 z)}ZPvw3e(xCrH@#UTh4V29Y&u%t>`EEL5bFij-#c+fGc(%BV=$Bvf%bu{0~EB37t$ zdA;@Qm5Nj_v0ScxRWa)odzV72=c?b>WWCu=N~RK9N>rqhpM5H+OmXJ*L7)mH`$%Db zma(c(oFgkPjo6{1?9C8WO)RgPS#^X}#6b<x&a4coskeSr#`aaDkRLU3G^?q%gE;H2 zM+@a76;Nw{W3pSg>k-zM-O+=DSVJGc2EAvCf0fXml}S}nh15l;F|j9}cxp<jqfZ@3 zXF%vi909F18HyAWNIkL<@|vy0h3tULXeUNtH*)PG4at58u#OY=%rO`$q@9Vn?1$>W zCbC%=gOloUVdGnzNUN5z_)2(=Z2dxfKNCq4j%+hR4)9XM@gd=OV&hW`eNf0=MQZt@ zLu%_UCI<TJ_15Es*f29e^PnjT@<!u)psC=SSrKH;oD9X#`!fOB2s%nBXo7^Wia<%? zD>3KLWfI0>5{uTWig+kuNE%_%*1=fRO(yjatdF2eGBHQc6~P9{#4Rh>5Wz->ZJbOj zvw}^sg6?((D&lEp=A|M{?etW{8?Sr<Fs+)Yh%ee$FOB#izrTt!$CG&)X%S%7QqQDt z3TdSxt;MJ|EPY!QX(v9mXOA6Jq$A5NMg;_zSempnrI?~Aq?3wtMzos<OJ5BukVTnw zQIW3VyKW3hkc!Ch$e<v3K!7PZYD#9A^f#%T38rCAFb&PRi(v3Bn1Kn&0)r@4ne0$7 zy|o*rP#215q3Zov)r)49*+fX)LsNB@x`|mRLj$p{c#mumCPgKZ%slQnOK>;qnUx3c zg`!+FdD4h7z)nSarI6l!?2gG6W^cchgsVsdE63!!DeY?VT}2{QBueuFiTbEtlHb_N zXgxjCAsH$Xt0HkK(iedGWs$Nyf&yD>DD||#<Zlat)egwk9s=SHAY~niKj{Rt>x@t! zh*cM8xCTQPM?uDs9-tMyLCB)OagHXJNDR46V#!MqPi15vElU!pEg3{>kzuqY89{@| zNIDqe(W#K7&Lv~%Rx+L*A`|FoGLb$alj$39o<EbRG=of&6e80lCS<C_oXnJzB(o%C z$ZUxnnIox5k|ebdu8VjVGGEdVD+431f_}ZEk%&=%)ST=B34lz2amCe0yIM_DYhf<* zPa-wYLnZMuNhR?Tf`B=rs{`<Iph&|&zWg)E*A@Wb1iDm1joh|CSAqqI!}3!UbgV2Y zQXUnk1iEeqDsPXDaRz1AP=9+hy#ex)TA8R{3sh=9V6)-ih@_XA)PSL{u5}37z_PGe zrLG|(`=~05u>`UvFpM3PHJ-%<i-nCsab_TJr2xDfh+}3yVKLGyLsshIB}`_ZF0q%o zMBAT~h`QiyF%=n{y<8Q_O@U(94wRb;g1%F$T-(fYZBgzalqX@FEOohK(XnhnWCX`@ zD;c69i7bSlk%|muLCxwjOl$QSp0)ZQg+A+!+$vWJD>cECkYPd;L+92(1=#A)46+l} zF}zr`x`GnMXIED%R9!8$-m%Ka)Rj>eg_@2KYsz{=roV%X%%xWj0lN-^{vW|KISTAL zrd4RQ%t9f&Q5Tx5o~v#^<xwWG#iY)!PFfQzmQMJIE0VZvIfXGggZ<Mv)aE>v+Y6Ym zzah<Kq`Zhpdx<n4*Mu6fZHu$k#C6LYK{s^Zanx2labwgI7g8s66FRG>QE4_FB5I)n zbtZ1s+!0sGTPW!^=FT0=ox57|rgUbhrBUiBs3c0sX|zDx`PEk!WN2rfLJYECib{y4 zT5t@>S@rhI5N#LXoJZ?(fuo;yIGD$%&u{3tT;QmUc-S`Quj+%|1e{A4g<RmM?TYdO z2jm2BuH+7f=Dl5vEJ?^!)LequFb?--7@uI=*<UyDhIK;xYoosVh<DluN;NARSx|S} z*AhxM<Gw|o(x$k>zDd^%>DBeG{rX@-#ePlz@MBFbCOUv#j9kr&hbCgaEe5Oo#1bzD zcy@TzSPj<rnQDB_ob2RQ5SD`u`Khm9J;;Yg#>FVy!<50jbGJ+KXYaGCRp-!T&`O1~ zptk9t1xyEXG&sNJgVpji$~o<mgz9BlLD=U5+7C5VG};G(6`^nbhFf4hXc=f~^<Jhv z_1`fhtdBJ+OPl&{84|kU4ADRfTmjfaq*Y1Im<sG=zx-lwc4NZ4*hKvQMq*}L`0ufg z$R8$K<!&R9FHEkfqfH@l#Q)k(qCnAGP%Z+aIUgj$B|CbHoOulm#g>{G3S+Ur;%kDP z{IA$cG}Ka$W}3gEfx|CpTQ^1pnrMM50B!5Z*KclC0lV2RzZjm~8u1?tXU2&<)G^}} z5cWlcvSnH=J<_mPML87{4z*E)!IlV;YRzne{8g~_x7A^I|1iVfTD%Ja<)Ocui)oaO z3?i4xXUWA16!`@e!1lj@{COCd0wDv<wD9(Ck^w)E0e>xU1waNolAYV!DMJYRIp%Mx zp3U$g6ngw*C%dGv%PtuSA-mc6d@nm?>|>$*EOdaqO=p*b#$Xy8=ExBlHZMnII4vJH zW_ph7a*89c<lxB}mgTGrr`mHIIWHv_a5Uq{MP^)ii6fU~I9eWMNv?3@s*Ih+*~2xC zS%6rH4>vew1X59axWzF$5L@x#4oiENU0@Cp%*;W8$pdzI$dN~^f{&%-3A@84Bp4PI z%p$~zRkRd&!I9sk%p{~X`GXbvN=ja{`x}nDWp)m*2`Nk7am*s5q4@BDV`d>u$S0Ql zGpil)z&6B+<$-B}H%n&AY(y#wHX>3ms3;h3!Biq6%>^?N^1_H3P(${}$*7bWiZo|d zBF(8WO9wlVU|I-3Xkj#h7D4Z-twjQ<8GA72Xi;W-0n?FUw3w6@=LB;RP%d5HCbS0- zJf}vBUYox(b|{j0j>CEi?G%Vj#f4T|>JR!A91damUl<x>S`L8RWHT4YVO-!0X1m7F z0D52=Ljwe}<<uA&6zbI`I65*cj6FNo$*#)YEbArcx=z}<*`Dj+IV>hNv)xdPG1npE z%^2MS6r(nfy31qZm^nkGoGDy$_LCcOnFBThAaAXRijEA4WBzsk3$g8$A&N+pmU)~l z5c>y-5?V-bjDr%jo20f&&{gR{^$cO(pa_Gam8DLL)XFOij6X|&ls~g>P<z<P_Zc86 zZ-y7eb-nt;M`=9!XshC6>M#9ZAhKIvz|P8oqoqK+I9OJZ^FKU;=FM6n3n9dfXu(@c z6wfL`ILhXoo$zx;f`!iPZ~x0%ph_Bo;~|fgx5Xeic!)FKL!p`bZ1Q6&S>%#Zzy`cC z6_Le5kvV%o4a7<6*BUch#2T%aocI#FojmWp+(cB>MF!VgDkan<TlE=I*T^dXu~lxc z#wi1$sco!LkjxBbs*$U`Mu8rwvKsKO+_B|(Z_Go)vx0}XX(5z*2{e2M6R66U<*6kt z$3qep%2O*^o+mwtQdAqK6$H~rp4w1bwf`&44l+BrW5DKuIPkO*Gny>T(<;=Cr}ng} z&c<2P9OP*=TAe5TNjy&-D8`|HmF*oVPUyMn*GCh!SZV8=sIB~X5=NkIs+&ozK_5Yw zTCGl|ti_UtxG)Y#sPmd(0S}oXY$o~=7)K<arKAsg?8hDlLA>}E+W1Zs>$|yzK^d*B zl3$C~=4l;@RXHEZ_4OzezJI7(k8g+a)Ri{C{!6__;i(&~4PDcG@E5G1_&=C7<SDFH z^O+Nx`c0^N{uS>BQxBecQZH=h)btIC?=fg;zUmFNf7sLV)Q46?2Z-bnFp9EKtZtP> ziPN`5AX;Z4Xekl#v>EkfJ>bVte~vciX-nFQr>$vQj<(}zd)k4g9cgEt2C_>RSY^<z z?9z=^<w-9BLz^Hfhqj+uA^GP^0uNioV4jAs93^t*5Zb_ue}b`J5o}XX@%$Y@b&*7) zES#kUCYXC_Fjse7P@_?HJ$Y+w6v^eVEU*T!r_fa^$IvpZ@`BSm&%fS$LFtI+Pa9lq zDEm{La2Zq!J;M~DVylkEyOx?RQ=AsIq_El+)#o%soK0|Xv&sZL{{rRkd}(#-)L%<u zKX+|!ro8ws*22y*Cin%h8B^gFHl3`KMMpU~Rk(E$2zrvgtW*7W6uC>HuB@7wT)M0} zL#h5R&{mUHsD2TQN_(ZEUla_0*d6HnkFK}c{y~FvT5E=NcCFt3GF@*lMe?QV{bQwM zE<_m<1-lOH1~DPTiKYk<j!szf!Z7*d(QGEkV{{J>o^ZUNHb%^3FY8ze<$9pSfrHs1 zX<RA%z{IG8Sgg3<>lDPahSg>=YPn8sgQw9N4hGi`p4#!l9vWA|cF@8d%R257wzm}S z*hva^><ooFwuHhR+fw0<t)y_rrct<Kw<z4PQ-)w>fDj%Cc-T+sJYz$t^~_vTVQY_T zBBZrlAl6}CU;7AJ#rn_$Hb{nYF;rR%RfJ0>QmEw^F@0efqNJ(Bn3CpcgomzVq5AsJ ziY;8<z``Jv6k%Gm7A#~!p}}HW-_Sze0uanrW!z`#F&0oJDhhqG=G3gXSqZ4iS}=XH zl3*hCfVPr8v|O3Lts=NGH?%xBx`pu84Eo3B&^ap#U9)0P(<wn(BDMpxkUN287z~DD z4^kSPS_YeGD>4kZz0sJK_zg$b8X{L+GJ=d0RD2xBC^8x)g+j%HDRM)|gFW{+sB*Kv zKG3n9h#IlbB-n{d1VwJ9GbO^9iuBX)wmQ+zfFiCTN2YUR2Ia_1j?ChiR`+L8E(1DH zdg?a>@8&R_TBhnPbhVy8c-2g?wF`7lOQ8dy?OX=IvItrxlX3`JAy__{R6wvIg4W5z z20>c{D~Xz~>I9Xu5>&}bV27YOfqhnjs#yuDF(p_BJF^-p;>c9$YGP!{q!A~;cZP~D zp30?>+5u*D^h`=Z?^Y!!q?R+QuOcquJ6EP<+CT-(TOnyf_Si^88Z$UzRFeQxNjX#M z&eYJoQi!{Xc;H0^4Or;Y0<0&C5>;`<jCkLKsm{unQm8r)ba1^Hd><8QhV(Z0L0g@v z&at9w)H$I4egpcUnYk+GEUB`YA5;1j^Wi<KqODF*RqzrTqZ-&%gfz4yQ?7rd4ctB_ zaC<YT3~PYnJ%A&lb~~y9IPgRRysD-G0Dc~6#hRy)=1d8;MG9%jlweyxDXtaMb#1L8 zZCK5r1glq^>A5oX<7_YJT=k3g$k{>Eeq!i!0QznO{BvU{Y!-*Id3h+CSA`y29Zcya z2>HXMR7XtcU}(oiAZ<LU3A*3}gmDIX)W)2y3&s6<WE<xD0r2e45f5m-dQtec1ry$z zRv^u&BRn6ul2)`MoF4TiZD}lNM<<dFbPik{C6msuz73@3NEiAHJoa})E-@p)5=#;y zu_X$LJ?SB-M?xj82sb23i3jN=X-#@d+9BMLL`VWb{TND%ny+0%R7LKFFjt=sl#(!3 zg@{^EH)V7b<SeWCqB2@c76>HOU^``g3<MCOc|{_!HV~c(F+eYN%mSnF&Zm#Fd1h@O z2-koz0H|d`R&Y;n2PhaR>kH!XO={zY01(7v(g_18#jjH;=`11sY9iVkdi90t>s#on zX=rH{5@={(eS>NiKv?LCgNoioPCLw_qFGS7N=SWu4J|fc6t*zPuAv%G85R-%b*s-= z7+7#Bre+REcK|^E40>F|pQ3!ZS$7RZCTPymOp5FUrG7#NV(}Ub8ao6Q3`0pHbb}A* zs~;vxTTs+sP}4AU$5>F(>7b&sKt~tB$;MJp(Pf~b8xhMoE)aCL5q`s=>S%z}GK5xv zQkTJfHE6U1&<8@Zcr++&FyuvR5vLExPS7wOjU3A`kr~~V0M@3=?%#y6)}z~**$ta0 zBD4(%i7++-2BX`K#PB<@%OuyI@u3%DtMyoc(Qb)AyEh4>+ZY;#o1yzDj3_Wb)KL~R zFx48549CPtW~?<c455cCE-8k<9Lx;B5zQ(RkzNOmTH`S<a4=Z`M+Lp(T<Vi!(*L+V ztg9r@TxQsk3JrGxoHxXxDgHH7-(AH!HGmwg1vDI`xVM3ZV*u`*^s{L;ZXFx%G7gI= z`_)9oAG3sn4IE6h)f={$9Ey#3QJSdw6P=dq1z?|-DGPG=nLIp4#)8spte%hB3W|;Y z9-XL?&~D7$<{v6I{y;yXYJLV<hs&E+jVQakm+(VbQ{F`c+56+)p$}D6OLO6GDneAp zisPUKt^gDvq}STNn}`K~{n%C_@57Nz4+7f-ACe%0cJ&|@8q6+3IFiVmLJyUJcn)Wm z5i(HxQS36By%=MJRAXh>wv6M*c#cev;dn4qN+z=VB-UG#S!jxsOy$Tl8K^(okuxob zp)4ocm&<TC5FTb@FD`@4qVSN!k+}@)P>#%Fss%#ie2y$&)mkVei`acJyDZ_zQW<tj zsAEa8j3djXWQ7bnrj-ovDk)jb?rS)*R)#IpI`*)hBO93G$&D<>CRXHTRs_;+VRxk6 z$^dVZ;jpt^25Y-zMvSVn#~m_IWGIWcF=Y`qrYz#altp~V9**qg$i5sp33>8On5hE* zkw-SczeZ(1qZ$Byezp|3ss<pLu9v%PssTE}PjG;B7({<h^q)!03q-IFH&z5peWI3k zqJs)TWS`&lDUTBSY{GUnBlZJ>fEhm|eR&hJ|LdI+{>w<Pj+9ngdH;vY8xJEsIArQb z0(cyGAa6TB(*II&*^xwY%-tLmvzT|Xqa1TUcbuHyVF+}JXJ$G)Hp1<AnBJVzNIV4P z9xcaUqK6+Xm7h!>W5sfF87AXlwRC}JCO16nWiEox_E#>%U<`95yMR)_UmpCBR_c0b z*i@NPO+VtFO=P8o%{+`E+vFy@%wCRK5ZWAv!Jo@5VQX`ZDN+giJT0LmxlV5I<R-b5 zAE6}-sqXwlXxWk6<;gvAUrT679*`UOG*;f%F($L@NFMUc8FK!`j~&SqHa(v5<Qbc0 z*<_GE6cm!@<OM7CcaFT|$R9kMD!<{$TS0e@Cm+a1o_r!-dGd{2zOz}J!6eZ6+AZZ# ze3yS=SZTF*4x(u|;|-ICFsGmn?t<&z9J0D{@aXZA^w_=^fRiPCI06D+8S*mFdOdJ% znR_U;TL_U=tQLmhEd(9R+l-H>jUu4yFG$LM*%gxxU-<`I>3^-ervEPzx%{8@3P7@! zALmH_NWwB*BWHPE`rnm=fvr;DlCZyYN8^J775J54<zN{{NCKw-ErdH(eBqAuTexF; zf*LYIRtcmh`UqnSgli`-D=XvK0B@9n07wFkyB-twfU#%*xqxAFz1sT4VDk<3p%j+y zOG&9}n#W?`ILcJSc!WM(m2nGPMIQXgLaRvm<}{5IL1q&(Q*ay+3C6t{SeItSz-BDL zcxpx9>ZBQtaC-2%z}QC2@XuHf{D>byGJ&Ya6g+D)@Sjb=@hyt<C6J>S{EHNa{H!F{ ziA-Q*2r-ZiJT`PiBTC?q+KmJOrY{6TayVUKA|53eflU6!LJEkBn21LSAy7|r1(U*6 zVFH~}#DF94OwgNh1RC0q<ydEcK?zxo5Xl&V;boD53FyRLdoIdys5_)9CDBxiWKs&j z(g?ykOj!gi5iFMs9|mcpJc1RH36Ef=SO<*VN_J+IRip}tv2sWf7bgy6?AL;SL7 zq<VmvgW!8Zkk=r}tfq=MiSL}5XrvZgvapO|R2{et8EH!WP00l2H$*MIVLlXi6{)XI zXT^M~m=tBAjn9JgL7mJ-EKcxvg5sFG$HvT6MH;B{;k}SgkZiC#X~d05EE+-p#3U9C zA+c!81QShE#GU0~ZaXS4!Gs6oJ=tF*s9$&?XVWbh1&J^Z2H?C*@H2)thvLKvXY}%r zQ&hlt+8PXD8%Ql|F%K$ZGTUMN>>;YF3VypI<N!`!A=iR`hdS5>*M)U`J@S#bP<?z+ zfhP^9DRHCaNJClyVH?tz+L0!-E^((W2)jX|(F9Q0d=exL)Loo0$lVZP#XcBt2|G53 z1Fs_{@Xo5bC?;rzY3Q2;3V5ZNd<IMpP+;Qrg&;wgL%PghH4~SigUD2tYQZstGNd?( z4M{wMgDPpny}rm%0p&X5&i){sBd;1+fSKS%{zS^pxPQscwC!v?vSDX^LfFp_nRK?q z!uDKO&Mth$7JgMj<<WvXym2mReu<syrOP1A1#Di5)@JnjWMlOHD#(Ij0ecrn3q`B< z|BN|ZW%e1}zZm@da*w?VX2#{pSI)cHoku~`;)e_v9mYpw0ZmICcG{2BB%y2t^7;4e zbtAMG%72qT9fbw6j~2KB;7?Z@6ZfjXiP*20>i<K;A|vubrmdOP|9{9P_`jEkf${ve zY={3nL`?7~@IOh!w7;tOH;Gt0h}eLFC1RC7h3zSDBK9lZ2>u~rc_d>0LB|IFy+q9E ze}ae!c6R@hL`?g`l7Ewk4FeGyUa&;$+v`!%+BizGUx6Jbf8|5c{}8b}60v{Z_o@GT zX%<W<bJ=+P)%UFbJ=-nei))I4JTq!JZu=K_cABF_Q2r);nhW|gPYYZDoD~1;e@$87 z^yybVll>2U$|HUH_kDf)zn4D2SId7beG<Oh_&-FSmTD1{ze%5#gFda$0#^X^Y0k=K zz6E{=tgWksN%Epy{SST0BYmp<4<`%On7TqDYp90iLa_eZ*zvV$)S%>l@({R2i|YJM zBDM}hY`qq^0w7|lp)WgnLr<Ljm|{Xf$X0Yon8Z|u51_)I+X7mcU5c=a3A+d{;KXeq zHD{0T>9&9tlhNX|1iO?p!lQ*TEk#SS7iHkphNG4;SVxtUQY&^Z4^?tnfrTncDL##B zBO@iKEk`TKhy^Vtqm^kDV`@k3*`+E+t3k7yR%h=V80Z=@;z%7?s3yBOu}5bXs>RXT zGE#}w;b>hMJ~)GWJt&mZa_nV&j=DgbTzqilXakl_c;m)iH{@s|8L1`4G-feP*u|Zr z9x_s2jP_(PUhLA8UA#H!!y4F3N`2Ygk6oCv5gGABD^PF?j<#gBd#zYmty$@9INDZ5 z{AfG&x;;lb$e_j9ilZH6&>F=(KuSBwpa$BR)g@3$yRds#DeWeuK~gGbPu*F4@G6+y zyW+dTG7`i}s81DA+JoIgIoeZ36bznHMnY*TDeZ-i2eayh$w)66E~62&g%ORUQS7k~ zN26u<esC;%h?BAJ0<%kh78lRr2C&OOmK|0F3+Nyz9W13oq%=`Vhf3)%))z1-aHJ#H z$c<z@KZ?bTW>a8{l#Z3saZ);7N?}vrNMTT5K_{`$WR_?OOEi^Trm@R(DV-ssGbxM- z9O-P1&S8;B>;fZ#1#}*}%x8}a*kvJmgaJV%I*L6m=I9cRF3q93uNU)|egg}IF(p|K zg=l^bokdY6QP-6U79njXdinOE1$wP6Mv#)nz?lstf7_XtUPx?T2u1NVUwou7+Fucl zZ^X%=Yu^d3sIt_}HBHK<lZ+-AYkkEY4ODwEbi{Tzn|*@Df*~^r7NE>9To`7C;S5P* z<=~hDO0HH8SR#IE<)G~>5g>IOB0`{}^9<f7532~RF3#O3BJVyB8Mt;aaq?(oWQ?B( zUGvx;&Bj~Jv?*Yd2`JL4C!(%~J4Q|IvasNGka@6-$YvG6kZl==yD<5f%Lq-Uz|(;G z%W&E7hbego4jxNu6p^(YE2(p%ZH0uf%Yv47Cyzh$v{*AYe9p~fo~9Pe=UpXyahZ}@ zxwhr!d09hEddj;i!<6WkOi!bt7a?9C0-|OQ9H9Noo1n4K6Pnqj`KGIGujW=0A%}~b z-~~pl)GgwJNOSV;>JVfFBP-?=$W`M!_lA&3cgw1-QDJ3-5}zE!hv_5m5m0mi`UM@9 zCkvWVTGZ-a<*Cvli)`j7f>R34c^H9(g1d1<WO(;zan*pChB(Qz>`oYY6_W_P0ku`Z z+oQ&BsUyDUjWrJVqD5ia|GEoH{Rn)a1Kk-C8<!7vlG=s)=@worleX!`qZfoJCe}Q2 zdgvzlk1FKoSSzU=R|-OPO|1msl;+{z$p6i9Ln$zIG&K;8Njl#|$up;nhxX+s9?l}3 zGt-ynJTz+Y_?=z8u?s#3CYaRlbR}KIi64(&%hPrEd_3GTfQWB^F%>=||0@<%3_5Ie zisoik#lB0wnWtOCkJE3>gH;vXPLuz_Kuq|=eG1(H(#+FTa#Q%GJtLyxm&0?eCz|iw z(>**KfTyvq-0$P@;jT2EeFPDox(5t=zbox$uKNy9)IM*%0J9rwsg1(6k?lXT{7NRO z+$_J?*Bezl90=fTuFfzwl1)7PCg8G#Z2FPa*#?4vUdJw}4BA$fvb44zG4aFO%)Mo- z9Q2r{>GUAlt5!m^>dPEGTgk1$*iv8>qOgiqyMku!aCv%&9_Hy0dNe=AWb_z4PDuf2 zC1MWJ6FfahPx16LU6p^!v3>LmPtQ`A6BbO3up=!PK-kLu&`an(dY-2j=x_MWw&1{v z4Te103QoGClnQJ*l#y(xgfXkn(~I;lB~~J#Mtqo6oVcI0iecY^5b}mZ!Y!qhxYzhu z62j9<44Twkj?c-5$)gLZwaz@fOkq{YsV5#!ud-QHFkOk`Ou+!EO-Y3xcX*hHE$GP~ z8XVGV^g5feH#mBeqqlf^hu-DsJ^BE48VoDd4%K?XX&*-)^7IjX%+n|I8An0dAJG>) z{hhw#=^ykBPv6o%dHRlB-V>zyz-V#V=8;xC<yOjw5M?k70<9vH5utGrngOT8$wSdy zp*8N&R$9{``}9#`JtdBL&!z4I>_BqlK|Mrjg42fFN-k<SQ&KaRgc^FIoia?p>MB6s z;n!vvPe0O6JpD|+@boJ}@PdQ5Z;X0bv{A5Lkf(2vhbYktntWE3a9pXxsF|h!M8Hil zF<{6M$<yyNgNM_b$Gn8%0uMQBd5MHQ>amMH>*3suh&hP?FEPYwBH<`j6D`)P+Rw5? zDly_EGPcs*BIkH=gQYcQalE7uGoC%iOA1ShP*OlL?>t(a3JXhi_pqgenJDiU>mVvU zYss+De&+2nGFZ+&A=4TZAXeE|(H1tbCDdmFmMwF8FPuRN|BKzo{=_M43H5jE#TI6I z*~iZOf7ozT7}{(t0!79r;G^ZSk)X)Mbz1GCjz^=pp7NOHivBRm)&Hq8TVv+25vPd= zc{sQb1?t+?L>VKxoW%6;43CP1`)zIikpC4%u?1<?@~?F0`ga`7YS2~tyz1k_PU6hh zt`|(ovFp@AX%-`3bCxUK!bsRQGBT{KGODdGseak6R|ZI)5%TU~?8{aExT!@)3(N!! zyS5<Q)EdIxzNs86=c<)`FwS{~Uo1FU0WV^06n)~ru2IUvgvwyIk|V}mO?7gsb+*JH zMLLp7?FME`N=fyfS2$aGfacNE%oT`|CR(#NGuq{+osbizlyzS;?5H`3NtXSww+K47 z77K~<F^*<H0dFwx2LR79JGsJN!Uw+Q*VC_0M2Molz;^pfCk+Nz2Yi5%n$4PUK4>f) zBy@RuSbmtFUiP&e?7p&11eRX(ZH}G`4pXp0Lt){bxe{Pop)0~rb7FB;%{3l765;z! z=DKf%`caZc_x9$fvcR<RiD?|tD=sD$du4PdV#Ru8Iz`6VXwFF*Ha8^>>S?7-Kr>xz z<m5zPUZRPNQ7%*xzLhhZh&3-ecuo5%idlpn&*qL<3xLKMf^JoWO`I;b7?r?m$t+CW zU1gYyj+`tM;Vp9frENTO4N71(P8dT8SHgDUu!dcZkVN=kHg@Zo&#Mr-TI+cQp0Ups z(t=MR+`+UE?%;3;cQ84GJNO*J9b63I4#tXb2M0yCgJB}v!7~x=V0j34@Om=K--SAX z0i^Q`){xFKI6_*_W(b3ghU)=9I}ckws9qCq!G@oMX}FZx@EgIKGc(X<rsuH9=2J-_ z3I<MLwTZq7tj$f$V3=>t{E7-z`o+wO!$iNNXrgZm<M<*lqE828TX^myFuym1ku+rE zh%W;#%;gYY0jaEDkX;@|)HX1|CJ5`}SC%<U5=`*Dnb#!5qkimzcBnH8ok0Ie;6jOw zk|YB_U~SJnafibXN6s*7`?GL4D-qgv5O?OIz%7kfpwgxMVQpTzd9_r6j{qgXBS9*G z%x535tgl~{xj`+bB37c`>GH6quYjgkWOrt*tuM635`ISssRSJe(JihW>RSy4<+Wf? z-T)5XG_5F)R<qBiv%Yo9Y=s;AGO@WMCAINM^h>DQWxQv;qFJin$Q6WGy9yJ@H&O^+ z;p50Pc!yTcz3WJigBH@Tkz;1%EFbd{Y^@?Tb4f*nY=w{otGEy<f>3!OWT3xZkIh4I zR7znym~Yd<aG_8VM(`D21zs7ovV##kYlB#)s_L4vI_VKuzf0J04_8)!9k{cut^M<^ zt)%W+I4n?it*vgCidAWdPHBXx&=^%{f-ZGOmwIID&f7wF*3RtC+OXFbyR&+Z?qu(n zSKS|X=Uvnv2i5$wri!{Xa6h1KjdgCVX^Pf(qcuKgO*6E{7p?Kj)|&e{TJzv1t$6^K zw?AvmL$m|FrjQ0>V_=E$B^a}<a2z4HhDe5M2<E6Eg*YUW8VEWfSTh-OCNtJ4E7mqE z);TNI8o^q~Ry�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�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�}Bg0kjDVz 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%0A5o{Id&)O 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 diff --git a/UyTube_aplicacion/src/Imagenes/nerd.gif b/UyTube_aplicacion/src/Imagenes/nerd.gif deleted file mode 100644 index 0dfb65645f02346220264978edfc7740103b5137..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75825 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%0AmIciOcXhFEFdfEpd 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xH7iNxqm| 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�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 diff --git a/UyTube_aplicacion/Imagenes/about.png b/UyTube_estacion_de_trabajo/Imagenes/about.png similarity index 100% rename from UyTube_aplicacion/Imagenes/about.png rename to UyTube_estacion_de_trabajo/Imagenes/about.png diff --git a/UyTube_aplicacion/Imagenes/des.jpeg b/UyTube_estacion_de_trabajo/Imagenes/des.jpeg similarity index 100% rename from UyTube_aplicacion/Imagenes/des.jpeg rename to UyTube_estacion_de_trabajo/Imagenes/des.jpeg diff --git a/UyTube_aplicacion/Imagenes/icono.jpg b/UyTube_estacion_de_trabajo/Imagenes/icono.jpg similarity index 100% rename from UyTube_aplicacion/Imagenes/icono.jpg rename to UyTube_estacion_de_trabajo/Imagenes/icono.jpg diff --git a/UyTube_aplicacion/Imagenes/perfiles/JotaJota96.JPG b/UyTube_estacion_de_trabajo/Imagenes/perfiles/JotaJota96.JPG similarity index 100% rename from UyTube_aplicacion/Imagenes/perfiles/JotaJota96.JPG rename to UyTube_estacion_de_trabajo/Imagenes/perfiles/JotaJota96.JPG diff --git a/UyTube_aplicacion/Imagenes/perfiles/LuC31G.jpg b/UyTube_estacion_de_trabajo/Imagenes/perfiles/LuC31G.jpg similarity index 100% rename from UyTube_aplicacion/Imagenes/perfiles/LuC31G.jpg rename to UyTube_estacion_de_trabajo/Imagenes/perfiles/LuC31G.jpg diff --git a/UyTube_aplicacion/Imagenes/perfiles/MCBolso.jpg b/UyTube_estacion_de_trabajo/Imagenes/perfiles/MCBolso.jpg similarity index 100% rename from UyTube_aplicacion/Imagenes/perfiles/MCBolso.jpg rename to UyTube_estacion_de_trabajo/Imagenes/perfiles/MCBolso.jpg diff --git a/UyTube_aplicacion/Imagenes/perfiles/camilillo15.jpg b/UyTube_estacion_de_trabajo/Imagenes/perfiles/camilillo15.jpg similarity index 100% rename from UyTube_aplicacion/Imagenes/perfiles/camilillo15.jpg rename to UyTube_estacion_de_trabajo/Imagenes/perfiles/camilillo15.jpg diff --git a/UyTube_aplicacion/Imagenes/perfiles/jarrieta31.jpg b/UyTube_estacion_de_trabajo/Imagenes/perfiles/jarrieta31.jpg similarity index 100% rename from UyTube_aplicacion/Imagenes/perfiles/jarrieta31.jpg rename to UyTube_estacion_de_trabajo/Imagenes/perfiles/jarrieta31.jpg diff --git a/UyTube_aplicacion/Imagenes/ukp.png b/UyTube_estacion_de_trabajo/Imagenes/ukp.png similarity index 100% rename from UyTube_aplicacion/Imagenes/ukp.png rename to UyTube_estacion_de_trabajo/Imagenes/ukp.png diff --git a/UyTube_estacion_de_trabajo/build.xml b/UyTube_estacion_de_trabajo/build.xml new file mode 100644 index 0000000..eb4bc0e --- /dev/null +++ b/UyTube_estacion_de_trabajo/build.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- You may freely edit this file. See commented blocks below for --> +<!-- some examples of how to customize the build. --> +<!-- (If you delete it and reopen the project it will be recreated.) --> +<!-- By default, only the Clean and Build commands use this build script. --> +<!-- Commands such as Run, Debug, and Test only use this build script if --> +<!-- the Compile on Save feature is turned off for the project. --> +<!-- You can turn off the Compile on Save (or Deploy on Save) setting --> +<!-- in the project's Project Properties dialog box.--> +<project name="UyTube_estacion_de_trabajo" default="default" basedir="."> + <description>Builds, tests, and runs the project UyTube_estacion_de_trabajo.</description> + <import file="nbproject/build-impl.xml"/> + <!-- + + There exist several targets which are by default empty and which can be + used for execution of your tasks. These targets are usually executed + before and after some main targets. They are: + + -pre-init: called before initialization of project properties + -post-init: called after initialization of project properties + -pre-compile: called before javac compilation + -post-compile: called after javac compilation + -pre-compile-single: called before javac compilation of single file + -post-compile-single: called after javac compilation of single file + -pre-compile-test: called before javac compilation of JUnit tests + -post-compile-test: called after javac compilation of JUnit tests + -pre-compile-test-single: called before javac compilation of single JUnit test + -post-compile-test-single: called after javac compilation of single JUunit test + -pre-jar: called before JAR building + -post-jar: called after JAR building + -post-clean: called after cleaning build products + + (Targets beginning with '-' are not intended to be called on their own.) + + Example of inserting an obfuscator after compilation could look like this: + + <target name="-post-compile"> + <obfuscate> + <fileset dir="${build.classes.dir}"/> + </obfuscate> + </target> + + For list of available properties check the imported + nbproject/build-impl.xml file. + + + Another way to customize the build is by overriding existing main targets. + The targets of interest are: + + -init-macrodef-javac: defines macro for javac compilation + -init-macrodef-junit: defines macro for junit execution + -init-macrodef-debug: defines macro for class debugging + -init-macrodef-java: defines macro for class execution + -do-jar: JAR building + run: execution of project + -javadoc-build: Javadoc generation + test-report: JUnit report generation + + An example of overriding the target for project execution could look like this: + + <target name="run" depends="UyTube_estacion_de_trabajo-impl.jar"> + <exec dir="bin" executable="launcher.exe"> + <arg file="${dist.jar}"/> + </exec> + </target> + + Notice that the overridden target depends on the jar target and not only on + the compile target as the regular run target does. Again, for a list of available + properties which you can use, check the target you are overriding in the + nbproject/build-impl.xml file. + + --> +</project> diff --git a/UyTube_aplicacion/dist/README.TXT b/UyTube_estacion_de_trabajo/dist/README.TXT similarity index 96% rename from UyTube_aplicacion/dist/README.TXT rename to UyTube_estacion_de_trabajo/dist/README.TXT index 0f7d046..129f144 100644 --- a/UyTube_aplicacion/dist/README.TXT +++ b/UyTube_estacion_de_trabajo/dist/README.TXT @@ -11,7 +11,7 @@ JAR files manifest file (MANIFEST.MF). To run the project from the command line, go to the dist folder and type the following: -java -jar "UyTube.jar" +java -jar "UyTube_estacion_de_trabajo.jar" To distribute this project, zip up the dist folder (including the lib folder) and distribute the ZIP file. diff --git a/UyTube_aplicacion/dist/lib/AbsoluteLayout.jar b/UyTube_estacion_de_trabajo/dist/lib/AbsoluteLayout.jar similarity index 100% rename from UyTube_aplicacion/dist/lib/AbsoluteLayout.jar rename to UyTube_estacion_de_trabajo/dist/lib/AbsoluteLayout.jar diff --git a/Librerias/JCalendar_1.4.jar b/UyTube_estacion_de_trabajo/dist/lib/JCalendar_1.4.jar similarity index 100% rename from Librerias/JCalendar_1.4.jar rename to UyTube_estacion_de_trabajo/dist/lib/JCalendar_1.4.jar diff --git a/UyTube_aplicacion/dist/lib/UyTube_logica.jar b/UyTube_estacion_de_trabajo/dist/lib/UyTube_logica.jar similarity index 100% rename from UyTube_aplicacion/dist/lib/UyTube_logica.jar rename to UyTube_estacion_de_trabajo/dist/lib/UyTube_logica.jar diff --git a/UyTube_aplicacion/dist/lib/eclipselink.jar b/UyTube_estacion_de_trabajo/dist/lib/eclipselink.jar similarity index 100% rename from UyTube_aplicacion/dist/lib/eclipselink.jar rename to UyTube_estacion_de_trabajo/dist/lib/eclipselink.jar diff --git a/UyTube_aplicacion/dist/lib/javax.persistence_2.1.0.v201304241213.jar b/UyTube_estacion_de_trabajo/dist/lib/javax.persistence_2.1.0.v201304241213.jar similarity index 100% rename from UyTube_aplicacion/dist/lib/javax.persistence_2.1.0.v201304241213.jar rename to UyTube_estacion_de_trabajo/dist/lib/javax.persistence_2.1.0.v201304241213.jar diff --git a/UyTube_aplicacion/dist/lib/org.eclipse.persistence.jpa.jpql_2.5.2.v20140319-9ad6abd.jar b/UyTube_estacion_de_trabajo/dist/lib/org.eclipse.persistence.jpa.jpql_2.5.2.v20140319-9ad6abd.jar similarity index 100% rename from UyTube_aplicacion/dist/lib/org.eclipse.persistence.jpa.jpql_2.5.2.v20140319-9ad6abd.jar rename to UyTube_estacion_de_trabajo/dist/lib/org.eclipse.persistence.jpa.jpql_2.5.2.v20140319-9ad6abd.jar diff --git a/UyTube_aplicacion/dist/lib/postgresql-9.4.1209.jar b/UyTube_estacion_de_trabajo/dist/lib/postgresql-9.4.1209.jar similarity index 100% rename from UyTube_aplicacion/dist/lib/postgresql-9.4.1209.jar rename to UyTube_estacion_de_trabajo/dist/lib/postgresql-9.4.1209.jar diff --git a/UyTube_aplicacion/dist/lib/JCalendar_1.4.jar b/UyTube_estacion_de_trabajo/librerias/JCalendar_1.4.jar similarity index 100% rename from UyTube_aplicacion/dist/lib/JCalendar_1.4.jar rename to UyTube_estacion_de_trabajo/librerias/JCalendar_1.4.jar diff --git a/Librerias/UyTube_logica.jar b/UyTube_estacion_de_trabajo/librerias/UyTube_logica.jar similarity index 100% rename from Librerias/UyTube_logica.jar rename to UyTube_estacion_de_trabajo/librerias/UyTube_logica.jar diff --git a/UyTube_aplicacion/manifest.mf b/UyTube_estacion_de_trabajo/manifest.mf similarity index 100% rename from UyTube_aplicacion/manifest.mf rename to UyTube_estacion_de_trabajo/manifest.mf diff --git a/UyTube_estacion_de_trabajo/nbproject/build-impl.xml b/UyTube_estacion_de_trabajo/nbproject/build-impl.xml new file mode 100644 index 0000000..675236a --- /dev/null +++ b/UyTube_estacion_de_trabajo/nbproject/build-impl.xml @@ -0,0 +1,1420 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +*** GENERATED FROM project.xml - DO NOT EDIT *** +*** EDIT ../build.xml INSTEAD *** + +For the purpose of easier reading the script +is divided into following sections: + + - initialization + - compilation + - jar + - execution + - debugging + - javadoc + - test compilation + - test execution + - test debugging + - applet + - cleanup + + --> +<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="UyTube_estacion_de_trabajo-impl"> + <fail message="Please build using Ant 1.8.0 or higher."> + <condition> + <not> + <antversion atleast="1.8.0"/> + </not> + </condition> + </fail> + <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/> + <!-- + ====================== + INITIALIZATION SECTION + ====================== + --> + <target name="-pre-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="-pre-init" name="-init-private"> + <property file="nbproject/private/config.properties"/> + <property file="nbproject/private/configs/${config}.properties"/> + <property file="nbproject/private/private.properties"/> + </target> + <target depends="-pre-init,-init-private" name="-init-user"> + <property file="${user.properties.file}"/> + <!-- The two properties below are usually overridden --> + <!-- by the active platform. Just a fallback. --> + <property name="default.javac.source" value="1.6"/> + <property name="default.javac.target" value="1.6"/> + </target> + <target depends="-pre-init,-init-private,-init-user" name="-init-project"> + <property file="nbproject/configs/${config}.properties"/> + <property file="nbproject/project.properties"/> + </target> + <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init"> + <property name="platform.java" value="${java.home}/bin/java"/> + <available file="${manifest.file}" property="manifest.available"/> + <condition property="splashscreen.available"> + <and> + <not> + <equals arg1="${application.splash}" arg2="" trim="true"/> + </not> + <available file="${application.splash}"/> + </and> + </condition> + <condition property="main.class.available"> + <and> + <isset property="main.class"/> + <not> + <equals arg1="${main.class}" arg2="" trim="true"/> + </not> + </and> + </condition> + <condition property="profile.available"> + <and> + <isset property="javac.profile"/> + <length length="0" string="${javac.profile}" when="greater"/> + <matches pattern="((1\.[89])|9)(\..*)?" string="${javac.source}"/> + </and> + </condition> + <condition property="do.archive"> + <or> + <not> + <istrue value="${jar.archive.disabled}"/> + </not> + <istrue value="${not.archive.disabled}"/> + </or> + </condition> + <condition property="do.mkdist"> + <and> + <isset property="do.archive"/> + <isset property="libs.CopyLibs.classpath"/> + <not> + <istrue value="${mkdist.disabled}"/> + </not> + </and> + </condition> + <condition property="do.archive+manifest.available"> + <and> + <isset property="manifest.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="do.archive+main.class.available"> + <and> + <isset property="main.class.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="do.archive+splashscreen.available"> + <and> + <isset property="splashscreen.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="do.archive+profile.available"> + <and> + <isset property="profile.available"/> + <istrue value="${do.archive}"/> + </and> + </condition> + <condition property="have.tests"> + <or> + <available file="${test.src.dir}"/> + </or> + </condition> + <condition property="have.sources"> + <or> + <available file="${src.dir}"/> + </or> + </condition> + <condition property="netbeans.home+have.tests"> + <and> + <isset property="netbeans.home"/> + <isset property="have.tests"/> + </and> + </condition> + <condition property="no.javadoc.preview"> + <and> + <isset property="javadoc.preview"/> + <isfalse value="${javadoc.preview}"/> + </and> + </condition> + <property name="run.jvmargs" value=""/> + <property name="run.jvmargs.ide" value=""/> + <property name="javac.compilerargs" value=""/> + <property name="work.dir" value="${basedir}"/> + <condition property="no.deps"> + <and> + <istrue value="${no.dependencies}"/> + </and> + </condition> + <property name="javac.debug" value="true"/> + <property name="javadoc.preview" value="true"/> + <property name="application.args" value=""/> + <property name="source.encoding" value="${file.encoding}"/> + <property name="runtime.encoding" value="${source.encoding}"/> + <property name="manifest.encoding" value="${source.encoding}"/> + <condition property="javadoc.encoding.used" value="${javadoc.encoding}"> + <and> + <isset property="javadoc.encoding"/> + <not> + <equals arg1="${javadoc.encoding}" arg2=""/> + </not> + </and> + </condition> + <property name="javadoc.encoding.used" value="${source.encoding}"/> + <property name="includes" value="**"/> + <property name="excludes" value=""/> + <property name="do.depend" value="false"/> + <condition property="do.depend.true"> + <istrue value="${do.depend}"/> + </condition> + <path id="endorsed.classpath.path" path="${endorsed.classpath}"/> + <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'"> + <and> + <isset property="endorsed.classpath"/> + <not> + <equals arg1="${endorsed.classpath}" arg2="" trim="true"/> + </not> + </and> + </condition> + <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}"> + <isset property="profile.available"/> + </condition> + <condition else="false" property="jdkBug6558476"> + <and> + <matches pattern="1\.[56]" string="${java.specification.version}"/> + <not> + <os family="unix"/> + </not> + </and> + </condition> + <condition else="false" property="javac.fork"> + <or> + <istrue value="${jdkBug6558476}"/> + <istrue value="${javac.external.vm}"/> + </or> + </condition> + <property name="jar.index" value="false"/> + <property name="jar.index.metainf" value="${jar.index}"/> + <property name="copylibs.rebase" value="true"/> + <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/> + <condition property="junit.available"> + <or> + <available classname="org.junit.Test" classpath="${run.test.classpath}"/> + <available classname="junit.framework.Test" classpath="${run.test.classpath}"/> + </or> + </condition> + <condition property="testng.available"> + <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/> + </condition> + <condition property="junit+testng.available"> + <and> + <istrue value="${junit.available}"/> + <istrue value="${testng.available}"/> + </and> + </condition> + <condition else="testng" property="testng.mode" value="mixed"> + <istrue value="${junit+testng.available}"/> + </condition> + <condition else="" property="testng.debug.mode" value="-mixed"> + <istrue value="${junit+testng.available}"/> + </condition> + <property name="java.failonerror" value="true"/> + </target> + <target name="-post-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check"> + <fail unless="src.dir">Must set src.dir</fail> + <fail unless="test.src.dir">Must set test.src.dir</fail> + <fail unless="build.dir">Must set build.dir</fail> + <fail unless="dist.dir">Must set dist.dir</fail> + <fail unless="build.classes.dir">Must set build.classes.dir</fail> + <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail> + <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail> + <fail unless="build.test.results.dir">Must set build.test.results.dir</fail> + <fail unless="build.classes.excludes">Must set build.classes.excludes</fail> + <fail unless="dist.jar">Must set dist.jar</fail> + </target> + <target name="-init-macrodef-property"> + <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute name="name"/> + <attribute name="value"/> + <sequential> + <property name="@{name}" value="${@{value}}"/> + </sequential> + </macrodef> + </target> + <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors"> + <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${src.dir}" name="srcdir"/> + <attribute default="${build.classes.dir}" name="destdir"/> + <attribute default="${javac.classpath}" name="classpath"/> + <attribute default="${javac.processorpath}" name="processorpath"/> + <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="${javac.debug}" name="debug"/> + <attribute default="${empty.dir}" name="sourcepath"/> + <attribute default="${empty.dir}" name="gensrcdir"/> + <element name="customize" optional="true"/> + <sequential> + <property location="${build.dir}/empty" name="empty.dir"/> + <mkdir dir="${empty.dir}"/> + <mkdir dir="@{apgeneratedsrcdir}"/> + <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> + <src> + <dirset dir="@{gensrcdir}" erroronmissingdir="false"> + <include name="*"/> + </dirset> + </src> + <classpath> + <path path="@{classpath}"/> + </classpath> + <compilerarg line="${endorsed.classpath.cmd.line.arg}"/> + <compilerarg line="${javac.profile.cmd.line.arg}"/> + <compilerarg line="${javac.compilerargs}"/> + <compilerarg value="-processorpath"/> + <compilerarg path="@{processorpath}:${empty.dir}"/> + <compilerarg line="${ap.processors.internal}"/> + <compilerarg line="${annotation.processing.processor.options}"/> + <compilerarg value="-s"/> + <compilerarg path="@{apgeneratedsrcdir}"/> + <compilerarg line="${ap.proc.none.internal}"/> + <customize/> + </javac> + </sequential> + </macrodef> + </target> + <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal"> + <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${src.dir}" name="srcdir"/> + <attribute default="${build.classes.dir}" name="destdir"/> + <attribute default="${javac.classpath}" name="classpath"/> + <attribute default="${javac.processorpath}" name="processorpath"/> + <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="${javac.debug}" name="debug"/> + <attribute default="${empty.dir}" name="sourcepath"/> + <attribute default="${empty.dir}" name="gensrcdir"/> + <element name="customize" optional="true"/> + <sequential> + <property location="${build.dir}/empty" name="empty.dir"/> + <mkdir dir="${empty.dir}"/> + <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> + <src> + <dirset dir="@{gensrcdir}" erroronmissingdir="false"> + <include name="*"/> + </dirset> + </src> + <classpath> + <path path="@{classpath}"/> + </classpath> + <compilerarg line="${endorsed.classpath.cmd.line.arg}"/> + <compilerarg line="${javac.profile.cmd.line.arg}"/> + <compilerarg line="${javac.compilerargs}"/> + <customize/> + </javac> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac"> + <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${src.dir}" name="srcdir"/> + <attribute default="${build.classes.dir}" name="destdir"/> + <attribute default="${javac.classpath}" name="classpath"/> + <sequential> + <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}"> + <classpath> + <path path="@{classpath}"/> + </classpath> + </depend> + </sequential> + </macrodef> + <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${build.classes.dir}" name="destdir"/> + <sequential> + <fail unless="javac.includes">Must set javac.includes</fail> + <pathconvert pathsep="${line.separator}" property="javac.includes.binary"> + <path> + <filelist dir="@{destdir}" files="${javac.includes}"/> + </path> + <globmapper from="*.java" to="*.class"/> + </pathconvert> + <tempfile deleteonexit="true" property="javac.includesfile.binary"/> + <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/> + <delete> + <files includesfile="${javac.includesfile.binary}"/> + </delete> + <delete> + <fileset file="${javac.includesfile.binary}"/> + </delete> + </sequential> + </macrodef> + </target> + <target if="${junit.available}" name="-init-macrodef-junit-init"> + <condition else="false" property="nb.junit.batch" value="true"> + <and> + <istrue value="${junit.available}"/> + <not> + <isset property="test.method"/> + </not> + </and> + </condition> + <condition else="false" property="nb.junit.single" value="true"> + <and> + <istrue value="${junit.available}"/> + <isset property="test.method"/> + </and> + </condition> + </target> + <target name="-init-test-properties"> + <property name="test.binaryincludes" value="<nothing>"/> + <property name="test.binarytestincludes" value=""/> + <property name="test.binaryexcludes" value=""/> + </target> + <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}"> + <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}"> + <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <batchtest todir="${build.test.results.dir}"> + <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}"> + <filename name="@{testincludes}"/> + </fileset> + <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}"> + <filename name="${test.binarytestincludes}"/> + </fileset> + </batchtest> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/> + <target if="${testng.available}" name="-init-macrodef-testng"> + <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}"> + <isset property="test.method"/> + </condition> + <union id="test.set"> + <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}"> + <filename name="@{testincludes}"/> + </fileset> + </union> + <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/> + <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="UyTube_estacion_de_trabajo" testname="TestNG tests" workingDir="${work.dir}"> + <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/> + <propertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </propertyset> + <customize/> + </testng> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-test-impl"> + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <echo>No tests executed.</echo> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl"> + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize/> + </j2seproject3:junit> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl"> + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize/> + </j2seproject3:testng> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test"> + <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <sequential> + <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + </customize> + </j2seproject3:test-impl> + </sequential> + </macrodef> + </target> + <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}"> + <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <jvmarg line="${debug-args-line}"/> + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch"> + <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element name="customize" optional="true"/> + <sequential> + <property name="junit.forkmode" value="perTest"/> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> + <batchtest todir="${build.test.results.dir}"> + <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}"> + <filename name="@{testincludes}"/> + </fileset> + <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}"> + <filename name="${test.binarytestincludes}"/> + </fileset> + </batchtest> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg value="-ea"/> + <jvmarg line="${debug-args-line}"/> + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> + <customize/> + </junit> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl"> + <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <element implicit="true" name="customize" optional="true"/> + <sequential> + <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize/> + </j2seproject3:junit-debug> + </sequential> + </macrodef> + </target> + <target if="${testng.available}" name="-init-macrodef-testng-debug"> + <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <element name="customize2" optional="true"/> + <sequential> + <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}"> + <isset property="test.method"/> + </condition> + <condition else="-suitename UyTube_estacion_de_trabajo -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}"> + <matches pattern=".*\.xml" string="@{testClass}"/> + </condition> + <delete dir="${build.test.results.dir}" quiet="true"/> + <mkdir dir="${build.test.results.dir}"/> + <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}"> + <customize> + <customize2/> + <jvmarg value="-ea"/> + <arg line="${testng.debug.mode}"/> + <arg line="-d ${build.test.results.dir}"/> + <arg line="-listener org.testng.reporters.VerboseReporter"/> + <arg line="${testng.cmd.args}"/> + </customize> + </j2seproject3:debug> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl"> + <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <element implicit="true" name="customize2" optional="true"/> + <sequential> + <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}"> + <customize2/> + </j2seproject3:testng-debug> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit"> + <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <sequential> + <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> + <customize> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + </customize> + </j2seproject3:test-debug-impl> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng"> + <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <attribute default="" name="testmethods"/> + <attribute default="${main.class}" name="testClass"/> + <attribute default="" name="testMethod"/> + <sequential> + <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}"> + <customize2> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + </customize2> + </j2seproject3:testng-debug-impl> + </sequential> + </macrodef> + </target> + <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/> + <!-- + pre NB7.2 profiling section; consider it deprecated + --> + <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/> + <target if="profiler.info.jvmargs.agent" name="-profile-pre-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="profiler.info.jvmargs.agent" name="-profile-post-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile"> + <macrodef name="resolve"> + <attribute name="name"/> + <attribute name="value"/> + <sequential> + <property name="@{name}" value="${env.@{value}}"/> + </sequential> + </macrodef> + <macrodef name="profile"> + <attribute default="${main.class}" name="classname"/> + <element name="customize" optional="true"/> + <sequential> + <property environment="env"/> + <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/> + <java classname="@{classname}" dir="${profiler.info.dir}" failonerror="${java.failonerror}" fork="true" jvm="${profiler.info.jvm}"> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg value="${profiler.info.jvmargs.agent}"/> + <jvmarg line="${profiler.info.jvmargs}"/> + <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/> + <arg line="${application.args}"/> + <classpath> + <path path="${run.classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="run-sys-prop."/> + <mapper from="run-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <customize/> + </java> + </sequential> + </macrodef> + </target> + <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check"> + <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail> + <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail> + </target> + <!-- + end of pre NB7.2 profiling section + --> + <target depends="-init-debug-args" name="-init-macrodef-nbjpda"> + <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute default="${main.class}" name="name"/> + <attribute default="${debug.classpath}" name="classpath"/> + <attribute default="" name="stopclassname"/> + <sequential> + <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}"> + <classpath> + <path path="@{classpath}"/> + </classpath> + </nbjpdastart> + </sequential> + </macrodef> + <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute default="${build.classes.dir}" name="dir"/> + <sequential> + <nbjpdareload> + <fileset dir="@{dir}" includes="${fix.classes}"> + <include name="${fix.includes}*.class"/> + </fileset> + </nbjpdareload> + </sequential> + </macrodef> + </target> + <target name="-init-debug-args"> + <property name="version-output" value="java version "${ant.java.version}"/> + <condition property="have-jdk-older-than-1.4"> + <or> + <contains string="${version-output}" substring="java version "1.0"/> + <contains string="${version-output}" substring="java version "1.1"/> + <contains string="${version-output}" substring="java version "1.2"/> + <contains string="${version-output}" substring="java version "1.3"/> + </or> + </condition> + <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none"> + <istrue value="${have-jdk-older-than-1.4}"/> + </condition> + <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem"> + <os family="windows"/> + </condition> + <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}"> + <isset property="debug.transport"/> + </condition> + </target> + <target depends="-init-debug-args" name="-init-macrodef-debug"> + <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${main.class}" name="classname"/> + <attribute default="${debug.classpath}" name="classpath"/> + <element name="customize" optional="true"/> + <sequential> + <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true"> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg line="${debug-args-line}"/> + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> + <jvmarg value="-Dfile.encoding=${runtime.encoding}"/> + <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + <classpath> + <path path="@{classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="run-sys-prop."/> + <mapper from="run-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <customize/> + </java> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-java"> + <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1"> + <attribute default="${main.class}" name="classname"/> + <attribute default="${run.classpath}" name="classpath"/> + <attribute default="jvm" name="jvm"/> + <element name="customize" optional="true"/> + <sequential> + <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true"> + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> + <jvmarg value="-Dfile.encoding=${runtime.encoding}"/> + <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> + <jvmarg line="${run.jvmargs}"/> + <jvmarg line="${run.jvmargs.ide}"/> + <classpath> + <path path="@{classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="run-sys-prop."/> + <mapper from="run-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <customize/> + </java> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-copylibs"> + <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3"> + <attribute default="${manifest.file}" name="manifest"/> + <element name="customize" optional="true"/> + <sequential> + <property location="${build.classes.dir}" name="build.classes.dir.resolved"/> + <pathconvert property="run.classpath.without.build.classes.dir"> + <path path="${run.classpath}"/> + <map from="${build.classes.dir.resolved}" to=""/> + </pathconvert> + <pathconvert pathsep=" " property="jar.classpath"> + <path path="${run.classpath.without.build.classes.dir}"/> + <chainedmapper> + <flattenmapper/> + <filtermapper> + <replacestring from=" " to="%20"/> + </filtermapper> + <globmapper from="*" to="lib/*"/> + </chainedmapper> + </pathconvert> + <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/> + <copylibs compress="${jar.compress}" excludeFromCopy="${copylibs.excludes}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" manifestencoding="UTF-8" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}"> + <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/> + <manifest> + <attribute name="Class-Path" value="${jar.classpath}"/> + <customize/> + </manifest> + </copylibs> + </sequential> + </macrodef> + </target> + <target name="-init-presetdef-jar"> + <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1"> + <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}" manifestencoding="UTF-8"> + <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/> + </jar> + </presetdef> + </target> + <target name="-init-ap-cmdline-properties"> + <property name="annotation.processing.enabled" value="true"/> + <property name="annotation.processing.processors.list" value=""/> + <property name="annotation.processing.processor.options" value=""/> + <property name="annotation.processing.run.all.processors" value="true"/> + <property name="javac.processorpath" value="${javac.classpath}"/> + <property name="javac.test.processorpath" value="${javac.test.classpath}"/> + <condition property="ap.supported.internal" value="true"> + <not> + <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/> + </not> + </condition> + </target> + <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported"> + <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}"> + <isfalse value="${annotation.processing.run.all.processors}"/> + </condition> + <condition else="" property="ap.proc.none.internal" value="-proc:none"> + <isfalse value="${annotation.processing.enabled}"/> + </condition> + </target> + <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline"> + <property name="ap.cmd.line.internal" value=""/> + </target> + <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/> + <!-- + =================== + COMPILATION SECTION + =================== + --> + <target name="-deps-jar-init" unless="built-jar.properties"> + <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/> + <delete file="${built-jar.properties}" quiet="true"/> + </target> + <target if="already.built.jar.${basedir}" name="-warn-already-built-jar"> + <echo level="warn" message="Cycle detected: UyTube_estacion_de_trabajo was already built"/> + </target> + <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps"> + <mkdir dir="${build.dir}"/> + <touch file="${built-jar.properties}" verbose="false"/> + <property file="${built-jar.properties}" prefix="already.built.jar."/> + <antcall target="-warn-already-built-jar"/> + <propertyfile file="${built-jar.properties}"> + <entry key="${basedir}" value=""/> + </propertyfile> + </target> + <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/> + <target depends="init" name="-check-automatic-build"> + <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/> + </target> + <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build"> + <antcall target="clean"/> + </target> + <target depends="init,deps-jar" name="-pre-pre-compile"> + <mkdir dir="${build.classes.dir}"/> + </target> + <target name="-pre-compile"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="do.depend.true" name="-compile-depend"> + <pathconvert property="build.generated.subdirs"> + <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false"> + <include name="*"/> + </dirset> + </pathconvert> + <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/> + </target> + <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile"> + <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/> + <copy todir="${build.classes.dir}"> + <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> + </copy> + </target> + <target if="has.persistence.xml" name="-copy-persistence-xml"> + <mkdir dir="${build.classes.dir}/META-INF"/> + <copy todir="${build.classes.dir}/META-INF"> + <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/> + </copy> + </target> + <target name="-post-compile"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/> + <target name="-pre-compile-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single"> + <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> + <j2seproject3:force-recompile/> + <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/> + </target> + <target name="-post-compile-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/> + <!-- + ==================== + JAR BUILDING SECTION + ==================== + --> + <target depends="init" name="-pre-pre-jar"> + <dirname file="${dist.jar}" property="dist.jar.dir"/> + <mkdir dir="${dist.jar.dir}"/> + </target> + <target name="-pre-jar"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available"> + <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/> + <touch file="${tmp.manifest.file}" verbose="false"/> + </target> + <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest"> + <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/> + <copy encoding="${manifest.encoding}" file="${manifest.file}" outputencoding="UTF-8" tofile="${tmp.manifest.file}"/> + </target> + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass"> + <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update"> + <attribute name="Main-Class" value="${main.class}"/> + </manifest> + </target> + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile"> + <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update"> + <attribute name="Profile" value="${javac.profile}"/> + </manifest> + </target> + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-set-splashscreen"> + <basename file="${application.splash}" property="splashscreen.basename"/> + <mkdir dir="${build.classes.dir}/META-INF"/> + <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/> + <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update"> + <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/> + </manifest> + </target> + <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.mkdist" name="-do-jar-copylibs"> + <j2seproject3:copylibs manifest="${tmp.manifest.file}"/> + <echo level="info">To run this application from the command line without Ant, try:</echo> + <property location="${dist.jar}" name="dist.jar.resolved"/> + <echo level="info">java -jar "${dist.jar.resolved}"</echo> + </target> + <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.archive" name="-do-jar-jar" unless="do.mkdist"> + <j2seproject1:jar manifest="${tmp.manifest.file}"/> + <property location="${build.classes.dir}" name="build.classes.dir.resolved"/> + <property location="${dist.jar}" name="dist.jar.resolved"/> + <pathconvert property="run.classpath.with.dist.jar"> + <path path="${run.classpath}"/> + <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/> + </pathconvert> + <condition else="" property="jar.usage.message" value="To run this application from the command line without Ant, try:${line.separator}${platform.java} -cp ${run.classpath.with.dist.jar} ${main.class}"> + <isset property="main.class.available"/> + </condition> + <condition else="debug" property="jar.usage.level" value="info"> + <isset property="main.class.available"/> + </condition> + <echo level="${jar.usage.level}" message="${jar.usage.message}"/> + </target> + <target depends="-do-jar-copylibs" if="do.archive" name="-do-jar-delete-manifest"> + <delete> + <fileset file="${tmp.manifest.file}"/> + </delete> + </target> + <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-jar,-do-jar-delete-manifest" name="-do-jar-without-libraries"/> + <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-copylibs,-do-jar-delete-manifest" name="-do-jar-with-libraries"/> + <target name="-post-jar"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-jar,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/> + <target depends="init,compile,-pre-jar,-do-jar,-post-jar" description="Build JAR." name="jar"/> + <!-- + ================= + EXECUTION SECTION + ================= + --> + <target depends="init,compile" description="Run a main class." name="run"> + <j2seproject1:java> + <customize> + <arg line="${application.args}"/> + </customize> + </j2seproject1:java> + </target> + <target name="-do-not-recompile"> + <property name="javac.includes.binary" value=""/> + </target> + <target depends="init,compile-single" name="run-single"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <j2seproject1:java classname="${run.class}"/> + </target> + <target depends="init,compile-test-single" name="run-test-with-main"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/> + </target> + <!-- + ================= + DEBUGGING SECTION + ================= + --> + <target depends="init" if="netbeans.home" name="-debug-start-debugger"> + <j2seproject1:nbjpdastart name="${debug.class}"/> + </target> + <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test"> + <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/> + </target> + <target depends="init,compile" name="-debug-start-debuggee"> + <j2seproject3:debug> + <customize> + <arg line="${application.args}"/> + </customize> + </j2seproject3:debug> + </target> + <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/> + <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto"> + <j2seproject1:nbjpdastart stopclassname="${main.class}"/> + </target> + <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/> + <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single"> + <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail> + <j2seproject3:debug classname="${debug.class}"/> + </target> + <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/> + <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test"> + <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail> + <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/> + </target> + <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/> + <target depends="init" name="-pre-debug-fix"> + <fail unless="fix.includes">Must set fix.includes</fail> + <property name="javac.includes" value="${fix.includes}.java"/> + </target> + <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix"> + <j2seproject1:nbjpdareload/> + </target> + <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/> + <!-- + ================= + PROFILING SECTION + ================= + --> + <!-- + pre NB7.2 profiler integration + --> + <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72"> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.classpath}"/> + </classpath> + </nbprofiledirect> + <profile/> + </target> + <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72"> + <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.classpath}"/> + </classpath> + </nbprofiledirect> + <profile classname="${profile.class}"/> + </target> + <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72"> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.classpath}"/> + </classpath> + </nbprofiledirect> + <profile classname="sun.applet.AppletViewer"> + <customize> + <arg value="${applet.url}"/> + </customize> + </profile> + </target> + <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72"> + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> + <nbprofiledirect> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + </nbprofiledirect> + <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true"> + <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/> + <jvmarg value="${profiler.info.jvmargs.agent}"/> + <jvmarg line="${profiler.info.jvmargs}"/> + <test name="${profile.class}"/> + <classpath> + <path path="${run.test.classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + </junit> + </target> + <!-- + end of pre NB72 profiling section + --> + <target if="netbeans.home" name="-profile-check"> + <condition property="profiler.configured"> + <or> + <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/> + <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/> + </or> + </condition> + </target> + <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent"> + <startprofiler/> + <antcall target="run"/> + </target> + <target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <startprofiler/> + <antcall target="run-single"/> + </target> + <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/> + <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs"> + <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail> + <startprofiler/> + <antcall target="test-single"/> + </target> + <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <startprofiler/> + <antcall target="run-test-with-main"/> + </target> + <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent"> + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> + <startprofiler/> + <antcall target="run-applet"/> + </target> + <!-- + =============== + JAVADOC SECTION + =============== + --> + <target depends="init" if="have.sources" name="-javadoc-build"> + <mkdir dir="${dist.javadoc.dir}"/> + <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}"> + <and> + <isset property="endorsed.classpath.cmd.line.arg"/> + <not> + <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/> + </not> + </and> + </condition> + <condition else="" property="bug5101868workaround" value="*.java"> + <matches pattern="1\.[56](\..*)?" string="${java.version}"/> + </condition> + <javadoc additionalparam="-J-Dfile.encoding=${file.encoding} ${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}"> + <classpath> + <path path="${javac.classpath}"/> + </classpath> + <fileset dir="${src.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}"> + <filename name="**/*.java"/> + </fileset> + <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false"> + <include name="**/*.java"/> + <exclude name="*.java"/> + </fileset> + <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/> + </javadoc> + <copy todir="${dist.javadoc.dir}"> + <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}"> + <filename name="**/doc-files/**"/> + </fileset> + <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false"> + <include name="**/doc-files/**"/> + </fileset> + </copy> + </target> + <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview"> + <nbbrowse file="${dist.javadoc.dir}/index.html"/> + </target> + <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/> + <!-- + ========================= + TEST COMPILATION SECTION + ========================= + --> + <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test"> + <mkdir dir="${build.test.classes.dir}"/> + </target> + <target name="-pre-compile-test"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target if="do.depend.true" name="-compile-test-depend"> + <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/> + </target> + <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test"> + <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.src.dir}"/> + <copy todir="${build.test.classes.dir}"> + <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> + </copy> + </target> + <target name="-post-compile-test"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/> + <target name="-pre-compile-test-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single"> + <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> + <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/> + <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"/> + <copy todir="${build.test.classes.dir}"> + <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> + </copy> + </target> + <target name="-post-compile-test-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/> + <!-- + ======================= + TEST EXECUTION SECTION + ======================= + --> + <target depends="init" if="have.tests" name="-pre-test-run"> + <mkdir dir="${build.test.results.dir}"/> + </target> + <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run"> + <j2seproject3:test includes="${includes}" testincludes="**/*Test.java"/> + </target> + <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run"> + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> + </target> + <target depends="init" if="have.tests" name="test-report"/> + <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/> + <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/> + <target depends="init" if="have.tests" name="-pre-test-run-single"> + <mkdir dir="${build.test.results.dir}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single"> + <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail> + <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single"> + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> + </target> + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method"> + <fail unless="test.class">Must select some files in the IDE or set test.class</fail> + <fail unless="test.method">Must select some method in the IDE or set test.method</fail> + <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method"> + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> + </target> + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/> + <!-- + ======================= + TEST DEBUGGING SECTION + ======================= + --> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test"> + <fail unless="test.class">Must select one file in the IDE or set test.class</fail> + <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method"> + <fail unless="test.class">Must select one file in the IDE or set test.class</fail> + <fail unless="test.method">Must select some method in the IDE or set test.method</fail> + <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/> + </target> + <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test"> + <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/> + </target> + <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/> + <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/> + <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test"> + <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/> + </target> + <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/> + <!-- + ========================= + APPLET EXECUTION SECTION + ========================= + --> + <target depends="init,compile-single" name="run-applet"> + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> + <j2seproject1:java classname="sun.applet.AppletViewer"> + <customize> + <arg value="${applet.url}"/> + </customize> + </j2seproject1:java> + </target> + <!-- + ========================= + APPLET DEBUGGING SECTION + ========================= + --> + <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet"> + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> + <j2seproject3:debug classname="sun.applet.AppletViewer"> + <customize> + <arg value="${applet.url}"/> + </customize> + </j2seproject3:debug> + </target> + <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/> + <!-- + =============== + CLEANUP SECTION + =============== + --> + <target name="-deps-clean-init" unless="built-clean.properties"> + <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/> + <delete file="${built-clean.properties}" quiet="true"/> + </target> + <target if="already.built.clean.${basedir}" name="-warn-already-built-clean"> + <echo level="warn" message="Cycle detected: UyTube_estacion_de_trabajo was already built"/> + </target> + <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps"> + <mkdir dir="${build.dir}"/> + <touch file="${built-clean.properties}" verbose="false"/> + <property file="${built-clean.properties}" prefix="already.built.clean."/> + <antcall target="-warn-already-built-clean"/> + <propertyfile file="${built-clean.properties}"> + <entry key="${basedir}" value=""/> + </propertyfile> + </target> + <target depends="init" name="-do-clean"> + <delete dir="${build.dir}"/> + <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/> + </target> + <target name="-post-clean"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/> + <target name="-check-call-dep"> + <property file="${call.built.properties}" prefix="already.built."/> + <condition property="should.call.dep"> + <and> + <not> + <isset property="already.built.${call.subproject}"/> + </not> + <available file="${call.script}"/> + </and> + </condition> + </target> + <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep"> + <ant antfile="${call.script}" inheritall="false" target="${call.target}"> + <propertyset> + <propertyref prefix="transfer."/> + <mapper from="transfer.*" to="*" type="glob"/> + </propertyset> + </ant> + </target> +</project> diff --git a/UyTube_aplicacion/nbproject/genfiles.properties b/UyTube_estacion_de_trabajo/nbproject/genfiles.properties similarity index 67% rename from UyTube_aplicacion/nbproject/genfiles.properties rename to UyTube_estacion_de_trabajo/nbproject/genfiles.properties index 2881350..3d54215 100644 --- a/UyTube_aplicacion/nbproject/genfiles.properties +++ b/UyTube_estacion_de_trabajo/nbproject/genfiles.properties @@ -1,8 +1,8 @@ -build.xml.data.CRC32=59ef3ee3 -build.xml.script.CRC32=1be81de8 +build.xml.data.CRC32=03fbe688 +build.xml.script.CRC32=fb5a3579 build.xml.stylesheet.CRC32=8064a381@1.80.1.48 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=59ef3ee3 -nbproject/build-impl.xml.script.CRC32=61d910f1 +nbproject/build-impl.xml.data.CRC32=03fbe688 +nbproject/build-impl.xml.script.CRC32=3cd63f78 nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48 diff --git a/UyTube_estacion_de_trabajo/nbproject/project.properties b/UyTube_estacion_de_trabajo/nbproject/project.properties new file mode 100644 index 0000000..6843fdf --- /dev/null +++ b/UyTube_estacion_de_trabajo/nbproject/project.properties @@ -0,0 +1,81 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# Files in build.classes.dir which should be excluded from distribution jar +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/UyTube_estacion_de_trabajo.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +file.reference.JCalendar_1.4.jar=librerias\\JCalendar_1.4.jar +file.reference.UyTube_logica.jar=librerias\\UyTube_logica.jar +includes=** +jar.compress=false +javac.classpath=\ + ${libs.PostgreSQLDriver.classpath}:\ + ${libs.absolutelayout.classpath}:\ + ${libs.eclipselink.classpath}:\ + ${file.reference.JCalendar_1.4.jar}:\ + ${file.reference.UyTube_logica.jar} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=true +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=Presentacion.frmPrincipal +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/UyTube_estacion_de_trabajo/nbproject/project.xml b/UyTube_estacion_de_trabajo/nbproject/project.xml new file mode 100644 index 0000000..d890fe9 --- /dev/null +++ b/UyTube_estacion_de_trabajo/nbproject/project.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://www.netbeans.org/ns/project/1"> + <type>org.netbeans.modules.java.j2seproject</type> + <configuration> + <data xmlns="http://www.netbeans.org/ns/j2se-project/3"> + <name>UyTube_estacion_de_trabajo</name> + <source-roots> + <root id="src.dir"/> + </source-roots> + <test-roots> + <root id="test.src.dir"/> + </test-roots> + </data> + </configuration> +</project> diff --git a/UyTube_aplicacion/src/Imagenes/about.png b/UyTube_estacion_de_trabajo/src/Imagenes/about.png similarity index 100% rename from UyTube_aplicacion/src/Imagenes/about.png rename to UyTube_estacion_de_trabajo/src/Imagenes/about.png diff --git a/UyTube_aplicacion/src/Imagenes/des.jpeg b/UyTube_estacion_de_trabajo/src/Imagenes/des.jpeg similarity index 100% rename from UyTube_aplicacion/src/Imagenes/des.jpeg rename to UyTube_estacion_de_trabajo/src/Imagenes/des.jpeg diff --git a/UyTube_aplicacion/src/Imagenes/icono.jpg b/UyTube_estacion_de_trabajo/src/Imagenes/icono.jpg similarity index 100% rename from UyTube_aplicacion/src/Imagenes/icono.jpg rename to UyTube_estacion_de_trabajo/src/Imagenes/icono.jpg diff --git a/UyTube_aplicacion/src/Imagenes/ukp.png b/UyTube_estacion_de_trabajo/src/Imagenes/ukp.png similarity index 100% rename from UyTube_aplicacion/src/Imagenes/ukp.png rename to UyTube_estacion_de_trabajo/src/Imagenes/ukp.png diff --git a/UyTube_aplicacion/src/Presentacion/Categoria/frmAltaCategoria.form b/UyTube_estacion_de_trabajo/src/Presentacion/Categoria/frmAltaCategoria.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Categoria/frmAltaCategoria.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Categoria/frmAltaCategoria.form diff --git a/UyTube_aplicacion/src/Presentacion/Categoria/frmAltaCategoria.java b/UyTube_estacion_de_trabajo/src/Presentacion/Categoria/frmAltaCategoria.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Categoria/frmAltaCategoria.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Categoria/frmAltaCategoria.java diff --git a/UyTube_aplicacion/src/Presentacion/Categoria/frmConsultaCategoria.form b/UyTube_estacion_de_trabajo/src/Presentacion/Categoria/frmConsultaCategoria.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Categoria/frmConsultaCategoria.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Categoria/frmConsultaCategoria.form diff --git a/UyTube_aplicacion/src/Presentacion/Categoria/frmConsultaCategoria.java b/UyTube_estacion_de_trabajo/src/Presentacion/Categoria/frmConsultaCategoria.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Categoria/frmConsultaCategoria.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Categoria/frmConsultaCategoria.java diff --git a/UyTube_aplicacion/src/Presentacion/Categoria/frmListarCategorias.form b/UyTube_estacion_de_trabajo/src/Presentacion/Categoria/frmListarCategorias.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Categoria/frmListarCategorias.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Categoria/frmListarCategorias.form diff --git a/UyTube_aplicacion/src/Presentacion/Categoria/frmListarCategorias.java b/UyTube_estacion_de_trabajo/src/Presentacion/Categoria/frmListarCategorias.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Categoria/frmListarCategorias.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Categoria/frmListarCategorias.java diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.form b/UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.form rename to UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.form diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.java b/UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.java rename to UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.java diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.form b/UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.form rename to UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.form diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java b/UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java rename to UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.form b/UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.form rename to UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.form diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java b/UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java rename to UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.form b/UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.form rename to UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.form diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.java b/UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.java rename to UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.java diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.form b/UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.form rename to UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.form diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.java b/UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.java rename to UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.java diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.form b/UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.form rename to UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.form diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.java b/UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.java rename to UyTube_estacion_de_trabajo/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.java diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmAltaUsuario.form b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmAltaUsuario.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmAltaUsuario.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmAltaUsuario.form diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmAltaUsuario.java b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmAltaUsuario.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmAltaUsuario.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmAltaUsuario.java diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmBajaUsuario.form b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmBajaUsuario.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmBajaUsuario.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmBajaUsuario.form diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmBajaUsuario.java b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmBajaUsuario.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmBajaUsuario.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmBajaUsuario.java diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuario.form b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmConsultaUsuario.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuario.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmConsultaUsuario.form diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuario.java b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmConsultaUsuario.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuario.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmConsultaUsuario.java diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.form b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.form diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.java b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.java diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.form b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.form diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.java b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.java diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmListarUsuarios.form b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmListarUsuarios.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmListarUsuarios.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmListarUsuarios.form diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmListarUsuarios.java b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmListarUsuarios.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmListarUsuarios.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmListarUsuarios.java diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmModificarUsuario.form b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmModificarUsuario.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmModificarUsuario.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmModificarUsuario.form diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmModificarUsuario.java b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmModificarUsuario.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmModificarUsuario.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmModificarUsuario.java diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmSeguirUsuario.form b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmSeguirUsuario.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmSeguirUsuario.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmSeguirUsuario.form diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmSeguirUsuario.java b/UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmSeguirUsuario.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Usuario/frmSeguirUsuario.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Usuario/frmSeguirUsuario.java diff --git a/UyTube_aplicacion/src/Presentacion/Video/frmAltaVideo.form b/UyTube_estacion_de_trabajo/src/Presentacion/Video/frmAltaVideo.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Video/frmAltaVideo.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Video/frmAltaVideo.form diff --git a/UyTube_aplicacion/src/Presentacion/Video/frmAltaVideo.java b/UyTube_estacion_de_trabajo/src/Presentacion/Video/frmAltaVideo.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Video/frmAltaVideo.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Video/frmAltaVideo.java diff --git a/UyTube_aplicacion/src/Presentacion/Video/frmComentarVideo.form b/UyTube_estacion_de_trabajo/src/Presentacion/Video/frmComentarVideo.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Video/frmComentarVideo.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Video/frmComentarVideo.form diff --git a/UyTube_aplicacion/src/Presentacion/Video/frmComentarVideo.java b/UyTube_estacion_de_trabajo/src/Presentacion/Video/frmComentarVideo.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Video/frmComentarVideo.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Video/frmComentarVideo.java diff --git a/UyTube_aplicacion/src/Presentacion/Video/frmConsultaVideo.form b/UyTube_estacion_de_trabajo/src/Presentacion/Video/frmConsultaVideo.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Video/frmConsultaVideo.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Video/frmConsultaVideo.form diff --git a/UyTube_aplicacion/src/Presentacion/Video/frmConsultaVideo.java b/UyTube_estacion_de_trabajo/src/Presentacion/Video/frmConsultaVideo.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Video/frmConsultaVideo.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Video/frmConsultaVideo.java diff --git a/UyTube_aplicacion/src/Presentacion/Video/frmConsultaVideoEliminado.form b/UyTube_estacion_de_trabajo/src/Presentacion/Video/frmConsultaVideoEliminado.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Video/frmConsultaVideoEliminado.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Video/frmConsultaVideoEliminado.form diff --git a/UyTube_aplicacion/src/Presentacion/Video/frmConsultaVideoEliminado.java b/UyTube_estacion_de_trabajo/src/Presentacion/Video/frmConsultaVideoEliminado.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Video/frmConsultaVideoEliminado.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Video/frmConsultaVideoEliminado.java diff --git a/UyTube_aplicacion/src/Presentacion/Video/frmModificarVideo.form b/UyTube_estacion_de_trabajo/src/Presentacion/Video/frmModificarVideo.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Video/frmModificarVideo.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Video/frmModificarVideo.form diff --git a/UyTube_aplicacion/src/Presentacion/Video/frmModificarVideo.java b/UyTube_estacion_de_trabajo/src/Presentacion/Video/frmModificarVideo.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Video/frmModificarVideo.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Video/frmModificarVideo.java diff --git a/UyTube_aplicacion/src/Presentacion/Video/frmValorarVideo.form b/UyTube_estacion_de_trabajo/src/Presentacion/Video/frmValorarVideo.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Video/frmValorarVideo.form rename to UyTube_estacion_de_trabajo/src/Presentacion/Video/frmValorarVideo.form diff --git a/UyTube_aplicacion/src/Presentacion/Video/frmValorarVideo.java b/UyTube_estacion_de_trabajo/src/Presentacion/Video/frmValorarVideo.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/Video/frmValorarVideo.java rename to UyTube_estacion_de_trabajo/src/Presentacion/Video/frmValorarVideo.java diff --git a/UyTube_aplicacion/src/Presentacion/frmAcercaDeNos.form b/UyTube_estacion_de_trabajo/src/Presentacion/frmAcercaDeNos.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/frmAcercaDeNos.form rename to UyTube_estacion_de_trabajo/src/Presentacion/frmAcercaDeNos.form diff --git a/UyTube_aplicacion/src/Presentacion/frmAcercaDeNos.java b/UyTube_estacion_de_trabajo/src/Presentacion/frmAcercaDeNos.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/frmAcercaDeNos.java rename to UyTube_estacion_de_trabajo/src/Presentacion/frmAcercaDeNos.java diff --git a/UyTube_aplicacion/src/Presentacion/frmInicioSesion.form b/UyTube_estacion_de_trabajo/src/Presentacion/frmInicioSesion.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/frmInicioSesion.form rename to UyTube_estacion_de_trabajo/src/Presentacion/frmInicioSesion.form diff --git a/UyTube_aplicacion/src/Presentacion/frmInicioSesion.java b/UyTube_estacion_de_trabajo/src/Presentacion/frmInicioSesion.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/frmInicioSesion.java rename to UyTube_estacion_de_trabajo/src/Presentacion/frmInicioSesion.java diff --git a/UyTube_aplicacion/src/Presentacion/frmPrincipal.form b/UyTube_estacion_de_trabajo/src/Presentacion/frmPrincipal.form similarity index 100% rename from UyTube_aplicacion/src/Presentacion/frmPrincipal.form rename to UyTube_estacion_de_trabajo/src/Presentacion/frmPrincipal.form diff --git a/UyTube_aplicacion/src/Presentacion/frmPrincipal.java b/UyTube_estacion_de_trabajo/src/Presentacion/frmPrincipal.java similarity index 100% rename from UyTube_aplicacion/src/Presentacion/frmPrincipal.java rename to UyTube_estacion_de_trabajo/src/Presentacion/frmPrincipal.java diff --git a/UyTube_logica/Imagenes/about.png b/UyTube_logica/Imagenes/about.png new file mode 100644 index 0000000000000000000000000000000000000000..937e151247a0fb9b1e63ea91a4ea849744f012da GIT binary patch literal 72290 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 WfV;4K^;%~PAk>w$m8unNBmM^f*%ssg literal 0 HcmV?d00001 diff --git a/UyTube_logica/Imagenes/des.jpeg b/UyTube_logica/Imagenes/des.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7a7eb2ebcdb13adad971a990838700e2ba23ab7d GIT binary patch literal 33682 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 P2z)}|{}q8Fe+>T@bj%&# literal 0 HcmV?d00001 diff --git a/UyTube_logica/Imagenes/icono.jpg b/UyTube_logica/Imagenes/icono.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e1c6c0706f82d5f48c7f8719a85952965bb15b21 GIT binary patch literal 2123 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 Qmmk~mf9?6VJtP|aFCHFdW&i*H literal 0 HcmV?d00001 diff --git a/UyTube_logica/Imagenes/perfiles/JotaJota96.JPG b/UyTube_logica/Imagenes/perfiles/JotaJota96.JPG new file mode 100644 index 0000000000000000000000000000000000000000..3efaaeaebf1d20cb7f712514b0cfc0096f6b0007 GIT binary patch literal 460846 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%0D(Hw=~`@3tc(`o-4}Lv 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%0D^pKC`R zKrR<5mAyKUQPGuc4G)L<>uc7RP4+gof(RKTV?N#df&Tyk_1ZtBFN$=_OUs!ghG`Nz zcinF;!5^5T7|M<T`f*H-`~DHZ4w}&3`7#iIBtvt8eLIqCFUB{KwYj%-xQ0u43W#Kn zV~l@zdX9VctmDq-<Xt<I{3$$1tlZnQOwvf+Zv1fFGml=CL&wv!(cMVD>mx=GfG|^z z1ziysG#~9Gl0}lvVYn|+hll6!ADv<NgI13FUy)WtYZDnKpPP4I<y|sH-1gY<Ul!@{ z=o48q6HHa4%!P*5+&g+;*LkDf{{UiqCW`9YHv)T^S>i3XZZ@typ7qN7O4U;LOqR}g zcSR%aw7gCPE;=NfcOTH!x5F#>yg~5$QSj}=FdL0NQ7yco#H#rxda%zR5DrIU`RyHu zZL_NI*Mlr|p9WuPvP0#jt&5DuCiRT*f)B4l?^Y~+9e-qaV%`t!U$W0`*fT%N=c@hH z2Rx84KMJql--$LUta)h4i*L5pb=&2tF*`?WV0GiQcN*K=SxVbXdv@;IE(*xK`2PSs zY9%Wf>|*J+5nt#q>JUu@%#7h%V`P#z>(i$-a?ehh)4|i3KK8?&bJm^U{{RU`_G{(0 zwOboGq!LFQeIq2~h0ktr^u=oUnTDO9Dze~9Adjz6TE=Ou4(vKjpMU=V!8W`x4}<>z zXRS3EHa+1pG4($$TKYyHv5s=gxa9Qq_OB29kfZW`5cqx{yBv0^r1b#x{=d$>j(t+j z)mfxv4Y${j2dxRa>U}02o|+W=Vv9AnU*cnxBaVC5oa#~j@sXH$iT8bT>s@Dwd_!v1 z<&2*;enX%0{&8F$v8`MEsifXIckj(pl08arX=+DrW#+RhGx6wseJdx#R;z4`vNI5J zK_|Dr`R!WJ_>R&mZQHr^2d{j8pK9U!XXDFxnTF+Eqq9^SYPT_UxmdAZ!x`yZZ;9;# zLnmIj>sorZjBTTAw8$5)%)xV9w!QHeOA$z|e`pU(89>Er7@Rnok?wJRGw{qh-L%%% z3a=c>RPoccYs~x$b9L~K#=}m#VfHJ(l^gg^q59XTY92Gv=IMQE-k6kgUTgb6O%AK! zHM_N%7Pzy0<7<BoIUmZj<!6smmiI@kNh;l2WlFlRuLb?3z5-eJ%GOKkXx2N(!2y8# z+-C;6&x79(Q^sBhx4A3?iafbSc?>;&oo{Mw9olV^Y2C-xqhmQ!jY#T#b6jZG9v#=- z*5WdZ2?QR-th5Cs<Dukx*Sh}He+ZFxYPM<n#W`>XTJbE2BV2vu>srQFJPOoYC1Qp8 ze)9u?o@y!AV&DZ~j+JWqJnm!Z%~L-zD{>D`ohpn7<vTXXx9TaSmv`Ra^Yp1yE#0$w zbgJG)=r@0Nfr<dRZTEhh8r1Ol`(W}%-d>CAS+;4tJ<qL4VLMr0tc%9e^J1o34Ib(6 zX61Z7x=q|yTaARWKa$zQy91Tu>t9uPYx^CnE%mF*Ew{5lxnHYBdyoFTd`s}J#~<*B z_=YLAt;*z;R^?UC@mJJe1N?pe013B+Bz>&EXSsM0$@}=h&$n9QsTXt6p(SIH`0wMk z*YzurChKb(btsBIioRR%R1I^ht@WBTEewI<+x!d;LH#S~Z;pCXUu(@9NeqVM@7jm% zo}A*m$Ho5u5B~tLw0P!@FwLLdD;}b?ifSi4SvMotJU!uwyi?(8ZxzWky6SS+A#_Oj zcPa}4I}F!H;9CaxofW2-*Oy*&NF|go{{T{dxCc*8eJhszoPH{Q!b9PCG`px{x44Ch zc_4hwomGJSKMM74g*M5dHRRCAZyeWc<wp_5{iDC*n&*_CQ?iviqQ%r+Bk=RBo64Gw zo}j20+RNMNUo`mROq0W(A2gXRnA^cM^kL9&Sy_g2?Z~gHJa4Z_r)iAL?2Q;KNIgBx zd~fm3R-57%i)6Wtzj&a9W#~t(RVd$K;w>G|ZT+SGBqY$q;r%_9>gstH?P`Z2B+m<< zQae{uqx>T=_+v|!&gNS+c+|1S1Y@7_YsLQnV}TEeHNOylX|$3_r^L4=bMw5cNdO<p zzLe5+L#XK1^DmtoDx_hCGJnF9qiqan+C@(mX*M=GJ)AMi9MTN4$lY55k@@1hyTA~| zseDD%ZA-%}aiEp<9J2C8G3nRw9@V+=C&#w7n!4CoMy+zW^Pd>OKhC_T;Dv^v2kjo) zT4py8N?fnpDmes?PT!3<#n{$TjnASq`}pFW6_u4E0~~O;=qn$^9x-id>iDT<jZh#U z{qEdWmG_75Ep8g@$UM1J?l{2q;;>svlFLbZhGckPIUzvHW}-Wmnzo0U_=igSR+D<I z9_7JS2b=@^>x=!Iq1obDA-9ulz;TQo8zh7Lg?jD%xwz5wDFTIwqu<Zo7&YY|1hn<D z_=kNG+s<T;Lza*DQMvp&gUxTy<Z9ABn2*7pd{Iv&!cB)hXU*TR{#DNWN73L-QXeet zlG$>@b}|0Qt9KfdIyR5?c-m%;1LiD%WXb;b(zq>K;&QCBH<B(GmT}L`&#h+{*w#^9 zOxDvi&x`&%n$p$Q&dvzR%<guC9XRzh-grO3aQry3T|ZBet}`b2CF;_!{*|5Z7UEm0 zTkS$<S$^9iAdC$BiVq<DN&Ks^(=8Ux2EB!3D!JUQN60HWt-T7Ol6Nm#Xg_OZGUw(y zpC_-ic=yNu0Ed<rnw7o8TkUTlluaD5oE`}D;=O)7Sym10BCAQ$o=ti0#H%=bO|A)} zk(x_H5su@3`8Az5$myvY>`~Ev49(*mI@bC8QL9^Avf!@q<w!jW`~7PJQ}|~u!S9HA zZnziwU&~nq$c+z|22_CF_&BdX@XeHZBz7X|W>}+KnADz6PHO)E#7O12@YVC!?f(E& zSy_hQTOBKIW}TVMIHZpS_@Cj)JW;E|b!RYX8A`DnfC=Lj^cTUu1b@N{@cz!;W=QWE zKQcoY0G9Qy1^5}RNvim#>^g?VkzalkV>tG&qC8B^6cDshe){0-jXw@*rLm1Y&L3LQ z^&b)V(m0IFw#vpwZ%{G)Ytig2E$uWpH!9_Nf;l<wS>6=1Ykl8o^8DEwt`2Z3Qt2Z; zcir;TX1QxivC|m!If<uRSy;TXDl>ek{(Y+}$6hXvNYZAJN!o*h{qMrIHEnLr*LHlD z^7%Pz?8SM1h;`xdU&cO7yEVO?xDlxz#!hl*qpw3cnhv+pWY;u?)FoZm9FJW3eJjZR zBnvwoep$A(cNkd_n;;T6{+0D!pW)bSbl72r-B}O>`G+5seD(WVXw9Xk&1$Q<Oe}zO zALLhbB%X&HqW5Q~d;<9G;d`Aw%#!LmJH=20E;i(m$OQ0t$oH>8vGKH;{nwn+GRCL( zVR6NLXYjhhD?bs~t;v(@HwAxqy%D=-`B&8*5tHmzOsln{<br$u0EI<QcVlWcdK=p1 zt7^J~O)~j|u73*R{B3t7+^cExBsTv5HhoF0Yrh&uEgNiXT0D>d?b@;AGitVeWTkw< zLB=>0jBmR-B@)H8oLXj$8)tLO2E{yXHPLt?!Yv}s<Lw1}>z};2`D-Ih(^mB%nZM<T z+B5t$r+CF>jiE+pRepWn%u{-k%F-ja)uYliDI<1_2T-^tI2;<Ly5^s#Ub9K$z|fp3 z88N@#6^U(mY2r;%>gGM{KH%Nljw&s4MY5PcvM=wunpRdPnAV3_Yn^6Eqlm4gt^t@F zZYQv=KjMC=ajMA;#0@RGTfdsFjq_!A1L#RVm2O??52$J4&fSXbZdW+nj+M^eokDG2 z$(k7Bw?qn<>co?heQCxWLQ;0n=)51}OV9X2gKC#iE%eElqEZVS^UvYUalaKTCf2m1 zn%w4i7(RMn4!_Qy;yqhW@XTUKm44Jl*nsPkQP^H;S2|45vbE5<P(mgEA4=$gwx$x7 za}!Itn^?NCx78cWGB{n};6^*wRjTOLdIyVVhRQ~g*3L2e&%L|od(*rr@Ix}iHO17j z+#Y0K;U7x3;vE`oChkaN+OVEfA^XG9s`p}IcyHqs#;@X7td`8IFbqZ)_>WAQvGHCB zl*e%_+psg`e+^0CogHDF{FGFNFPceDQhN;kb;SH>_@b$BwpRZDzL}UWvW$%9^`S)t z^e<=^TE~tqH>6_D%}&hc?_#|o&hgAkZy%Ue1qu(Pb3Pc=H22XK8(9@v9lt6L=bGy@ zVzEYdU^8&JJn`PMoQjQ^8PMdFU0HYT1gIyyWcYi-b6RRob8@ZbZo;Ra^{&nf#kjWp z+4-XCYa?8_nJwhGQNPO=A74{WH4_O!+Lg6^RcvR+{It)fQ&c=psa#sy+ulhdM+9xP z!0ruIf?4H)OWUR&DawyZ<@{BzUF&)jvBTy`Z4807_Rs$STB~wpGoXgf<HUE-ta9wP z-ICeuT;Gj+Q>b`<#Ghr-ztb)NI0x>>k6-iJt^7UleWj+I=DpN&NW6vJpTi%8SXk{f z3(2prsPdjdj-J$>g-27DvGE6p{6XRvS6OJ_(%>8A2_N4*y?uX5hhOmx<XV}6)nfAZ ze7TP-$`5Z!?QVpUrr#ztx9VK-)yX!o41Oh%SIa-b7>}FqtlW(h82b$>^HR21Sygv* z-1sC>T1IIfnAB}NjQ66AO65DP2S#0Q#Wxob%_Y83N0P(K+s9MejCHG5-W;>I(<F*X zBA!HIM5;#Y{c2eQL3q$yTih<>D+SM%NN-%9PkPtzhllL%Al(}*(nfx4xWPH(V!kf2 zow=9XdHk%e;ExMi>)I<?*{fUXP=e1katH?_BR_`~U*hk=dtVm#7G+kB8_1W=h1Z@y z`Mt++UY)IJ?GB+1t7i;w&2)tbjxQ}Rpbp<D&mfA!eOBCRHv(&Ajih7pDuAn=c^xsy z>0OvEl6o?fS>->o&bxCm+t|%?t#joRw1Z|<igg6!5J=~W^$k~0y0ndBYX$SRVT^Cb zwiJPn&b*hynnsm*@t#d8;^N}g6LaT7acsZ7gB^B^jP>b}(!GOG)hD)Pw30tQNMt2u zAOOqIXV9NY?v!6RIGp{)s?lmwNhEVGmchdq_Yg-UahlSC{P?zQPHX86#Fwz2EwWhe zZ*$Pn>d-98(Z<DDvhqiaF7Eg>*#6G?zLVk4h+2N7t7t2%Lu0mh?QUj8wrQ1tLvW20 zf@nz?XueXw@ax~x!O>EZi*_-oE>(1LdJdm7k*=G49MN4RzYNQdG<GZfYSxSJ$64`) zs+RgqjrIN4lO*COqGpkjG%n>p<n2{vBy<W-Kx^smhhGPLJMm7_#1ZNqD%0Wd7lmNA zvamXo@2uNSBb1h!3(I5VTUx65P=hMZ2=iEyg9bfs8^`eP;fL(44zHl<68O&R$J%D8 zq-l1#wwv~Qn|ot9iVL`hl<|p@MP_`FAXmh1@^7!Rj|r(X`Sk1M)$6ssXPqo`xw&GG zhi&0i`&IOcs|-8$25dI~pXvD0co0T3OIaLwaycv&hC>2L%}?U}CA9q_?#-k=V<A^o z2ls4v+HwX+=~lGA4fz@+ox5BlE~pSl&GM)NABB8gHk1_HV)RX(#C2MY)S=mOz<uvh zDhpe=A$5&DR$P&hpZ@?=PaV9bZzgBl(W!88_x}JItA#=swl^FSE6tTOfYZ70JbGT2 zJTcnDZkcyH(+$kLb{>Yg?*;g~$gq;vYkA#OkYE$*Qfu>@yBo%je%QfP9FlznP4JS^ z9ZvK2@yQ~n46%Y$r1b#fid>w^#!_}QbZt3j(yl(xt1p;2RvVQ2pP{Xf4#+j_9z=y> zo5=v-V<A@^e+u2Xu+yzAbtREz(rqtNSv2!=BTCyrJ7O{fP~>C+!4wiRfzr0Fz7{r{ z;XNU={ZB#EzqACA+#5NiX0zCEJnu0T7kK%XYc@gTsmhEh<#j49b<oYtY|b)06|@UB zORJT&k9O<{cpkXhklFh2UY+n`;f2S<+vT4}xYsOn^^qWw{?gVtBea}?${FUK7?&YQ z1*B3)z!m0RFPh&<)8nyZmTxV8*KghP^y!X<tb88Rt#$tZ6US?J41Z^i2b7a><TD~E zk??joCu*E1Qb_;+dR8C8Uh#2jsY~K#glF(~iSOo`=TFz6k@kjgZDhI)(m)SxLHEzT zYtF9qV`ryd2<>j55)&8tz2!mf2+n@K)#yJLb$InZ6VHA2iKLD-Rx(`Ay~3&m8Dos# zC;(%C0PS4=0D@ziTDhL;Gb9$0kC9)3fN~oi{{YIpT6H07vu9!t0(@-yH-lmD{{Y)A zE}^&Nmn$C}oE^uWy=kv_$#=He8Lk&Qw<DtkA6(Xdh<rU99xReem|?t%;FQT+s6DVv zTCw<brpsg|ic5<*x8+PSkO$$?l}~4}n`P;*q&kY-HNC`sUKRL8$D!e=x~{VhsN15N zNaY>pjHnprgUG?Gy<be!w29$cZBx!x1d%*>P=5|<KI2up(V3q1-JMit&9=)aA5OIj zidzMX$*4(xsiL&rbdnqZKZdMpzAw^zH+LPi@S16)2McbS&V9{8XX0<|%TKduEYX>G zp6rfPe|2ia8Xc{SURo+l%s_e1%ulWl`4v30*Tgjxw=?yhidvQIamAwPmbUTjD)QYq zBl780Z0$Trtj7%3divYQxf^Vw0SD5%TPqkvoN%OZ{Gj}*I@PTw;pUgA-&{;@&XXOj zyWBq1G6`68ML~g<Bn*-O>PW4q$})Vkm6<cCWOEuvf#*%qTxyz@q35Ai^QGPR;8t3E zJ%dfYWrq6oV-LUPlXgk^^sdSn+QqIKJB`pYVOYnth|ko3eXE-Be~8?)ixT0Z8D>@J zJ!`5w%SjHJ=G@NIbj?%4bE@e2-OrlebtQ;MK9!r|eKT6u^lOIIEn>KxVJZHIe70p_ z^I#r_6}RB;-rTI$5;<<lz@6jzS92A$q`C#v%${6e>^r-Y&@X?+xgIJ}m69)+Esu-* zMd3>?vdK1=e;UcOtk(AoQO-LK#~)he?z}lRn2RLQ$%b6*3&H$FdpE}qgLj@A(<Hpn z<C5b|o@SO+VZM7}bDS_4EA89)c^gToXjXB{x^F5$^0w{B$I~4v*`rgMH$t__f7zOT zsdZ?!re&FiBtkkLZ(P@HqiP;aywTg?Be92^kG^sN$*w-rRJXsLF*FMttUwY&^7HP$ z;fm|@eFkf*tIJz^$Yiv-3%$yfC|8gOBl%{u9>vcOHNK;BaU7rMkgg<YSpz9=LGRa! z^uGjnUOyW6V&*vQ=ZEZJWwo8iX*TB!J-c-2UN_?{D&t2swvhRaZ*hW>Dc$DCKbN(7 zm%&{^>%%?`zPORDp6c>-w*iOxqN67#@$XsA{RXu={{V-2N$@R|#NJ=;rJSPqjg}z( zwKv7ThdL@lZ>dKF&|h3fy9oYgnE30^015m@zf<B~D)^zQcyGt8apy>PP4j%&UA_1{ z{p;U68}SE2@&5pX{?%{(l+2qXib02oheOBo>s&P}I#1q0lvd}8X*vzn*NCKRjq!<} z<^^{0dSf3-lTfj}m&VYEi(11BfS+Vjn)iJlOYr^WmFnGCO*Q*OrV0MkmhoGVPVB~1 zm&m{vWFY?ldpNEa;zodOd^vG7zGl2w%DTt%KHpq-{3~eGg#Hp^BaHEOu?LT0k~>s( zmIe>BH#4aIEPDG_1$U`QqfNE<Z7s;h-K|fC)>r!Xj_qyi(Y)y71)Yx7Ra40|)qc?) z7aD(zVYu?ublao}=AvT~cjJz}zgnovTLh(ZH{kuuH-0Y*H<u#15~{?2$BsWL?=?$k zd_k(+D=cqrm_wdaE-{X4oA8grC^Q{L&hc(1Yk8t4cONk$wR$&zA&2Z2%WJ2tt40pl zE*)M;PpKUTuocf<FL<$gJDiS{@XF6ZzTInUGOM=Yn~N@U$G$zQqFom2P1PqYBx?k* z;Z%Tj@yNw(_)|%|)<kmMT*zXDivypPf5-6Rvu@kZytudCB)7bOEHL?SIv&-@&27c8 z1l|p6$W@b2g=dguppb1I*vIA4v2QfLFII<74dqRp&9$%?k^0uRiS(Hk?h_*)C5o!P zc~UBmjC2Onp2B7+3qvkE=4>(g4yWr~u(OG#=(z^_dx-7i1*1|9YoOBLTPxXHcGZyJ zHh-mM-P^X1ZS3aVaJNmrabdkXd)95<uQs2qNdQfeu|4^5o)07WR&t8n7|7MQp5Dh% zA7#3KGdU`%z#;TG72bS4@h!#G#l4l?#48Iad1I1B5xgUktW}hN*v0_|(AS<_*r$iC z-uCZn!?d(<5LunOepRpVkHykl_>O4p<nrz=qasBk8<6l<9+>*{tg2IkjpkGxk5$zE zB*2!pHt^V3&Z5ojqqs>J`8$}hm3AetqW}WLah{~-gSJU@_?6uL?VN53`Q6YS0rWqO zbxQ@so~JB#47WmHHe`8)fEWWkz`!28F<G8I)mBO7a~+&k?Iv>?`6XM^)K(N@N?!q? zi>vs?KMr5p>R0ftp%t*)W0x$F5z$)&AIO7VP~JRUW5&^$Cy|#^bLB46@|+TKf5x;v zG<foFht_tDcLM4b_Z&QBwvbOeAMvVx54BwnQ}GS1r)#Q53r!D|9hB*Y1ou<W^}+P7 zR*ZR3q!rGZYv^ortBW<0{y!ph9%FO62cN>cPJfDshDd~L?Fay~eb(cW4_fw*5ltA> zVTWow(IXW=2h2bE-FdH`{6V6oofP*-F^$IQPE}wa@Bsel&Ii3|$fWLRQk{{--FVVr zs=Tb;WOGTm;&HiHdJ*aLuCv0ozu5LyekHPnqml{LV2!ZRi3rIb?F?s%;BD>BxvfVO zEBnT54@&H{tu)W9+UT~@EO6SWJBD`ogk{+O056~wuPR8u^y@n&*R`z{T`Jlb*I0DD zm`fJu&=0)19n|L^TK3EB65?oKlkEGNHNj9fAwTEwtdD>m3Axie1#5Mv1^X@R4RHsS zH*8WAF5pKQ<2dP>^gCM>O%_S~#`2+MAAANof#|u;20D!OuO7A`x$?w^sYgVPDRh|Q z+Ni~H!vyW;wP1Wi_<ySFrouZE@}iBy$nub@j{KVFJTc?#F2l$6wl~wQrL&(t>SKc> zR_eolmJbG2843;tagqj2c_;06@q<Oa_@zC+g>SW~G<mKc?1_IOn}H7EBl9+43+=!q zKp6)Z7_VCoLeS=s(MF`A&%3@1e$={8!*2pv>6aH4-etT?8-JuPVcVL$uKw7%P2+r* z%2$$qc(@;tugJd`c;i(2Q!2|OXBfz1pU#uQ1I4~5NncNsRk)7afh$KVZI3+(Il!$w zoDW`}ZBmw&O#M@D+Dl8-Bnu9y7a1i>^{mem{?b}MhvaXzYEdJ0K--vp74SvxhWt(N z<x*{HQL~Y7GZ>say!#LSy?MWh{A+a&h{~<Rg(HxaA^m7nW8CZi09fa@Dfg$2e{bCj zNP*$Cnn|Q2pvl@l`t{(y5dQ#g%gd|AhSDjKw_%yGxaS=AuNLr+g{=I2;u#xP@ddt? zHWL|?GdAuIZabcRtGDoVhlF&?-w<gYBGxVS2sLX(Yh6WR-qA>>q0b<ZT1GL6!&^AS z)mGVg9<$=@7f`a$^xacZ@fEv6s3)F<CIKCBoMfK;MR+%hHOudb{wcU$3I70Vn>haP zGUo(mxW-2uSDX04@=G%&mkzCSd8FG+&1|Md5w1!3f*t`q@GI562mC^Z!5<6M+s&uj z-$`^gIc>~9Bm&F${#B}yx#h~ON4q@>;5Wdjyiwq3wHu92?&9~)@)i+3?=Pob`KzB1 z{ur->w4aw!X{3-9l^E^=Ipgcab3d~ekK*tayK}5Izo*0Yi^ls!oc{nQmyma<{7rU0 z8NMZGzY^n;dkt$!SuJJxp^8P{BWJEUp1o_fRq1;>TT>YOOX|-a(JwWv3hv@PF6!xb z0$C!EsA4<g)N@(-hwUZe?+EJqW7L}AKZ+}q3<vT*t#n!jqy3-a`zx%+^2ve-`F|g5 z*D^da55)ffiMJ8Rn-s{!gkFH)fBNgse5~12s-2TBH|;U2c<)WShWk&lWr{qXDnf^n z2LR{vuP?g4`!=a0GAEZNa#y&oO7VB>@%@VvTxr)A3d1=^=RZthypzRt_m-OTeX26D z3=geLY%1Q<d75`@GFNv8k>0b>w<9YJ+k4c-^BT9cLmM(&w{^!_(B=zd#I29w=K_R- zD$9?%@6wXVjF-6|jZ1yGCHvT1;}iiMs<JT|;;wB{ynQfgk#<+g<NRvUa*f|3r2t&g zug#I%r*E$n>wmN7#EoN4i&N4pB)3((jLN1^PR8J5W4<x@SB%>>OD;X@y7)CR!Qy4Q zX7bkENpeqP#~$^SMRRIWX!aij{2K9RiM(Fxu1)r961%rT*f&2yc~RWspU$>?dEgB{ z!-+Myk8~(mcgXD{xIFba^{(&3cN1RO+1t-EF@=P%I-XfiQS`1G<5ZWon*55Jn6rWx z2bIP@&(g4qmClL5TIZN)*U|hf*0jAs-cK@Qxhshq0#xYAN1@N>iuIKEt97hgeXXo~ zmd@0QBZe61f-A%PaTDpf{+GJUTo`9b0Dro}aNzxMiuwx2z$a0(jA-c;qs{YfNChxR zJu}Tz;<|+@k7Rkz#ovp%v9y^LZ~n_9SbsaF?Dp@{xep7^4~evuZzYwPF`l1V^k3R1 z!}lH>@N9O@cFgjE;a4P&bLn0+qxinpz){S%Nj%H2n2cl)r1b|hMI^K$q?_E|@D;wX z;V&Nl0K}&)J@WYvu{RBelat#R&V8%t>6cKS!!~yEY7n=QfHOumZaCt+!{G?HgTPk$ zqFOSIN%t!rPnL0xYqEwvBIUkm8C5wf+<KasJDSsqQMu+n5VWT7wwG~zb*MC&v)ufU z5O);Mt$Po`FAKrpojzX@NgBg(eG<m0oS2XvnfEyS0Ivm#_D_qS8s5jumEpI^Uz-30 zARp(S!oHr=v|lH}kX!j~=%G*q9H0XOHJs$yvMQZ4-N?L0t4SA=GfC$xgDDW?W7ey9 zYr}JDI(eE%z>Y>c5On-&oz|@W+|d1;%^Z-jp%2dSo|vw|JaJ>-?+i88sc>!f{GuiS zcX|cqB$~ri>~=*f9$WEa#@cs*{A**R-n5am?&M&+M!Cib_BCJOwv@gM@vfnL8$)po z#9+yS4nY_MegeFA<9*ht@q5L0x}rwl+vVepTLn}eG4I~JfA)5>{{V%9q1oIlZr1T4 z#UPXAIUF`|*P*VRqp8Epx$Jgx>)L*u;Tyl)+)aIQSydTM(SgAq<6d8*I_lmiwbJ~F zqnA6SDt7PVED6Er1$!69OGVNx;Y(HfM3YCB0dmEwi}+#STkS(ay4A#O{h=(SW8I9x zp#K10<x_ht4J8}1(=4<bUkqp|1Td|-LZwszv<&ii{B!S`<6B#r{&_4+jIr)46d%9& zS5e|$6E&xXgf~{rHT=tum+qnUuRns!X*#;xUd`plzaF{zden3@j8bB1y4rY4RP!cQ zy0~5vCU2E9(zN^|HNS|YxE@Z~RyB|g(n-e^T2BVtd{x!1uWe<8e8YrNyLO=9Wcu+- z2ZFUN9#1E0CB$P02OWB~C1=#u@&O$Bo#f|tm9>d?#|%bz6-VL+h;FQW4|M))i}LIW zqoF(s=p*pu-JOc8aqUsS4tF$!o@<@>%CPuXz*iF9NfNVwv8y))vM?&+Yn-(cwx@*r zG<`zf#$I%LmDCc%oD-V*8^eA%lKd^@%w}n!{n13=40rmP@?V8s6pvVrd;b71?shu@ zwm22+9}RvSM=Z|GD@3vYSQGb+T}xQToL%%f4-0Bv+fz*2NRv1tupe4oWX)x|Hj!Cb zvM@8i>05eso;3T3E!S$sqmnBZU)F5&n~9co%xl%#?)@v0O8XsAY~%cMJUUK;b0B5k zGLe8eVr!rHGvO%gir+AO(hb-@=e<$!CcfS*@twV#DywSQW^d#_I`wY}_+$G%#d8{} z<Pm|zYZTHkc9e}PLvi+HD}j$*pjU`~+19h(_;S~7Kh|NG_8mogywfxqgnnWB%6?3K zwc<au4!v)xUt8%gvNged><Rf$V;uhgO46FK6_aT5KZkaU9-pP$1%^gkZ;i%51G)Zn z?;ab}B-P+mjh8a=c61+F@;k2tE{EZ0@1flpjxaI@-aW}R-h3j}g};K${{WWDB*l(5 zWMF!IXsLb4qV2i0tPit!kt_Vl-#5KbpHzk@<Bdz@jvLTa7T2<B@AjvU$@7~m2*pRM zMhoUR_bizh9@IuR(VKIltFUE~b+=N=xWa?{LZ|TwZ3{(}+kVzuFEz{fE5x@@ypYWY z%NWFD4t=?)ymR9zHAo^^B9b+XfLEv;DtTIZ6y%(BAn@*v*0aYV{OIkHzLm47czQ_U zlJCornTJf|3=Y)a2ze5PS1i9NZar$}h_xA3#6ujL7a>C*LTfomqGGNZXNJ<tM~X&N zGfX#<KKHd?>(-{*QI1ZG+$cS<UD8^8vcfqzUzC0ru5Vk_Ep<DI6&YLX;0)A4cXl+K zY>penJ`-OPYmq#WozZ|s!OI^)YjeZ81;w@A-?MpZ8NtcuJ*q1$Lh@H*7s{K71^WS0 zc)!M1dJ%>@IM(v&WDLt6Dx$i%q}7qglDW`-Yustb&1-MwNsyy0jQiIa<BM%eQo3t~ z0vJ^60Jr0s*U|i3wpuLHYEs1<=jO(7v>xAudEdqFiBaDbhRX3BSAqfRX~Hd<IV&2P z=ZLQ(@MFnte7`9^V7zZRtUmzwN=<%My}XTNX)-|Tj8<9Kbq#Y$hRvBgxIiBw?GN=m z@m`<s{>g0gD~63(e6-r9udQhGFmCTdM@;awtT1hfe5PT!h#!?&)2`&2_iUKLj3>QO z(ltn<UoUe>CNm~_=AqOsn$=oGZN7uKsnzaZyJK?WTv#RY_ia#c-j%Csbq=9q`(%xi z83Z1qy?M3Ih@;eWo0Xevaz-~2Pc@I>--tKT_?kNyResNcuG!=K_N?3;^eQzwo!5(z zrnB-b<7o`i1Q;H*XG!qN#if0QSi>VmURDF690AQ=(vn9-A1Po?3HPg>BAIkg4@o1k z`OFT|4?|aWh030%hIpI6so@*RE+A#v<dq%Q)~<MCUYh1LSaB+;`LaIY_4lnUPFQu# zMIlK9i5U6Uu|4WI?Tvu)<Ag?}<8T}wUMjk3PR~MpM_T(lAL$nd5+1!4xbGc{JsxN- zVP%o$86i$X3X8-(DqE|mEMbq&`G_t)@A>UnN5gYo+sP*7QllVe`BRKhQmLkd>G4YL zCD@ThsJsALisxqV{GMxhkvkmqqMsy8{i8m})BIf}rk7&{!Tsg3n9H!pWjti(k4}{B z65h(!QfFxV#*l(o08R&8r#u>l>dGx%(#}X?Q6@GO#_XQs^Q{jG>)L*oa;tC|r-}Te zctF}uzJ0jlcdwF^qT$Stb1sKTqS`Ihl&xi{T`EGvMI5Lk<obd^{c%_xCDbl7&2#-a z)mB*}z?LtY3_0}Rdsn<`ng@k$ycoLHpQtNq7V+C%{{UxR+oU2wSwqGGoH}5Wo)~}$ zUP&Gu@ps3TQrojDSpBm(j@~@}>m2Y7aJ>5C*mS3YwN#u|fOy`$<4^cQemUv-)wwY? z^>FVHbR>1h1a|0iUf-#Bf^Qk!Nv=-IGhH_Ts2l(~05OkX02Si4H&>o7*V^}0(_^vI z(Y``kXg}>>a(_ziH0?q-?Tjky%G}1tHtinu=+2v3#GYfL*0g1Z%e+>S8*7+%#k_(f z0FcB0eqKQywc2=RTJZ9GGqJe0n)y6M9Mi6&9I&U@*4zmEk0_}u(h_AayeI%5UB@Q8 zwJzSuBW|)Z(afVIiQxW~v!ZIZ*W%LG&hq}qb_a4!6FJyN_i}oB)kdY4zOH2`-1NVJ zKeQFs!aaLbnm9%EzPn*QopS)1SS4tr$0+eSkU;?LebK%)x-y<RFAw}+({&Gu&24q5 zLl1|1G<7?j1*FmKEycvQU%V+a6VC8Q8l0$6ESmru7FOW-t-iBoe?9z@M`NeU6s_{c z9ior@!gAyu*(bJZs`w-0y+2O8)uO()ntOjCH9KhRuc5JFbpbw8G?GOjbi|TwiFOzH zc?Cs%HWP>^>?J~@(cAj_jz@(_^CQWAGC_2{Hn+99Qwi2uJCNl{`HI|z3xV>tP)8N1 zWn`Cotml|V*fuk?_WTWC{86{l_1_a-Y8EWEa9UldiEY<vD&!Ie(4S9Q-mtTp^UT_! z;HcafV|$OF^!Be09Vq)xb?A3OF2j6Nphs(aXC1uqGo%=0k-hs>9bR4fh>lBiMcOw< z)pL%-esnjPsOke7nZD}e^Vg+K;zNy1Qa$CFRR{y71~bQ8de@gah?Zh&b3OgSq-%)b z!kwe0J$-71n+%$6w{E6PBevid_2RniE5nhrb1ZJL$P;rs#|lXFz$c$m#bE22VhdH8 zIUDT=!)ODc&piA4RjQX-6Y6hkdZpFmEI!dB*0JXsm+p@E^v*j|ycOcq)GZ;ll4+SC zVj4LPH?KjCeKGk}crE4{CDOC3OwgA3++l~ey=Zt2J1rt;-b+=UX`>hgf}~^Ao~P(B zMQW3A({L<!@$z9<S~i)Y2+^s@3!H#Qtzzlcaw>^8FPYI4Nwtae{{ZV%&3<V$EnTOL zQGBvVV8f@sy<qBE=(^LcE$!MoNUXkS!z^bVYtK~X<)~Q{{6jsziQ{`)rIBEUKxAm~ zmp|M--nG-*--`mP40~0PMndgo80U(@xA4Ph`VE|FV|HcTEQ)^dJ?m0?=x4T$*Ag|v za$rhF%IoS4byS0}ITx+<3q;bN?U6ObvpzDTYs5*wApZcLO2yV=I(kB)MwST)WR!J0 z@t$}-)lbA$zEu7~mVCd;af|`ZaaMHi4?MbYR=AQCE}u9d$OQ6ngIm$~bq&g6%)huQ zi?}bS{{T3udfnNE1%(x+lLR;%@!uc)b6XcFZ8hiFSA6OiC~e(&<l><5R^_``?O|=O zrrxLKAB`^n9zo&0Z5!AO?JmVG^thw5{{TmYPFf$jPJ3s)Ya57Tb%HrOvHUBMla95S zq}Z|FxqfWt9;UgE5u3|z6DvdWEMPW5<f)}9YDkv#J!is}*6DI)nXwcryPx7UPg;_~ zZFA1@=392>2mV>NsKMs4d@JW_+FHvri|Rc-pM^=RBS6P<3}<&0whIRN^=6S;7c6y^ zI%UJ$M#9NhWtD%=HM47>_;%hn?<10SjzT=QyMQm6HuIGQhu+RIc^EhcitBzS{8IR5 zs(#A;6Vd!Lr(at5!%a6w#J7^bs|KSZxG)Ic&0^kK0yE{u_rHwuUQ6)r#y0*Iy^{A+ zx4gKw!o-%)Tq21ZAmxKA3>Dqmu06$j^{{m5tMgpP+Ffm9&@~SNLobJx>PuK;w4X9X z<+7ODjNmfl?imLivNMY0B~P<K<jJ|B&g51(B9~b4Tv|=!*VeY}Xss!DlXmuq9)oZL z`2c+fO3{eNuG_8jn=tBK(Qq~&Kr6zp$ex8Qu5z9#)MXOe#Tx$RPnT)wj)&`-;r=Cj z5se~}>rIXuh~$h*HH2YRS+T)V2?4p}59eNus9i%mkw{}kju+emeA|fUoOYy#P)$Xe z;uVclvE3gl<@3-3&M8x`%kY&Mw9k!V&{pTf&2MbdLfiNZoPrM{@b#@f6l+X;TOGBD zHt@jMz&Ke6>fipl_wR_`479i{?=^@lv3OOCVin2WR|MdFb6+?3tHKw0V2(vHJeVc2 zG5LRmdUR`ZqoZ}9Yh3Xjqi=lnvq|=(w{MkYJGSGvZnfSo#l>HTntq=(jFwKbi5gEZ zx0*56J$sttd=>Ei^WqM-3~w`9skifGoz4Vkyj4FH_|gUOAK4&*WwWs&7+tyC7mdg3 zTWCtTZ{h$qekPje?NyMDH)LbhulNhaw|)!NmTPIP<iHGLR}UPcjE_)%l}Yg@Ot+d_ zTdP%LV|8q@qaoZg(1HGY*CD62jc+89HT26YXEC9O?UU4Jx8+3X#%j!#eKX--95;?2 zjjdr=44B+EWP{(Wb+%d@b~j3T&HP#8KY_28v|oxBo)wnb>c;A8c2l@U#D#VCK8Mo2 zhWJ(E*nT4E)_1Y$8)lQ4V{e$mM+6=^d)JpzpR<;m5cC^&rdoJ&SuLkRvEN*M<OAgy z{v*fMwI}fAo#QVL2z5=mgvwby&QZd~#9$T94+FUGPVttgo*D6g@>y=Y)C%R459#&e z=~L*M)OMyx8N9o8Kf3{P7ucWS`ePNe?xW0u%=0DD^-qA>oN;PNCZ*x|STr-_v9r%r zIUEl7uFu1MAcgO)F0F2p?DvU~(VVGXayYKG?&WnYK3HajB#LFjM&oj@^uezi@n6FI zYr`6h*WMSKZL1RJPm_V}tDZicKDC`Hocc&>Q`WRyPTxn<q%uwWow-x}?AI~k4N^Nd zjiFYNm>(kD6X%h;G4xUDYtQtbjH{#}k5ILe*I0!7wzoN0*q($O@;S|Qc6YMsP)Buj zBx`*kAo*iz<Jk4~??a;qyRq3Lu3OuAEEHTUGD{#*%m(lewko>E9;;{=#vknNaI!Zi z*i~&3F)hq-hVqBsI6r&W6{BNkZF_$;oZlys#zl4Y;PY9!sxLuHU5h^qG>s2kyVd^y zwy!TNZtY;snvhuu*5ZA@Y?+!>F)lYBF+_(US7sQx&=#{>c!6WQTYHVJRx+qJ5&bZG z_p2AS>!qyI$GN=c+)g_76`iGOD0PLKa*3lLD3Oj|>-krq?UhI*qO>uLWS-{B=#yP| zoExbYOL@LlW{>5FWO5Yx1JH9*Yg%NU3%yApg_!x9V!4SnD=6*(0QAQP1Ow8nT6nHW zC2240;g9U|WQ1MV;P%cBUfpmjz5TTR0Bt`D{9@6(B@c!48}AKWXf|TWtmL~lv8(4T zByy0XhCJ;kp)eF=D6d+M28C=Sr6*}Fh8L^tQcFXD)x1$_XKw_PTujmy^Ab{U%6ok) z8^)e0o5sT7W3{)^Rv(zgl01>0a9xQTzZ&zu9UH$BSiEU<^V`UhOxyloyyX2oy>U*{ zym<-mOgFa$S*_+4S34Xw&+f55On$ZD{ar)hJw1@06{2qx_-%aac_)r6M!P?Gw2p_q zE1UQcX5JRMypr-Yxs7)%qMjs2Jy$-Tu6tFv^|_R!T3ys|+fOS>GTHMO0!o9NbB>h0 z4cBew*Mv(7s)&r+j96ban<cZ@*3o(no~-MBAH3Rzs~(|w3^wT`ByD1R#FHd8bK9V= zBlzEZ!^DtB3k0#giI!cUZ8C1;AE(P+wc!nFE6)?$X=<>fdUd<Z<0mD789tkSZ_c?N z8)(*^BKUWyu(mCEX>eyiiMgcXoP9<*R*){FT1SUzHp`+kl19qX58}rPJAQT2_!9Ha z@s68o^4witTq4Q0=P`oAJpQNBxlLkuEv>w!%C*PuWKrAuqxt@Iukdd6O#{ceZSjO$ z#}t_I{{X*{kL#M!anR;+dmnvxC2l8*&ri8A!)tFI&)p({%7ehjAAul!DlKPQw+Oa= zT!^T_*+cxPz{mvW<~;if<t)A_9b-(6($>xFWEPv+Ai<0$9Gu{M#~H!N9W%hJpZHsG z&*9T%BUxsSaq~#oka2)B>CQ3iE6%BhTg47BYg38%^*nc96>Y9G<(dd)gvOD}CidH& z<N=fKfnGP`WSdj*M&B+#(6AfS9x={;t$Q!T;SJx2G<%6RM;vkmnBxQnAJUiNv^sZ( z{3##yE~L^e#70Z2X+SL-;Ed-V=QY_*>K^f;m7UKM*I<VF1(-887zMiKsc4=u)I22( z)xD0Xd21c&g_<}dDw2Wy;5aq6;qL`r_}9Ysmlk2zThFlIbr{d}6<+J%O~tN`(*=;- zss8|0c-+3CoMx|Mqn2%RBxJ6;KBaQI=9XscS&2MX(O<Ct0PJsd@$36rT)ws4V`>Vc zN<K#Ve=owkSK)8NEAJBcf*Vs42AV~UbKH}Rezp4%@R#B4pZh<22hsdFYYb_0w#y~k zvi#CWM?Cv<{5|;EQb}lcW%wClCGRZ{%3s>E;B=n_e0b5t8-0#L@^$$=tIaQNTH@F` zjB(Eu_uuWi@Y#MM_-g7{R5jJGGK>ybbv5ufwR>CHpp$ZWWQ~T6)yc--)f&8uW0ln- zX&AEx+G|5bv5~Bqm*re%KDetIm5`sDZ6l!dtC|AK988hNy@=>XN?gaEDlE#l)*3kZ zeciBWbje!A?m3%x%s~WI`8+GOZ!$pMyJ~+XC;1U~0odb#Pnj}RIo$0hyJ=$DtUgub zkELk-%ers&$HbeaP#GbGnEiJO!L@MOVz&&%0OaDmXZA1neJ!N=rm=Az)t?YUk@tW( zWAy3y8l4TP(|p>Vi>&x&IU;0r9FD%V^PlY-@a`)Z{@EIplQ_T}b6;I*wyU+iUDe|s zAN)P`&kx+~UzuYk>xv@MJq$%O;C!bMWVKwL^dJ&W3iRk|)y<~J9Bsza)~cZW?0o&< z&2%0Nm7R*9n6I1W!BfRpzI9gId8p=#W#Lnfd8sc>M0<Y&K_o0Upy%mUEoEe!2K%Rs z=ZcC@#tiq*YFl~taNW7h09%x7kbe#_(z_3XOKo@KNbT;4SYN0e$n1Tqj`O_1z{>lY z(9tjC(sg@#h~HyI;j(%kueC&qj*R<S4O#3j^xUj)!t7(hpKgQeP5qz)rjrcT>{3-6 zvJOh(yt7I1?e?O!aNtXE8>=W8<$oT-*1cT#p3lYq01W4Qh(wb`y$bFOK^$j2_^xf4 z-_3aFe9Pi}OCB+fN!XZGhCpm%9P#O1;qZszG@7zq7+Ons77&HQ^nNj)!n{Y~w}r)| zG0hA7v%4Wuc^S##yDx*fY4D%H$mG--D|giH$$-hjOuPa5jt`|&wlb$Cnbm&My2Zp= zOf5CS-bpIs@9qM=f7LWewJ`;(cI`FA+o*{Zer9rT0Q%Rje$&gUYIb^k^}}0>RftCt zLGplcpT@aA*`q<c@n^(nucS@Zz8?Z&TfCg?AA#pRu|m-brm{Yq@K=JYqxgTNX%_}- zbEm|y@Su5^9Grf2=l=k-AH`cA4qDu4x@=45EPhy%p~>ogwccsoH8!U5T|rV2Zxc8L zzEFS0zE$yc?x*n^#xEVL21~6%Z!QG>_D>a@dz#%PWPA7Q@$iD)*GjOz^9--$iI!$i zH?)IsA3^%pxoR4;J`V6D#_zMueR@KxV?I(2-o)Tm4}p9QZ}7X}&Yz<hn^3y5wm~LF z-O^*6dkz-0Ch+`nTB=_l+{^x`9#r$3{VOMS^f!krRnIZiJWUpZrs^7{^w3+!8y%&& z`MTjpa%;zJ{ADl2PZ_Q4)YDC43-K8rFQDSO-`Yb=f_URt*`bAGDzNU#`;$}nE8+Zl zSA?u(h+EvMjq4cW%*oH!G;-TkWhu7ojPHor4X=f?Ni|D5c8=G|`AV-=HRr#w*NrvL z3H(8AKE~;q#_^fviH1gT_kcgez^`lg_jMMJ@JeR9v5w4<vIPyevmd9WdC%;}phv7~ zHkXq@8qFDH8%HiN-2VWcm8^EVGmLE`+-~&Qb!%pxd(HQoF&uA>{ebqaufdj0Z{h2B zSz+_Q!-!7h-Tpl*7fP{hQsy>P3l*s<ndjy_AHY=K+OudH{PGb00B4O?&1kxUJAvHu zSkCWbww<?TuB&ZtrV%4Y=1rV!>$jTXZm(hZgW`6zhQ=stblidh=gne%^=#ezM$+|d z5^1b2m98_hY@Z~GJDsPW$KIXbTX=l+niTTnWjn$9u21>RXUm}E(bMSqb&rL7D<#Uc zy}GZ;tKWCi*1X?W*YzvSeQu-L+ll?$gXLu%I##d5&lTGEF2$~{mA1nfc1AcGk3c(Q z@n1FgZ{y~*;t!2BjXlSeV5u^+Wwyf_l`IMW0KP{irky!n<$GwY52UrP7Q0-=t#9PJ zD8cHZ@vonMXnzu1`1{7TdOf=|@IVW&1Nf`dJUQ`WNAaGj+J2pMnuXMHhLPi4(ZoBF zPacA!vG_Z0{j+ziGf6z$M;d}L&-wMO;*@n~J!{KikHPPTvuXYxSk@*3yLKnNdgq5U z<<V@JomAX22+=d%o21>v;dm|Lm3)}l0+IdFIW;$%Cy4bnk~9(8#CT)hj^6a8D}^}n ztxVl}#IV70Bw{@6J6XF|4dUH;)o;zcukWFaH_YF70((}!#D5WK{uhcxmPJV<J7Q7R zR_TFUw}$iyuC%Mh+&szo$sXKM8(QXbmqb(WZizJBB)HU4#ih6M!m9!R$RzRZE7?2= zsJ^dn<?K+=fLqfa<W?txY$4I3j@6bX*$`fO1MgJz8KkoDDvLH#9GT2$#YTVqbq;rW z8o~)JO<x{rF=-c97tGAd0&D<%(0k&(M7z8H0EEBdo!#`3G}~@VB9`hq3it2YYsRgo zd^=k^Xe3*wWb+u2z|KxF_}75^E}GWkP+7dhH<DZtEGL7G$KJYW-rAg%WvS~PFfDoE z+k0jG+y@bmgBwRmy<;Yxk=f}MGWnibk27OsRF2hG$1QGjQ!LX*YYPl+-M4A2Z-%-B zl!DdlWR7ciP?wol9#6l1YGra^sjRvpS*9Q5M&tw1uU%;|O>UwX*J}*mdepMUx6(50 zEgXCTeQEbskmwpa&hkeLF{x*FI0`Ek+Su%jS5u!5$D`g{M>LVd>^JRZ<kn+`)pZq7 z^CKLS*y6m0#Qy*grueJl^KoukD`-!X0~55c>AUf-TkwFE%qoAbZMe^<&21an<}#9c zBc`>}ktU2s!C3M}c@-AB6Roae!$_wp8nkrl7JXsz!HJD`07h4g)K_a2?xL#<jCP!y z9u7I?v6PF9PL|3EAHztJ5VABlK7%5>t_a%KQM!b*U@2e%{{RurE7q@eN#V!y3o5E- zDt#-!TjIWtrFfd^JLx2}xQ&QUF@9G3XrrqYM`U#NcWrHaut=xN$Ojz#Y5LBur^%^Y z%WEH!tHZN(;8s4F<2^n}_x+|8-lhKjc=oG$_K|O?+F8lDysM0#myN=@tdWbA(am`A z;JxtG%${O~enuMyj(PoS%X~NC4NJzF{5E!wk}?^NK2;g&YtTGR;2G{UEzNQMf`{b+ zc`NEqOxACL{v=1>?-5*DSm~`Y%==aMV{iWes;il;jP7ph-WRda^+<G^NlQx(H;viH zOyvG1yWa=-I(LVf6#gvpSh_}wZGF2_xPW=n4qy1O^{p$LFCqf)x0bEbCnBMy!3iaZ zH?jE(nH+LG4N%p!E2ys|Nfir5IV;g?Kx&?Cs>N>^^SQ}h-u1@(Ouf3%bSWT>U(UK1 z^8x##sr*m%qAB$hj(X=?{@d2>Bei1D!lcOm0K&&UpQUc;8hkoj4A)N`tf;}V!~u`3 zR`^TdCDPT}^9E~`3{VaSa4W0v*Tc5)?u7QL>um3ht&X_l3b)uu>U<EgO=BZ8%+cf& z$>=LH#+u?!wgD&Z;m+pI3~S4LGkM}Kg?hA>cUKZz+acMsu{?I$TAJpybYP5mCvy)m zhCb-1j958#EhdR2gf{;GWMSp+%#2SYQ?GS&*4^N@%Pc^nK7LSswU=|O$TTSyH&~{b zPXztZ>s-!{E}<Tm<lEf*f%hLn&r{y7lw8Ke?}t_t+_DJ#rsE&S>swM=LwRE#*_SPh zhTD(Mvot$ft#b3upZ-15<pZDwyKN^)QERd|)N%6e`?;c0NT|Z*WIi0VmL)Pr8#XXb zI?-CgQqgqsVY$>T<C#twcaA8m{h_C`JyTV_e*yTJp>3^Ys4<lmKzBymWM{BEesz-$ zy`}gs#j)y_&;w@Dd4>Zcc|!-IZ6UUw_DD5@@iXFD-1w;kd#9Vp+ORG##k%qM3c06v zI`ZBK2B#8Cmrk-6T<%m}xXJBa4LW>~=9gm|7Ilw~*WVPi8;w7~I!IeQe)8#~WcxE7 zp+hqrqui2dmLCbB@YRfWnuW#H=AkkbmVKvSJ#mxN^If*3;|&Ml4~;b4Tf=LoUM18~ zsj{|-BaxkW9&#xlKJ1L=C3c@-jdi1Vlj0rzp?Rsg=}<{@?FN|(e4u|9bHK-`JW{7! z-qz)hPV9Q4DjSy6KhSMqj`5K{ctnbTeSgBE(GI2I?N&v&f*-KRp*F??vN7+P=pwQ{ z0Bd!JPqh-rr)=cqr0v+_k6yG`>aVQZw6_q)l*<VS3eApjk=OC&wTzlt8Ofp+(ON5H zxe`Yr2?pr5{o&6}IQ?mDjmDpLtRtE>b@L)E$IG6_ih{?)D|u^inC9}@Tqnp%{WDwE z_X^g~$2y6mbSoKfaGY`eeQH(y(MYeY-79MH$sBA|qXE(R3&7_+`_><bbt``l=uqFS z!yBlk+vM}gZR?(x&uZGzu49(Y>N}^6e}$caJF(NBQCRo-To+$uTZrShUz$(7i~u@u z&*fB3p?e>j;ERaew#xAd6ypWkuRmJrJ{Yc@IMD7sux5=bJJ+TB?l_`<5T*2@+> zFi#%*aPgasHp0%=Y;7dvT~{M^-r)TOby_{VJ{{9i>9&<Eydfv$VaPcCRgFa2Dl#ok zs_EKaiJi8|7!pW|vLi0gPYglicluMjHR32^)pZF{2yU69F+$QRx{^U01K+qkMm?&J zjr9mF<+GY35VVPgDt__x$E{II6}Gvx-6D<ScyQZa@jkVbqZF>fRx}?|xPsN-^5eE= zVp!)g9xy;XG3{B}jm@ljQ#RQeVAxe8WruQc(yU&@t7=G*e)%{f=IPfx58=&ZTHUs^ zt^2rwu0RMray?kqw7ugu<~g-{jY7qtjYN^~#Wv-DA4=)GDP=UeIE8IwX=K90@*TSu zBd_>Ye}wc2jL|f9`QC7VFAwYWuYB;PmEz_7m%LGUs}7mqO-k+!KI-n~J9dux@&}6I z8)TMWogGs$;t~r5!)1DXHdm3nYSToz{{UN@bulU$9!IWtYRAN}ZM^v|q1qluaU5(1 z7%Bz{>CYKC&P`zJz7tsBOM6rit<x-N*pb|TI&u8#+dO@s+gtdu-$T&TP4PwbuA1$4 zsd#i<-P!7KBxY8*UpZ03M;_&nd1#6u+&i)HTi+2~TlkYtjbrld<1!HJyO(i8fCp~5 z{42`MGP<})sL0xtWisE3JUexuNVeh!h4x|6L$!xa0PC8{)b&DTf;Nqnt$+h}RXt5E zsXgTDZ#Ct_vp#qXPFLyrR-CchTUmc;GeabW_9eSE=}Tifww}X1eQS@|rxRv!w_1#H z_=0DZB!gmwAf7i9pY!#r$>I5L;D^bYMc*(iir8FoKqvLBI~@!AOHCKkqPtwk(gk2L zKDqBw=`zD$uZEF#Or)}$oN_q)>Umm09ZY!OkZVFon{=7y@TP0}oxzkeED@Uu*cl~j zXHmbk6UPj3I=1`=_3lsk^re;^B5fY=t}bsAScTA9M;)@f6QSL|%#gTbBjvyd+p=<3 z19voV>Qm<GDQI$+8q9WAvM<f@jmd%cxaXh$098ZhHnXe4EOG6(R6B{_pK8gM&y&Pc zD~8IcR8fpz{{WL+ABLii2-?@n-R594WSstetFkoINU^)6TMa);EgsNYqKeJD)Z(`D z4bKWtjN^7Vt?fz`wztG=7C6QL?rV_oC9IN|Riug^F|(Fz=h%+f_v>AhrgTP0Ba!hX z!A%K#l-nKS33fM70rdCa*Fo^M!8NTiX(qQ+^8WzUNZDpAJ<kL3sv7--I=jfDCTLsa z5p)1{Beh@fo}GF9k@HB=Z^%%;E<Uw5j%jF_oQt~7ryriG%)6C>91&7o-TC?~pJz|r zDb7{6QQs!9?z9%M)Z~ztl}in=jGo+_`ukPLqFV?gW||PPk-jkBGY+}*{Oga{$rEnG zx@F{%S*o{{IrBJ7bB}XU+NJM}b=d9nyMHEkX7cT$C7Mi}1yww;=Kv0Bj*s?vmf`K$ zrf6R|;T3VtIpqHUD$mwDU3GnUo@2)xYH)%$!k>OeCb}roiq)cQZ$zzca@Kc7L2%EH zDM!q$oM4aXp0!WL-?HWBj5JH@)|grwSpL}^zCye0AQl50=OBI+V#-6K-`U+Xamd_C zp^3zU+>U=EUB`(&FlwGJw1uwc)bIYsACNxVc5a#&$tPkng5d#TKqTO?^)=N_wIu9R zWh>}>pW{tVT?fK<6HN<8s$WLdE9HzMMh`3xsjnq%CQFzac-5Js8>9dqlzN)_uj3!W zANWeGS(@Fx%jFigo(_DuI+AhRcOI4DUl05vsV~IW(k`uHx?6}|-bp}jEfn>WBOiC( zyCWp_I(OXbJSU~Ei+l~H*|crt{hgi$&H_lIx#@$*uPpHfmuqXPvd(;#X2-}k1wAXU z_>b`gG)ITSx@3&HR+`2(m0SKkNj$Ok<nd5=lfbs~+s3xjM>LlZ$2eSVDY$19YC>sP z;B`B3VR_}o-eQ5lR@}AQ`~&!+pAEcI1=N^m+Cdb)W<m(b8E!eqJoK(##2yE}@YT~t zJZ%WTU|4<ddJ*eXG@B-tMncM%<P+Ylq|91A*7%R{8~zp-hplaNo5j>Ln-*(}XYvt9 zk%I35z}>X6@EGyQ0ZTS!(QLlc;R_j--)dZEab3;5j~F2EIvzf?<lnPKw{dT1nhn$| z{*fV?6DHv%2>YFJj{P%U_pA6`^Wm+;I&J>|+hM+uQu^8{qh<1uhDz*k2t0$(h6g_8 zX9-F=tqkvN4qc<V@ZpRrM%K=LVIVE!k73mR07}t1hMRLDBoZrJNHB+f?=u5Gg=Xs$ z$k*})b(Z0mAqN@He`++p3R>HVZ<hI?)T16^M)B^BR?i@u@yC8^$(1j9@ivQS#_`XA z^!-y#xSsmmZlnx$@s^MO0M+eWJ(t1z+jtT5eMa&J+ICyW<)eP*<vkD5y%tS(`(MoS zBWreN3h^J}IRKUQ2D%*wNQ^_NTrZT%XJqmy+y+U)jCzr~^sQo>(UrN)=vq8;=(aaA zD+_|(Hy9jr=RaS{v@}^DyYWPT`Ko-axo5~Y;PL)?S6$%04B6}69<xHS*~HsHo<`ji z88|HaRIpK;@Co+qSbjY4q<$2gF0Jn4xSdE{(EZRyQI5FeazM|eYVdB?F>_b3CEb*M zA=MhnFzXCBP!V{1{{Z#PbG|UsUcpGVRr1wF)?9AL>s<$g-1v%k<5L~Jp@QfPixLf> zvCA<W@xba&1Cjy2_`~8g@crvS4aK~T#^;EQs&Uwl*0hByBBQB=E~?gE87#%T`KJ4< z+?)<^`PUhH;#rS~?U|;G#pVoUM(@uVr+iBBK+<%JbrLAJkpphW-6x*E<6d3;vi|_u zkxev`NF#7d5>L&Z0Ig#dZL#d8>fZOn`h}XuAMY%k82<pvMPN5{^zU33!p&Drzws`i zqqXI~*>&iQAG{2*d83%vXXPh37|waE%LbYciJDHO3ar+*_M2qD>fh?yJ%wcWNA`Kt z=kY|EjO`7bzMXa*B6$o`+<;315F?N<Ij1Wv#VHv67x+cu4;c8)-$;_-Y+=$=%I!OO zVN^bNAH+%N{uS!h+B7g<-B{U69_v$uD;^l&atQPXBQ@z7o~frv;C({g>e3G})n<jB zG3F~aIv%4O`&XQ5Fg>NCERgMU7S-CBVq4$v?^w!L*xwJSnPsHhS@@S$zS!}t)|5j? zLj;Vofww&lK+ZbxpGxI^75K{cTJa{gq_@eY!)qjp!E)%zz!DE$K_?!=9rN13B%V3= zRMye4v5qV6CRPVBae_B?&rw_-!vQsi#EnMXe|P6wx~d#}&A1lNzA||14OKe?u9@fl zCc3xr2BmQnlESxviHcM|CBpVndoUgU00Uirz+DbKF81Q`=)(6Faj}9IAL`p5eZHU0 zy#D~lI%4VmBV!KVCT8;^W&5}!{{Sya@4gNA>N)jjbou`P)?7l+84z<eSA}n(?_C<4 z?dp0j!u@kx@kfYl?!Irb$9Cl4fTV5jo=$U9*|Tc?IJ$WuhB#r6NIaC=k~;V6RQ?v; zUU*Bu_aEqOCDhk#YXmvk%v)!Ez+m%TrkCNL_(ruyj`9|Y;n=p%ymw%dGw5pxO52)7 zLh8O5lf)hzmPK9Dk{v<qgTOV(d{fiy?(F8cw}qjSSi;Dsg1mIadnT1+qSO{$zb`AF zQC@H2ySXCO=Y+u>#ArV3qp0-AG_A~y<3;ac&+L!k7}LO7qsbro%cdZoO^aF{F!*Y> zw@mQ<@0^XjE7AV|XAgjyr;Yv%KD(#hSm`!$OCmk17iY-8ByoeB`u45A_)?I@Q|+3q z#lv@w5F=CdJfG!WdZ9HwXCvuwaZZ|wiOhb)Uj=RaQTs$_w(tAJwR3qf$I5{LVfu>u zYvYc(mQqT}6dqM^)NxpUvG>8dJp;kIhP7vJ9lJ9$A(eh&08&oxQcgb#$@t5uZn(Ho z+nXdDn(m42;V398o=4&<v#3ocnS!mHgVPoA-|ZRuHq83`n#P6{i-1~4KJFXa>*#Cg zy<p%qVO;H;?T`jj*oxjVX!5fRI;$;Dg>`R-+Uzr8Z654CcKorHAEh@-@b0^3KIrsY z=jRQG8;{by*q_2S_Y--ZT8y5<tvUW5L`GF{{b@<u^A-op`26@M#QL|(4uf&HkG&xX z59UQ$(m!T@6KZpYxN9vwH~YZ8<{yCn02=zs{t!swZ<%`az^S9~%rUp!=zG>{nHoI4 zJz4Xuhrt+pJFHvj_fpAy=0;g$#?V`z<zCJ3E(N#ns@vlYY{f8o^{PJ=^!3v<4JPmI zD%=EY`{NY93H3#b#TvDq@3}7V^grZPUG+1L9x-|y-lZa>WcT*%USaW77EL--Z{i1@ zn6F3Iono~;{W-5C_{Xd*rj>CazzT<wYe<U`@E<RDrWR3g&flE=Jk~-k7A?)m;CoiC zuW;9v_cHOczD9f2W51Y?{JE{8vGa8|Bh<cIlwbkki{Pzo5&pd>yiM{iUYP*XZ==~@ zx$Jq(QJ6;m0Jz6f?NPw_gde?5(~6!OudPQCvNVIIJwCJnViz$e{{T3t12Tbw&T0t0 zV9Ilm(xgN4joJE&0QCO=haM}ux4g5Ni^;Mx1AqY~Fme43Yu~;XTkh~Y>d~}qAbj!n zm5IUs06x|8FT*W-=-SLt&9}*zg>3W#J%62h=8xl8bj>%*R(W0cj|UiB^~a#DS?+dI zYR8{^Q<6Kq8sZfU&2HJrU%T7-*FEA-iuU(9hJy&2L!;?N0@md2Y$+RtIP^XH*Ky(r zEhp6O7D(Q2IU8^oIsX7WR|tLtN#kFMI$f*?_ORSKeW0EKpz7a<<Lg%)wKH;j+8(## z4-;7U+Qng(86mP*_d({VPcR%F1xN6%{@=qs3%>gs!n1v=h|6t|3=UX&dRC^Bb#39# zi?<q2%O#GShz-E`mMr$iuTRRh{w81P(@Pz#y{)~)#F8(am`3RbTplVeYOiavpSjil z0O2yz?;wWq&TT?;!zS>0dwOxwxStw`eihB4>bC){^#zzRq$hx&<dI&oCDZrKZrWy^ z8DZSJ<5XlIcH+Kx_|tIyAn{$bs<f)B7z`bWMC6~8QnF}Lk@en{;!Sr|@QtnY&GoF( zu=5f!pzTA0!5w(TWT(cJxQ11l`|Oi0SEkmJ(**YYYM+E{Ep7e*=oc35*@n+=4Ywp@ z9xKlLac^v%ANxYF^Phl)cLSXEtfL)lX)29Gq46ummb&HEpA2^kIvb7C`DbxK^{;2} zPs1g(@U5-FLo6|ktOLq-K6&ZTeJkfbfjT$#uf+KlYjlxgVIxMvYT<k1-oDB4lf!B7 z`B^7uq$L_CgN4}K572s6l7cg*C%Qgn{iwWI9<zG}n;ULhRwdP&q56K6srx4Qb@hvj znN^D0#-cKFj2^$>E6x5g+D$gOaeXAdVU3P|+Bxf9+50tF$)xxS-Z<q?GVJ-!wDJMQ zGx$=HvMxUKwLL=aICL8iC1LqV+`BSz)y>~t!{RMD?EL1A;hYIVjJ6N>*HNo$KW9+0 zMlrVp1?%rv`c9qpYi4L;SmwEt?=s|p>-`0D9ek-6S_i{>Ta8NLtswJCxQV2Gc^sU2 zcdh%DT@n8Pc`C*u<S61sBa8uER+V6$9Me_fTyEr({71R2KgJS9+JTpBZ6F(*jz7;8 zOUyZvN00n|)MeCk=0eTos~M(OIr<9n{{Vx33zOnK{pG_ioUtb=t+$iV)!&TY5r4OC zZ!O}R%aTUhB70|n`3m$u*(1U&7l9*|G5(RMOzdPoDcG!31MCQ6_}4;wsNt8q$UY8e z_J0p8E_7CoJ8ecuOwuEf=1#p7=ePs6Y@RFB{3og<)|T-gUzv+DC-C6ogYR6w#y^9$ z_qwDrLvq7ZjW>x<?ehMHr0{f_--PrSVYr4#g}UR-3A=dpIOe(MuBh6aUdLrLgIVzm zcC*R48*zchelz}kt9IhyZR|{T>++{n9sd9t^E<DL8efDh44R8wTg~QYd)qqi&pZ+_ z`qgb;<Mo$`{4;d=8!!o#c^~B<{V3&Z(pF1zCsNcG#hy91n(3ou(_hPu6*=<Qj!FFM z(L6EX1(r3-0;-;F(0I>k@xO$+Gu-MfWM*kEu1wMv`^WLGXwz&b)Adv2v5FjEt}+`P z@lK+$v5hTcUY5sWsMxBfl6%%%up2E!q${*Bz#wyq*w$_q-r7ICxbx~wbN(gqJboVV z^!Kwq)rc0s89$X}6m?X39%uVR-Tk?pSnZ0{cY*!xKgj%R&wd~HQW*7bIjvStGB2J} z{{Sr8r~rOdi}8cv&Bu#1i-nFhj@{)4%x2Eu4+Gd&LGae{^6t-VyC&HV=H1tyO6*!K z4>F{$BIk>~1#2EMjbysk6>VZ8Y;ni({ZGx-v%DFu-~18O&Xs+*+DRyQ<yP(7{W^ZN z>wXcjyq8WW(X&R3M&rgh@@hSA;jWwG2;_$95*e3?6YnAQ2l`aHiRjHE7adK1_(^T- zbk(|&b!$dnFqp{XV<6Xud|CK|fAKc*OIs=CwbE2zuIvZ*BCL43M%Mf*KlW_b6V0bX z@}^hiWX}MfZYm!J_*pJd<ehM`wlU~Fltw9PT&g)D&%^HmM;)cCD!(*qh8^6V_3FM6 z(x%bw_p-8&xT3K1OK9}8GDZTj5x0uk)4Wi|>uV!9;F3P?<x?p;>?lX8B-MODH-vQy zi>0-i;cl^<9PPlP;ohja$&%nkQW=?m-gfokwy)>2)UBG;lx<}hamFjoe0A|+%fZ(X z>2~n6mjoOTFoPXAsebacjjwH4>>e%DKj9wmT&w0rtjV!h9&&5RJXP@1OV;fp{?N3J zNf|O_95DQA8^G4O_lUK&)U|8trm^3-EoEZLcpQLw4lA_QuVd8b+Z%rl8FSK<AmU9+ zOJkMNyekieyftvvRx5kE_h}@j=0V@JShv1=i>0*-AX|8HJqhn!R*h`d76v(_Rkb<X zK<k>u@L9F-4~niXqdRPb#bfQB-_TX_Gag$OY*q#ErPR_e`4r_?^z^Si@CJ_~nI<r) zW+db<7|#PW)qH&M6|aYEt!&|qB$DmODxFW|T7D0<nk@<&Ll2WC0bm#L{VQ0Rbti(> z=IY)!;)RtX`@^1UDYVJ8D4IVpq4G#9pmN^T*y)x{Z)b%@KCFFej-_{Nr&%<TIw(`M zi0)|Sv3#hZrrSfKX~t<bsT>k(&pb=w>uqDl*0I~SnHs4c#l3027QQM&b!i2?n30`9 z$>;}R`2PTnbAA)jq<~x9$Pbw-VRAYAKhJu4^(I}9RMYh6VpWrJ=iK!*p)ZJkveD$Y z^5cmC!!vCLxoZoD)5`gb#zsBPa4NTqu0P=<zqPg99FW8J)w$-Sg41Iz^Tey-PZTt= z{{X38RXXujqPdP88sV-NGt5X>hbJDHtt*WR8*3&h94m0kv^LSja{A7#4uK;qk{M=D zK3w&s&212^a=xXb!>8&00BD*`l1b57xa3y~zBZRkyqCy{Rdc~_@U1KBsk~8f=iD=H z#u737KT2N?{211}T_lpjX){~KIeZ*@;<S$1lPw5s{x9kgX^`34M;iHHhmnTnW7e-9 zh`u7#^s{cWn3uefuGT);{{RZ;{4x78>yl2JtbDYPj68#HUihy=(|=~!G=mtLNL1r- zR2zdDiB6g)+gqvOdVhu{p5J?{jLb<Sw^}Rd{Ui2!(C)02?yfHuW<4W_ZO3d;OWHs^ zx-fnn=?QnQ-d@}*J=+xs(sO`%j%(CkQiH>KNS<r#c!Dd4($e2z%$p8(GacM*J8&>T z1oXxaCE<$+<M8x%6HKjiP_$*i4JRaLKgC+!8?pY>(;nJLcWSq?hB7`jpFz_jlk1A{ zsy5xtk3sRj!yN}n_(`T1Y;_5>tE=xT#5c0SjT|gkm{t-Oa(tnQ+<tO+047b37Wgw# z@MZk=_lve`6j)XQ>oY50W9H5jV2+vRjw?p`JvKjtHxp_agfMFstoApSZvzX3mNW8| zZ0ss}9Ax~w<BGu0d``#17O{)CL^4U{x0$tDe?p~?I3K6$UTrwbm2+y<?{Jale-t!L zLrbxe_VY42Atz`gZR~U39V?pf<af!XK^c*r35MdE_yF_Ly(`5lCyjhl9-V76rW>#I zh2vP1DCL059{B^Fc<Ef;v8T3+s4B#=MHG2mr}<*N3U#Av8LKic1(B>ls#(Je53#V2 z^Md*GAB9=9)|p}X@>bs@F+X=5u}!v$Zx5&T^}gSkjkK`_`^etM(A8LOzT2E4@3_w2 zLCsRt>Q^at4Ne=oE2Jy6WXWvy?mm@EMT^e9K4sUJZ{{Qt7U-dmU;ejx#J-B-P1f2- zw~-5Mm3>tDj`e0w4_oS&o8*~{Y}tL8!;F7JT1qLPzjIppC@;KufA&_loo#>7VQ7cn z$5#A!{Hvt6oo@Up*0Vvj;RX^y$0_p+06KH;T)%+ydq3=bs|z&dQl?frSd5$yb6p0% zr%Ry-TGn}HSHm)|DwrdN^#{~ePesawVV)tgnQdW?ZLF}U8?o~t_oyx{t=+9540jWU zmyN1Aa0W^B&tGaajeP2}nC7<-Tsc?r!OliH<bRP??G<gKk~m^nBz!Y4!w?5tdR7%F z+9XJ~ec>Z6ha7)skIa#YU8LZs<F9Jt^nDWJNY<o-%-YI#44w*_?Vd@r=v2k~#dx>< z?ClvN=Je^%;<^1tSo1DqlOebKhm3rq{{XL3hn@7Xo7C?91zqU6KgA6&c%a_Lqs=ba zC$zcyJl5<-%PeoP@W|U=8%{vS2LyV5$NvBp>wYWoCy2DK5MNz*!&JAu8jh>1X;%>4 zT1y;BwQkeNLZi%&$uc`Swno_jen)}*n)AhQ+uK>#w3jyVw5;$ev$BD>u^A%@s!1RY z0Vh3b9dbsxn%+xTBv~MYq=kvwBMju@Jaxw%fa9%wzE_<~4MoBWSJ$dI{;wA<W3bi! zC+c1@@$J5~t?HMs-$!v9uA-JvJC#%Zu#ABt0y$R5Zb52y#*G{Mc6-fcL|r#fh2y-D z9zU}_ujaG3xQg9SBr&r5#ZZJm=&A_$kC|yVcNdpd{&Jr!SY(dgxvsCro-WipVd9;d zma(hqR`#$*X=^Rj%iKv65ylocfqb2afFh{EfS>>cWjw+)V%24KHA$&yvC?UtE`>ZR zBFAH(-bXqOv&kH-b7>~wz+zQ5VR83acF2E=mE`WVAMG7U*`tmrKIrm?$^h$+@vNT$ z_?qhX!_q{sVoP~iJnS2oV?W5&_ki@+rGoP6ZBI|rrngmXx0{)z3~{wlQMVsli~u^< zi&83DBdYwXQ>W6jSgigTeX<sgOLmd1m_5XPXpk=9`>gq!c^O~|<bk*zD~L!|HIs6c z!Q2?0hP5uO?lfuHu`!12H^!>}0J{&z&5ryGagWll^=YmoiMJ_VF@QMsuQsD;*r>aj zm!D+}sT*#PuPmdCp7oEai1e>5p<!^dWlL}w2<%rmA6!-KCSb6Ts~b$i<?}dJ_svvq z1!_8!_j0YB#EBAboP;gpf<Vi90!SG=Wq|KfMlMpdg()SuQ%UgrEvU<RwM@G*tDc^< zr=ZRDi^(Qfqge`J@&0(M%@4s>*4Os!Yp7{<v9z9Ck9B&HEO|ZGJF(o54@&AZ>t)mI zWLX*`G>3a^JBB@vr_#G8g}Tt%oh2=Y2xF2a^BDZyK(2dV7WXnQnIgzzU<qNJzWfS( z#<0-dHW^fBXvyhN>r=qjA1sX1{{XCfraAVkDf3g6f>GrpkHPTSAGJk$=0yJhE;b#= z$DT8cijKuz7^F*vStiLi94Hh);)3?dyX16M<w+bK`K#JH9e-Ai(iML;VaC<m$Bf}X z878iBa&|J6ikcxedaQA;lCntQ6iCBhC$kg4tvyfS^|jWztsqY??#j;N%HA?tU>&(1 zms-m4u8g`axXW+n`BAt0wgF@wp|QqAVR(yQzJ~e+wVL8&ganQ!V#=VBN~q`oB%U$U z*Hj}I$5TFMvOPme_!o7rTb1zKH#()_TeZ!^c2?edTif($U(3$bP<~?g#(C^(i`DfF zAv`}0pB|jcs$1N+mPSxe#sY-^=dME&k=%3Ip+6C|nKbC_B>w<KnbgLn2QkRVdZ8*t zLC-^;IO#`)Y~!)Il1s0eMkg&P1b(&A&qcu{xe<h~d2Cv{@Rak}t>gWc*4`{(Bygvm ziof1I!<=N}0Get?G#6<eRygJ(a8>z#5$#=*>-t`&Wp4<)OXjv*y2yzXaW>`wRPJVV z#?z7$1(|l?LpCm{sMzY}NdC_Z(x@gcDln|a-M}1s*EFd@_cn>m_#)=w*HgTdO_Uch zHbd>>rU(B3s;l_M{_^JCrM9ut)^FnTBOIygxQr9{QQ++==0R~EnQw2h;mfSA(DmzA z9_6iVr2AAc#wG-rH*a4~-9Hid(u|y0(HUEF<=>6^J-(sh3pn)sIx9Q1Mi)y8kqeyt z<ph!d=QW$-oqzil+efprc-5n_Lp8#Kxz0!cdvTw}y>sFPn?YqgoxERa`*A4Jga$(w zO@X?1=i0o-;tzyud@pfgFC@CYj@ls!NQhma<ftq`#y*wZ8K!9CrO^e4#%rY0JiF@) zEm9c30L+;O>stO2y70e>HF%_lO*WH8zGJ3$FC3GOm=(*vjeIw!S_p0YJuIxOPHwNu zEWVqS6?papR&T>?WY~N~(_SdlM|E<sG<hKkIl%<;fz4@d#ywAT@V|uZ?)6vk2AAUa z=aLz`@ozL6pMVZBxxnp=SFU)Q<C6SZ@Z1+y*Vo#IiELz!7$I1T#~etcFlS@CkCXrb z&PgN@^L)kNt#AGn-^Is{LW^k~!G+P!9$Oq|-vb7|l+$b>_$l!|Jx|KDd@4<epjn^{ z4&@~n6?MqvSP(}95yeZMmTZ|pZjp1to*nx|xAv6w(XGUbhXm(g{{Zz>8EoX2R`S%T zwI?P)pU0Z*{8g>T;~VR}N;tIpQ>hU@*>w1Pn|S?prcTg%DByGe3<1gNMo1$?C0Rf? z7~7HQ^{+nmdXvohnR>>EuWxk>k}TU_G07R|agkD4c&69F9u>H{yOAN0pz@zF<#UmY z=hWl!ro|g+@HC36<g<<2oAV#79x(8nUODik)uU{NE5F@_#^zJiTOQn3O*t#-X%=_? z00aCh;$MnC5OnVi=r;3fI@YBdT-d_}+Q!qyu^C=8C4k68ViX*l5CJ3#%J|9R=zJBb z$#3EtISiK@S=Y%C$Q0m*Q^y1lM`8#)E6uc+ue>$j=xtS)-gt2BStB1X3DAx^fDLjU zC-~#yPufq!_nOCxHLY7)zVj4Gdw+0dxSdc13hvov!hkYKI0C(AQx7UON%I{1wH-^l za{ec#T<S6DP5q%~`^au11{W)wf-%TF5B0An_@}5vscKQ$`Tkwk+5(kcTW52g-0_O^ z4+?mi<4)5ehY`sWKKRl^RtlrA&3UhmJau&65>`u#4I<}Cyq%FJj>SC4Tan8y2w+b_ zdUIS+I`m5CH}Qg4^*;|-&ueuX#%?B7VZhJJf$njN;2Tqt0URu<+2@~L)zz-AW2$%u zTGQmwS}*L|mAqGic2@<6jnB=ve|ICN(zAXZ_*x$rc;4Oq%Xub~1cP~W$l5vDTydT~ zvrba7GLiI`zz+*p!QnZk*R+|gBU}wV-d`=CX7bsXf%li?U;*Ri&uZ<jHBqYFG-+$P z7zPpDw{AUn^s62dxwF)C*=_CJRT&UQF_laTmh(`9!&-{@5H0L+#ze9Vsz)Yx`MpP{ zp|38lJx6$$^2+)gFN#@p%}H$7EMzX>v~r_&Ki0ha#nLkBx}~<8aV5>X>e0mV%l@b$ z4DIjNIIm1G!=!4r-XOfPU+o08eW@RQGt;mi*1Q*1Ni=OCZ#5|-hT>*tjZ}hEo_766 z>+M_9O)E(CX-AeiowvbQj+OA&Tl-UO{?BB)Q=QD@2G8NZ73IGVwGB>N?L$<I!6eqw zd9Kg*vipGmdyM*5sQ%BF&}v@|{6(m09(BE}Ew)n{?qL#ua)Y}Jo;q<@R-X)4Qqy&B z5NWsCew$}_7JF+Oi^W-p3>jV23~go4ey!66x*;uW%<3L%;$I2}xVp2C{#fGX+z*>{ zE&~i7Y>(EL;ZKI{uRLvT*6SKAlZmb+lkP_vk&=D=J?p>Kbbt6tHSHqxmK%6l0cyu8 zs(xn3L!Y0FV;+_0o&)$Ix^yy4aQ0_Oo;)q8uIIQp1esX-4uE5tbukfw)aH~?YfHIk z{6nJ84WF3|a+!HJ+q8^s{_rO!>5A`eA&<mb%y-j#tr_SK2eA6!cc|@b)-^>I@vJIv z$fs@xP7i9+v(j>}<;Kez<7i?I(0%L9mLr;0MMHAcn*_Bxl|qxB=U!XlYhX2dh9mC= z>FL_NQt}m!(m3{=!}(X1_`>A2r*L`9V*qrn>Tg5ZroG#rNdExAK72r$$H9$DMUlUG zXL|V=!NXvR^?PrDO{-oXE@dH(dVSjYFa8O;@fEb+i<+j9J2#ho5t1@aM&W_|YxG0G zjJC{MXu^!Qss8{zwVby;n*%OtRz*EK#x@@Zz8%G)?mlW0oNzhney98^=iiB+5bbYu z379r_9+~N0oBLN<NpYk_duIzbkP6OFbR3-iAJ)E3@g|{pJW_dT!Ji>rhZ(J7BeHLj zCr>uLZ+3oH1fKb-T89ztU*YF9<odsdd{A0DjXPIZ?jvo_6o?FNJr5cDtE<v{ZE-G^ zvERnA++z>4<w>gMXyE1MXIG<MG>!y=E1of3ED)m)Z>@745r#{PEzF~nkzFE2-FIUY z#~N|Iq{iAj^!nzh-9;KJblN$oE-rkCzGnO@F7p2X%vRger`D^OD$|L@{BO37=fP7* zyK`+K$}`&rxSxh|w4OhjMP}PPSv=!$1Xq3WQY3!?YKq_Uz?^2h&)~(!nX1~!HdTD0 zdHRZtPbzIGXnMbhUv;Jd+kwq|^ZP{W-bR|yqbqOuc{T2SEY~86)z^0ir#)-s&)OGN zTf4BMZ(ayBtYUFvDp^?bqIc;HyDPb>l&8s!HiP(8*$@0lRQk3mjM8j@GyU!>XrDhV z$6X96w{`cZ?tgt_{^{#P-#7dR^{Xtf$)pufT2?tel|-4AhiuBDr==3hwtV{a1HBfJ z;e#K%D7c4aWFE8uV%+BGPSeQmPYlJe(X;tfFvw*Jd#-q?Bz==BV{YmI*VAXjk*a;} zq}Qc*U&SeRJ*vqkm*mH=seixg`gX4=vAObRSw2?pgWj}mH8zTP=eOa#2Vy(cX0eus zf2nJX{vq2A?W}nX+x&{5;;$TQT1C{CHaE>|tiD*=gOxpbu6ol|mf}^Evu@8&f6uK+ zuG}@<m>A$MGy{E4P5qT_Ebf1{8uH_P<-~}0N%L`ndY@80wd%hREUo+>bq25*cwNpj zxbxGB@?Y6#Tg9YF8^h*2w|iZ;eA_?=k?F~=Sn<A?y5x6KdEdEFkbv-4KhC-LXGCRq zoa`47c#)miq;ogSyx{ZgUQ6*{TIoJBK)Z@=0g2<kJlCUK>hS1(8@Q6n38cJ)9J$Cy z*N#njFO4;3@usC5k}P3kA|@yf);`_pwnj(OUk~oAwZDVfSb?`fipob~K_j>Gu3yBq zKW5Nok~Q41xoJ4u6a&{a(D)a?SAGomZ*O5}KY1nuY|31n!zAO=oPHHXZv^TWmRg0s zog$+l5B}Hr#b?i{w3oVh{{X^$TgdU0l3PU^%Fwxeq>cG*2eo^3r;G0{JT&ua7OJw_ z!?hI#NF<)Q@6x;<;fIN>{2AkIMjM%<QtcWjE9ee+?bf{m;(o1rrg&;=s~Lb+Q!gB# z<I~=WE9?~HlGO2UiJINw_@eT|%}F5y7bJJ!<J$(lg!oh93qJ}&rrO*qz_(Du12Dm3 zfzWp1zG?VsXVtzU+fO&|<eFx74b!0{oY&G8mT^mHx6(vrmOZWmAL3qvG)g)X346z+ zYkn@%V482<29D4VnEwFFPC6*>QTP+>{w>sI)GmL~^z*bq4?~W5KIi(^FQNQE(e-<H z#-(nyw^?A2xckl64_xtG)`c1+qQjR!stCjX0EcS9#dJG)v^6|wsx7XP-d@#UxEMX_ z!TvOO#k>vR+l#L;rMQ@g!siWx*ZeEiyi%WPSs2O{VE}>tHS+K6E8-T^^%<e_BWPjy z5N^jE$Q|oiak0-<PRE}3BSg9Q$>LkdCb(D{Kc8;WOJtl6ps%OC2>5bs2f^^$&dU|P zp8j8$0Sv_R{QK9F{>k1Jj?&iqP?8~;7(~0e;B)zNUr2aM!||q%zE79Ta>pl*JK~*J z(3%w6cQ7@#I{yHQB#=3dIAd6pXNDvCR_eIZ^aYiM<z71Hb#wain_XTtiAwpc$sOx& zP?zjlFYi87z`#Dfwa?3`*5}Hsd6&oEiP}xJh}LJzxW2j`THCf5CPp%A!~PX`MnmGu znAzLObO(&!9QXZeOXD;D0K!M{awLV0+k7b)<ny1`Kdp7&0Xzvjw>qrzZjWp1j1li$ zQM6I#&V156Tf$xonKdZngKDnP$KB$)r@1jM={EeMq3K*qGT;9IW2_XN^+S_y7l%<) zloS-CQ7I*)yF`=}kQxmt9Rumn7<5d!K{~flV|2sl(Xr8^dvt%_z5l@T%d=<qea`uu z>++mdl<Ms>oxwEDTmzDVy-QKK7TQmn`)}7HUm0(ut;GW~6R=h}CB^o<fp36iHH_rk z1Nhddsm}r*Y1QX#*sCM#kk9jRzQ3}-awHwoClCd4Hr;4)IoOhyfvS{WlSv%1HCs(T zl<_G3Ar$^~l&MOEC;c8F+-I><?ja^JU8GX`Z|5L%UWK~thW+qR-DhP%9Lu}*w|pZ} zV*8=bdB+~NcGY2{G4SXB%2@0w`OdynMp$AAIy{trwA)mn??CQ0RjMF4V_6%Z)h5Gr zx*mL+SRl_};ypB)lGcYKTZ4udsJpmGB8gw|be-PpWG8GV)JPw!Oh=7(Np`oSJ1u;U zt+RWw6%|EXUAU!YM^#<5udRZOSZ?Atz*10~+7Guj=+D*5W)dAiOPp*%^#R9J4u;86 z`e5GBi>Yf?vf-*VY<(qoRnPIq{F~8tyn9q`+_dN4R8EU}zijzhc^ERe76+=XpYr-J zNvR8&Br3n&c8k;e`qq9(MDZpMm<Mm9W7bTFn}3L>Xzu=VrpMg0So9FMOxtn7j-cuC z(;O2gTTrrw*>;lUdlGgsJ1m_55^so^DO-n1p-a<7@Bz3#*!^R^GYD*8Tb>ic2Eu;( zwE#yfMN@xjQ0Lf4`b;%+!wT1rQ%)O9)idDqWKwt7MCSwZ!t()yfk`sPMHdtOyJOjI z3dZ==YITr>^(UttlSMrJtl?p!u%prZ;;WQX$e!8duCQH}OjPNg<z@jB5m=OEx@OGO ze3}BQ2T@QF^bPoH37bK7r@(fANV;zNd7;P?0`8+8qCkk_R&uhI!{}@1=Hfx?SGi%k zt9u{Ev*wfC5X3`U0P?Wp1rwJ(Hv2Aa#xv?7p~_zojyngZ>{Vm=&da)Z2|J;O!`Yso zZ)ED{9~}ip-h_k@Q`|<xzfs}Spxy<8R|G`KGG*}>u`7C!9W-b57|RJ3i>CogC?73< zBrgTy<h~`)(M+Sf)=gQp(VhFiEOzOSZ@piitZnkGCKey{DLYv5eLnKQ^+Ofw&-mLh z87??Dm^_=Ysy0X1b0>))w%a()nn@kMXk&ujJVc62@7D(DxedgR)t9k6!`OMA8zpv@ z(6PP3a^iVz;7=o~IOa0;`T29qtDh}jG|m4b_)<R5%Zi)4{6%f-D<vI$xq5|r-`l!u zIsYzUTF7r&|Fd5TQn`IA%_}J2g?*NIqeCi<hQ^r}7JR$~kfvTjAugha$AA$0R$Q<6 zLByHA<mSg%B&`lyQO&Q>Wn#*M9T>H(yEc=v95{RYDMHz%DNUuRNk~!li$B=sj3iS* zb+m@tm_&-!0v_!3U8HAtF<ED<X~oocH=YL=8=tYkZOWWks^S5x%%kFvxNMkyA&fbX zc>+j0rP(mJo3dcE2t(@3`4B^jw#P_n^^%l3qdYdi3g|NXsR8F>Mbx-B0hG*&BOm3K zRo=wZk<-ojZ*?E)!`?idNL;2mi~NGA{^V9Wt;xvUaP)Y#o*UsQr^@YQX>ED&>6?3P z@;cY-C5a0i3)b|(eOt@AI)l8U@8Oa6g^(ZK-;`yJIax;x(a@@PKjESalEvPn?Fzej zc-dAN_hO2oA^G6Ua&f#Cbpu8VqscFz@g@GCkZ;)TY~vqTV%%-#-6-1HOx54+nh*R? z#~GxuEz#CvzI5Fz%VfS=0iW<Z?^SrJxHNnDlk->6VotG#gPpW|nQ<4&#hEFJG@PU^ zzPHn6ZD%CTcQX5)nVI~`nqgjzFXmpY;J4_UWCy1;)kJ*uu!dZTNxa-1kjy)yZ2nxG zA{0&{C7xtn%T`sKSY-G$QTgHfFVA6$15PhjzmmEQ?mVlUO0?=gPX5~O*r=tDi*cyC z_`Q4y2U5uZ9G*D~G{}CeKtDH5?qzqC)ws7Q5EZfN!F`&vv-i^i-8sNraZ|+fST0&m ztYC$b>mqK?9Yt({pM$+UT7Ey^L05dzji?Ef6vrM_))hMu)rpv!2MVdhJG%6(=jf45 z%TA`-aV9^p<FIu!K6uC?Y<cYy$hBX%uM_KZH@LVXxJ@%0|6!=6{A1z|*{1P*5#<`S zfk;JWbM#AD1I={a8DBkTl5H;|-gC4glnoHJ&!92C<Sx5t)R=D@co+{FGh{oO68Tv$ zFGZlwh(qyi#rT)06_g3RI&==>7_U**OY|FB<!4=&-q<nC4rfOsS!c1#_2dmjG1flm zdC!71`FnWzTcgR>e@vvQJCfY<cSM}2?LZ;7H1O}z3&N7~zVfx=UHgu+^FYUxa)Ih~ zgZY`CG*b5tv_OV)ERxGn)><(x)!7QuX??8|#s=^puHpTE`<{Nkx4^2+C0k<jPU%Ha zu#~<!(nDQ*0*Rsntfk66r1K^12`vw>I+63j?GztA7y^I5@JJbnfW;kc*3XM%y8dEn zfP;=+9=-TVX};8y=4fo?RNGJv)D%nv1?7r@W23-I7ivpec$f+a36pHs_6r>pQxiWl zaExwNPluHS^tV}wcgO7XS{`4v33{M@1HLRG!fr%FbNs#81Z{tq-6q|BrM!$&u0Vy_ zVs+rX^LS~4=MAz=`XOwanIsYFm^D9}mo&%Q<$|IrudL#qeO<NTAV5T?6Y_xnfj=I= z|KRBGJV;jX#u}_}0TT=5750WmUpTEH)V$wWD^$LW1AVBfcA{vp{@NkaY}WdI+54;g zc!I-z6Lhi2q7On}>h<}OK^H$|Mob+V7?+Rk9e-1PHRp+CtG*W>lz(+EPHO6QqYa{9 zI^riENNS@t)g+7WwC6RcKS-L|1_*Jbk{eU;D{7cL%b?6`{dl)1#}Yt)H!8;h6XCnh z3Q|&Q9S80m9Ee;~!GzDs_*K4%cGx{|Q(8qHb0t}QSXNwT5eE%mMeAW8>#;!xpCGVC zmA~MWxN;b8Qxx6a>;w@=<+2IE^KXN|awD5R?@y=RS~jo&#^K>BIX|qgad^Z0V)TI5 zgT!AOWn`CUn+q(VR|;KVQwSx?<|)~Vo@L@{$poQg|5Ymp$+Q0Y+1_&x3$e79oSZ5s zMVqQny`=@98^73K{z2#rKmDqH>&F;%LXArq{K&SaGP4t93g^H}l$?vkcz3Z4F)Is` z7<=lqdoNc#SMQ|#xka&ED;~C%fASD?a=wRGW1WO%>Z`?=4G+%fJeX0o{wUB<h)t00 z@jY|aeGwPcGTW9A|MkLywcE8|JpIatf??5C(q!Nad;(z5Li6wDy~M_jzhv}$UA@0Y zx~!lIVfYp%*I_r6>_xRzJ=3{bBPOM-Dagk2PgHU0tE%rFE9>uWyAS!X@zy41ix{H> zAtCRo!C7{L^HbOtTogAjpUsh4I;A7T48Ky_12XQ|$+ti3(XATdc+~eiu}3m$S^;aS z?v$7pqx7x!tNy(}$<vbl4Imj<ZVF2OM4zlF0A87A$fP~HhPm!Ne9uTjcu9<$9Q_{a zS!?M1l00$J7DfY2I@=yoTreMc^`Q}5QI4ax4==TFcvcZ1@{0+I>b+z1D$-a`2H5IV zNswi4q)p<8LM-uwJVRE1!Z9mh6#hFDFZS5XsZQL*M(6*1x7W7!rB&w+1d}O2xVxtC z&kY6o6_1Jbi1)ZfRF>d{xmNjEhSwj;_H+=mMfNVx^tBqh*NOvwViTa)81Hg{AJflx zbB97xs}bY4EmPe+XHan&J*VQ`XsTsqZEx4p=SLJp_@+DjWQR3>@iO^K^&qVPl?UrM zuCzff-n73;eO*ZDXjxO!ry=B1%Vi3;D?bu86)rX!-8<PjadJMH=4&ih-P3trj$a}w zusO=-tjNT{GpYLXAuO398SXY=1H+ocln&XH?9Z?5Kd2yz@{Q1>*uh<Z4JrE=c$+K| zFwtE;dOa$9Al3EOvo3y96Rsr%(P=7y4bGRx+Ulk9?D<LCBLXIF6D!p>ULMYtwL7HD zCXUK4`MBHK#8)bKzs|b}FBp3g{2uYj=@Hcbl$!PGa4>D6io_UJRpV$#bW<H)`}jn5 za{WI7YR7fFo+@t6DE0@6s>D3SWg3rja7-$k)Y3~#*%;)Fk68EfUFH^$oL74uXMD^} zAe2Oyb0)l{n_wEfHJ~Q6rXuVuSG`(iduI@$;p-MLcH!;ClpW5RrrZ_j1Q9%6CEoXw zS&0_wJeU0A18+{LZ2qP7G>ht5T*_5HkEM`1?64)~w@xE}9cV2o-{huWg)zHRWLr`H zW54LcR+9%)G46rn-dLG|2_`>1V8?{%ACPwc@#+~&^$@nl3dB7+LaEk`57?d2yDYNu z^9Gygp7t^lXo{>M6&o(Xm)|(<LeMKfj#W$v(`Y^0)z_Go(|4^!3Wt&J)0N<HQV<;- zu*XmbXMbh(rFH)G>1kdf<sd32fcQo$RJS2Sf(B4)EigMEh;@y++dU-+5@+gmzk4-B znjGitYv^UAFWv^r3bf9CT3bLig;%{?Mid%6&k+7y!o2E%@A>QJUO2Dh0~#{WvX!K< z+x)T^03o*vi#4j4Fb!L#WcrY`JYwV8Tro~;K%;6|`2^y;%RMCfCI?NggvL?-<u|v+ z2SV0Q7zV=OOl2%7W4+~Jc?XOq_Zu4b0PFsOqDOjG2uFg>zjD1$--%6KN1+cRaFW0X zqqLdrB>w0RsPn&biXn6w^96btPorxxAwh02`XS7kM1LSP>L0E+!RO;9QuQR~@-hT6 z0!ZpDl|c5Quv6fN8^tp6*Lq?5r1+M_qDUubXN4xaP~N-5zsxb2c;~r1Ayro(pU+;A z7To$z9%MF_B5L{zjtnE<0amMZ6tf}ed)<`x9#{V5;@6UCO`L(f4k4=zFNxEN{Jzjd z)Z`g1BZ>Lmgprzm^+I5t631e)lk2?qR=2Cq!)p8KscpTyFwu>#^#tVV?metFTBV)d zcGzZT6~J-JIANHI`DxJdk<iX>v&+NZ%cm`ghr<hF?`w}#?l<MJhAzeb;vSGCust`Y zZc_K~{!vx#V~IMGs%mYTnH~HH-e0BMs=JzQDoFq2z^HW@FBtT%;xgj|CiX0BEio#8 zHg;)9q#WLDkbj+DLJ+{RY}6tEkD;TZIc-Yls<O$Uy{wW$sq%h}SC|a2H4)mg;}?99 z)f(!vD*Ni<){h-Br|!WxO$oHUNvRkT)p$X06(?~usa-Nu*}^PlEt-QJkO7{Oge0vq z7*mxl*Bw_L6UgSDT<Irlvp8N9Vc`a~Y<U7k#+C#WY&NynojdAz&?Xnib!sc;$mmE% zqzg1dNEv_We#2GN=5;ua?2)29eam*OM(to5$3H6dJ9~i<7bJAr2C0wfhjcRqb}}*C zQNr$RqoqS6oOt*8=fM0xDwdSrF@ceEc*wDHcN$UXR|gd+aDP2DO^)j!38T2qABLZ# zKCUx#C(yhvBd{j9V$j0(Q5B9#iEELn*#1{sLmB@OykHEhHe*<c#y@>XTS8zhJ^cKS z%S84jSG|r2k~?+|uYY6CDFGp_<#RmLxpqHvDZ%wL>6Vu9=2npdv?Fdo6~i#72yFX$ zd$5zXcK5`OU6$#>GIn6CdRr^`FHE{(HGq(C8xC0pI7pGW993I5_X~{RB}~~y{0Yz~ zOGlHMq-1lO@0Dw~cGQmPqqOYr)nAQWD_JrvYNI)d2ZZhY>V`KsGpykdU`yYlEe22Q zUvAp*bsr{LA1^N+)rfuqmRp}A%`kb#{ddN4pv0w<_2y6w7CUWC$2)3l>vKzUxQ0}! z1hPbAM<+U|2vQoII&ecgoquS9<mI}fYpRKHS-<)kYhIT1U;^7ZvbRodK8$apq}}`; z+c#Ihp@pcAu$|Qw`zNq5*v$Eg;KjglVre6{OhedA%nb7K#<nbH+sXrOduCe`c4~ZE z#p9~j^i)w%rXBVIpN2c!c|Xp_i3p+HoBFt5VFFa#__ucgGr_TRNof+=DH<A768@s- zuRq1#K{?SaniqLE5&#Yy4o%_tBNZ1~@nF>gp_;Ow)F|1fqyxrr#FPJIh)Vh*jwc*r z{KdZ1n+w?{L&@AFVZk1}X5H0CL3QkPS{KvVLx<;pG3TaLXQ6deuUo{Hiop@rRGOFa znat}qd9`|A2A6IlD}wKJG885g!oKV;D8*W#4i;*-wdPw?{4uxt#`IXcXi=EDz5TY< zGnR#$9g%0QET14!sSheE_YA+CIZ?kZVH@qav1}F1dN`5zqfj{ljEs@l3A^wjMjMsH zwt)6VpK#{%C_~KA&-53+kyV|>X*F({Ox6Jzlne=-7LV~Z!Fud;HutlYz=$-YsvT?m z4?IGt+iwwj@I26QfySC=Ucl@pP6>%yD6ic%beU#_Id7Tq`Tv-vk3i@FZgvdvdb$9v z)+ZZxY}<_>6E|Jw91Q)chj_P>T`W>86pFYRq7Px7n^G*g9(bI6L0zGIpjX+mqS#OM zy6#FB5MBGI)9Pm*HCrCp$W15SJVQpkIB>46#V!GkWwlv5h^RAAd!#3SUVM6OV#;^j zY&&k*^<8w6{1bt~qmPi`7tGCEb|^H@^n)b%%L$?1)EFP@tm;d(6Y*{W-h@@Yb3-3M zlvg0ff}o;+;fwc*Vu4ReUT6ORpkxzy$fBjbfY`~RV4tlU9`9?b`2jC|o*9Tfu6n=M zMnJmiQO3UzPcuK?u9KBWVWFJWc=!hjUIyjI%;%?axccP}sBN9fl#S)oiJfKJHhIAv z{;<@!goMt9LR{n?I<FnJhWty^?ITg9L%g}9IR6QaIOtNt`Wt_-3&E&a$FSp(JmTyj zfs}?aCz7udqbR6Rc10Ji>x$`)ae2@ebuv30aBk#J8f63UJ52#iU}wg3eZc6V#dr+~ z?Vcy5<}Wx-FrVTxHp_pf2OqNbh0$KbAXN~r@*Dk_L0S{pZTIaP?5%iDWP1;@quz;7 zgrZGPw0g!wk~45+PNtZ9R!sPKuCt#DOg_&<$t_*Y_m^6e79yo9>yhROw6zl;Xm>`E z-&0yv)bkv>jwYa$>xW6B<tNc&D-NEGH2v4+EH62WZ{*9p0qgtv0BM$XvxngBz^5Xd zX?E1WSvp02Lol1o@y*VNEZ0t@?Hx(lT(EWGN3J5mpZJ!~^C3;;^!L+FA|wo+Sqt0P z^O#H>LOP_&r3X|Dx$y3{QL}-U{COJ}mZ#}1QQxtDN*whkmJlaO6KyT~*|nb7RiGvc zfzU)!A4qbv3QtwR4rs{g==NPE^#9&4jFVU5T#wL0fv&GSyjjf?NMr6cF7?N1?}&aY zj6kq;PkW~}Ax+FGoXu3kPRM7xnLT+HLWbS6Er>*$u-;(AQ$;s3@Dlh1w50GL_OF?R z(0j-rr;Lm*{rXp&=4_Len=?~2kE{Vkz$|*99z}0pKQ(RVUo^Bj2x%PD>by4_nsZ+6 z?c~wZXPOD?(qu5&y7F&7zVBq>b~TM;d3vLS_t|H6DaOh4EC^~5GM*e<OqYYM)E1x5 z)J)SS(BNPX$`T*k$wh+}5=lkPUh65&S@f`MJJ|oIlHeNNJu?q&VT*4!V@6nqs6e5s z0`l}x2Pi*Z{gF|7lEN)doKtL)_@t#%s`v)}5jJgmk~`gIZxCq?u2WYaFBRH=y%d+= z(+#;qUse<6W7eayQy#Yg3f19UeMwtW?$mQBINidhoyIkkG{8K@&*Dstc5k)wa~s$F z#cb-zToaL1Xj$;l+|R7ZjX)MCIAkB2<_OfiZm*DEPn6lEwl`(gECpYv+`WyA)JtB= z)JtLBY2U&`T#+mX=O<CBc1R=Z#8@F9xwc{kJ)CPIuuSyq-c_wKp<JfFUasxoW){l; zwH+(oC{xOxn>aYxAY`vCmfV<~PWaPE%qzD21*uDr>QB8I5^s96LgO0ST4UC!k|8Fy zeSJ=}+ew}iHdcSBvB8!U5*Yn%xpLI9InMg0(sCoZiO6`$N!olx+%MSbn%i>elyN%O z&lPu?LC*ug-QhB*G__7|<T~)9#)X2HlLu_JiMh#yzJX6pSj@LfpN}gql}S}sU%2JJ zi!bl<;7ejU4rV=u*&dG6s!>R!CTTF>E3@NhiVy0FcM^IAT%yKI$a-j--I4tu4b4lw zMVYwD1h{ZfZrz?k7ftOnWJ7j>Ao0ODjO?NWYbW~#6lF*6mCatx*s|Dwym{yo+HLS^ z3{Qk%gVf}I*1P^4!##L+e=D8$09yF7X`qm_iW!@|gTiXOHCle_X6v3scF2=VFFD&Y z;8-AQjndKDY<OVAQ7@AFd3@+G9pK==6p!=mb9Q^(lk+`_=5LlL*r<!XFx$&l<V5@7 z+*%--6?0Uo{qT7teM}Zk%0#n1B`T3<e>xU_Xd0)RPB$gmy{rz#9ko6HuZV1=9YhCA z)-Jr6w`l0~Ht-*j!k?Loq!*s3Zr&0TX)QP;b#|IzW(raH?B(I=dBE$@u_>u=J;NWC zGR=YXyG?S-@(z}x23$4a0~t5N{wh$5_f@7+W@+d}uS6=RZ@1(4%kskG!_zUlful=q z&Oy}N6>)N<K=k~uuXZgZSEuNEMmX>yuoE=;E!HyN2#9Ldx+wZ~n_19QyFI26nVG$C zTKeNg9s%yK6GSYU#ukgSPUu2B#Q-e@i<CQuLrYs|It#nY@D}G&8*$D<nAjmQd{>&= zg}<)BAsB!TR@_&T)?;}JD&A`FxE(Vq7o+-*psc2ytKS#5i2rRZ5`i9RG8ynrOp_7U zgmQ^vM*y)A+ZNinEuqEP5w$psyz36zk5lJ^H|J$SermcnnLjjTF2c`#9jS&li1&~S z;+X}91DbLDQiiO8Mx`g#9JTIXQp}d;5pTn#!wh+oR)2U@R`2?a>9T~hK9mjd%tZLf zF-10UwozP9hm5(_5$61?vRKbzgmTLi(0t}C%pIKU&Ysu#)EgSu5%(z%UBfQt9o<g! z?SpB!*S4B}Npm^AW)G&WjYe`x>p#Jw!pcfa`o2*G8{Fyq&PY2Y3pgX={(uh{U3-ko zA_&)*C)>dH?9RRHK&`xsUo=1XyC`ve;I+ejS~h>gAMdU+|H_)7<r_Y>zm0$HeG_lM zv%3u^EV9gIDu0rvr=Yysj%|2=S*&v3pS!&3&}i|oC|@G^+GX<i$msf8)!v;JhKp~& z8%YG1Vu6i@sZ4uX3DGi<Xrx}Hp-ja1_5O^U$@f}b3$WT@lt98f1L?gRRrx-sg?>d{ zQ}$j``C!FO8)2LHmVsO0@LSbgQ`NV8`)Sm1pS~z_wK3)Ee_GZ}qs;?Yv-ux<_MLi| zd6TTI#I1C_zO6(jn*vQ%o3MBajI#n0u77q~sV-?Aje@u$!{1q?F-2Ku7kNI?zlm7; z-uh@cFVy*f++gWzfCyxT?8@Q$C+l}&rROhCu!ynx!!iF>x3{MAc(|)7x93OL$aaly za14sss#RxzkMktA`g^@WveT4v&eo@QwvlG5Xjz0vN<Bi3N2<4-ap`(mec5+%+<7^T zZ-rs}B5}rpcI$GQ*(phm(u5~E_%Er;c`M8DRMBM8$|Ns(K|^<SBMNME%p|q#Qz_}u z=xhGmp310?bfk%WU5TJ-zen}=95d+7uyB4S*^CMAV=MbnbRLv&gy3W9-2$6L>6sF$ zwlrj&YgOHiTubwF&D9WO{u~|@z}^c-)?=H28i+TPxj`6owX`ktV;pelTW^o%l5FCD z(c8^_(K`-&SpVgCmT^%ul&>JfCP{?&%Nryi9UV4@5Hmg~B9VGZ68>87bwB1;{86tQ z`ux1)6e4l*Hn?eIfKC5dnZiq2!on|6dU!Y)o7!8$*Tki%4Eh9D^jrVp0Ngo=xffZ_ zEJslek==f;TZua>ncN}<$2|Pe(St%|K$VD$cM62JTnzOA<JQBC2+phAM*{3l+eYp_ zaCm0>Q#djqXHb>;C!=56JyiXUslZxG{^`qc%TP@rCF0v%Z!2#uHvq>7{-~zeDPE6e zRbl$axyqT@6r?~Nx@B+`b%4h)Nx|k5?wIn{<g|>_06ENgE9t4!k$ta`Yc+f|md8<) zMz(MUK9ilm?}(OKH1#{r-~cRP8f5u5?~&Y4%3ea96lhp-N<Vym-Cxx~kFA=3QS70* z{e^-Ny=?qz<reoi){ouBKT$e{faGs(k3F71d2^y!tprxNOTWhWuGFr@0FC}5P`?I@ zGCKUie86qH#DJi#3(L72ikJF<CTTlO^1|O4<f?kd-{V+SG9;*u|4Lzt9#yLROQ?B! zk;R}_<)EfV`g|?m+i|uNH<9AV>c}YwTKL-?$3GV%)V_-!lcZG9*c?yitE`@^C- zZR{{WN8^wqImAED5Zg%*7`h265=B=gt^c+ko{oxUnLYbiE6RCtpxJy;@9VHMFhs-j z;SQr&AOC_T5?`ev3E5XR2l?y13kn!cUrnD)huvI<OHakR?)p@o7PT`~q&f4l+VLB# z20fOGl?yhbc%effYY!}Zr`+6+epmh4KkG+}qu9$FLmwbYZdH3Hm=~6qn3#Mo0><1? z<#aj_*|?^MVeUqkMe(fx{3L8#pk{*Vh(Ys9+fI_7MgYj$##${m-SOua9{Ka+TY>-{ zrlB51IWCAxK;`CW8BL5LD>p*gXT8vt!yxf&?FCnK)?1H9Q3fB92T0>6Yq(@ZDHo}` z-$2^NM)%TnCcYcH8**qRc@feg3%Rtc82a28qlVVv#%zKpj@IjMMPM~*=?-<h4qo5& zw5sM@P(C6g@udrM0$mQQkGSsLuLgH9;;}eI4rGIoY$;%=FSvLk!1+^nDQs}eRe^HE zH?32aJ{BI&>PEBXf#eD(nrcvXKdr1<d|mo??zsK~77sY!+D@c%iW=ezZP4D4#3~Ol z@HS+}YW(og4Sd=L{L}z_L4q^^BzM}91$R%3BG;897!2MrN$f<F;fT&lnOXqzqh;fr zXr!Km@DJzZf%)$^OE@~0vVPcm<EQC^7tic)!IvK+^8I#>Nqx_UbZRI5BdF#CyKAd6 zA|2Sgb@qnIB}zCZwGEMIv4)cCf<}LP?(XKOZF>WU+E)0SrFp^$XU>7iel_kjdRjMx zJE)8@K#Rg??pnR3!M|&OV?IotNtJna%ZziyA6-~~2TsL@j~dr{ucq9WJ#s{4T8#5? zWEpXWy?CzR8|Z@d@CEg-Y}QEpYkoU1SLG#ef3cmcXryKp0s#j*_f!9r;`d<=g!oVd z->~>PwW8G>&dS6m4ST=Ay=)jsmolFH9^xxg-&PVW;#*e3bOlxgn+vGmb!Vym%FuLU z9Pw=ggLxW_{xMrrVA<cFK`uLeH`{X0H^q$RvK_~FTY5&Vq`Tbu7;g_;(Dl~%S8KlD zbbP_xbSOuRj6=EZ0wy_+4%j_0oGFiyp9uj?#D^cpXcDJB?-6I6Ca%~`sd4mt-t{Jy z{Q@`cyl*IiF%B{k&shtigIGNx(pxE`dsj}ErKm-m`ea*N#73nehC%7rv#R1Uz$|Dg zdL!&{>fU#2{O9-W!S+*Ep~m%__tF6N8hkC?&#=Z=LQ4=araC(Em~)&#*~U`}>s<Hz zW&n^j3Qw7|($h;-ru~5=2z<Jyo90s7=@!o5Dd-lb%v7!KK4e5IJTut>kpDHiW8#)D z-W+tPj|~mk_oKw}e(2d2->2F0!u&<9nk)sdKG2g3rhksUO}s+Vm%aJIKHtTfffsI| z1LSTvH5p-N(HRS-+lop_om>|iF{i<Y9AkL0Kg|Sd0~bR38Bc|B=#MAuESbIrKBZbB z5%tM9SznfiAUcTqbqVikUE-?-+cwezgr^E)jAYa~jB&!MsXj>pZC&S1yV&Z*9MZrS zjURP1)Gig$I%Ul9$oBzQ+y$6~rjMbD=sgI575jTUoXW+tFBY<_NvWQ@U15e%{nk|b zSF!@%iy=Op=hLmZ2>#dU;o;4cRqy;txrkydXcmhX2}gIk*t{Jay#&s$u#7dL@b+D1 z*2A-$!k+OtS*q3er}|N^)<R`NsfD7u-R5fKsNjESYR}VooyP6#BJbzJ@_ZQA8@h0x zGWTPJUFMC4xGij{2;(S<U=pwl{ceB|2)gs-nrrA=Atsl-c_3*KVISvxFx9Nk-tzKr z0kO<5uc>ZqDy!zv#~&2U@NoW@)UC^qo3CIld}QJxng_iYyx;2cx0B?a1mQk#Q$yx` zx8FIIf-)0uQ)92aAh7m9u0cj~3LgejUx8gH13lDy*FshpR@-gIX|*y0=(YnPprpJ! zqitD!(KBb#N(CXB)%zID&px;abeiH=NU{Wqp=QiKS;HYTv3%vx$NBc}f||>>T(A%e z2N}_IO+m%FI;+~+FN>hcOYj<UVlvvHoqoL%GUVC-#CpdV^j6d^XhOUetC1b)I|mF% zuTpt>j2-J+hQIAI8?-%&^6QyC5d!u7Co-%{$-h@Gyq0@kCUlY>OZbK>0LhVsntr4d z9nGrKx_<{N@|<XUzm0f_m#Z}kIIUjhGUzq6;q&9AWKK^C51U43q<E3Kz-!g`b{NS; z+(hOueub!u25ptu-GwprO9IRfOGe=C4;6!2fEt(4-3c@u25a6zmG3tn$uXuaj^;MU ztJYOc%%&4cNY~5GV5!%ArZP)R)LnRc3Iq@_7S92(^`@ibKW>h<OlN$g!?yGAXy*$Q z?Ee|9Wn+)(7&{{g1%6Fz<ht1cTx|&!f;Fd^GgIPS6>YWQ@cq#EF5xYa(~9iDXZ{{# zf}a3Cv47BN+cD+w8m;W~fy6|8rbzOIS!&E?0O@>@i3;tvv*LcI?d_CJ#?`<666;Vs zs?leFJV)4yKee>g(vU1ZdiNPdS69<$H7fwHo~^TqN6@v?p{P6U%*mkAroOpbXM*ki zzBZmi^&@)*;qysE@x!3kHL{`>DyCAJfb?A&N$vb3RN~hkM66q;p}U#?j2ADm)a}%a zFtgqF|JXeVP@a>(7P&>}*^75<CY{I(d>ECha&PpNgQMGBJXeKEA4IFPU4~!(b3y$_ z0R1=R$4M3fjYZc~DG1x<?|oTtp?gW7p<BB|@gV34K?XU@Y+M+lW~#bwU~a#7DSE)O z!}HTyx+)sd{zZddla=X`q0jP{igfY}>&vo08a$-v$^-UVFd=g^!^88P(aca`Zs+S_ zM*_FWz^hZ{5^4Vz2QlIz7T4Np7i3*gmZ>4@)~iYTfs)8{KOJtd!P$+4W_mH>tR7|> z#VQjrDfNSqN(tC2++@dmwh$K~<E_uM|H_biw|##rC^~UnRvhrXzlmH>rANkLq;MFW z{bXHMI9-;5ueo-Y;MWiC9q<LGO}FT%hhaHKYyirKAll0d9~2<I*g$$|VeFYLtTmH& z@a?Q6v98M+%@=mZ?}^K`OI~S+A0WqSN*KD<JM>pe!6Pg&%r9G7abmMGh?$8H#zRGM zk+zHUo}^j<HsAYIxCHZ5aI+6l*g<HFG@*_6{jxqbhfw68_%JtTyBvOrXqlx#-RR1y zA<3=T!u?X8N%GbqNz^ynB^WHQD$98RE;gC<_Jv9(iuX{cc8vR(7gr;aoxM3dq%@u! zm|d^PJ=>a|ZgdjHD6fDs9<m6Wuhg4U?R+sUg_Mi_h2=Y-u*QmN77Z;lTw<QmtDv*1 z=eM^BHy(rjLi+9y4U~@mm~qp)xj03BhaC7XI@zO;Q}G=DgL;U8DpyZlD|Mdd%q4na zY2go_Z!HhEmH#%?5Ap+u@>w5g8U4)yT*;)_n8A*2hKs;eU1f;R!{CS|68*;~G?Iof zp3x-BA*&h3<B+F5acL2xiJw(NG!W-r`r1FL1=>%j*W@Vu6hxwSEm)mI6Nbs`SXeu{ zb+=vqBcKxDlf6v&M>0d9x<uB=u=XE;?-8Vx(w@TWmGz~8i^*J-_1DEjM=-N?ql{$F zL$E^NvdU}Lm$%r6?iMYMKV>Y32niWHeM?-y))P+#=2?r(?yuVA85$JmXsT{$lQ~u_ zIC<LyqJ-{3`85mlu0KRJ*RN=ZLnQX1OX4J6tOI&v9+yW3b%_x}SY$8qdWSznTcM3b z0#iICN@)<*wC66<k81R9Ur+wFaUhLxcs6{*X0>;-6*k^v&i`l`Z04);JuGnxQ&)U) zDLav6?ElHEmO+Pzc9WujUr6Qn>D%l1%Pn=1>&g&Dz4WjoB5P+TSCeZ`Ef3OZ1$6e0 zgg&5jYN^KukfE?goGaI~Sm37JujYi>Fp`wbANmn{(<%MKXF`=-$!*?U^F{X({s)UG zCUY-M=cl;W7y(&cqy|%f%#;rRY913D_)JB+Y$`tdl8B6)N@@pQzj+uV5OJc;{k|4Q z^yj9J#WD6PvN3~P65uKM{X{&|=*T&o`BlyMa<=<)9FIWq66pyiQ`vY6_05yXJE|Qq zqjUvk*lR^Sz`gM2zJxLA4j{s1&+KJGeIqMFj$q|Ktvm${wL}4(+YV!zk^d1?HVLs~ zYFtvV$DSMOegF-x5tpKgV>Ra}1PwEXq{n1N5|y&ro4V*cn=_;f65{5g8P0phdgC0Y z!U0JA{_WYnO9Nai(vh6I?~dP3z2)NPib|R_*l&#P`OkjxAbpo>4qFzSXj4;`=QG1U zZ(0}nWalfdCJhVRq;@P8($FhR^dLivOZj`18Tw%k0nAm|UF1V_yshg}!{aECefpk; zl3WwTrkd!1JL+Y6RJdZ|!;@nrc%kcGZlB+MtYaCLy16mcXP^<ti4e?8sLyH4v|Njy zErbNc5=nn%=y<nClyW}i_mAcQBNcbZg~;Lc9i9wBp}>|bXj&6G^j&En&aLgHm21!3 zjMD5j%SwIF)$Ke?Bq7=kss1=83%!4Wb~3MVd_eGMh0FNjTUCu^EZcW^PS)aL*b037 z1~5H>Klr)?=vae%vBl-i^cR);z--IFt!I7_gg;~)q(p}#;s7@Ibqst>;RBgSx^p$e z)O(VR5b$eoM;}szSl}qa*rL~umJ|u<s2BV!8-U!M)3N)rB1?J?n04<9%2D2IquTiH zV>)xT5Xp2_O|D}E{!f-}K`e>xW}_0{>+^lBf7@6ro0Fm;jXh=6_dm(KF(D76FY;e8 z*jqos9<!r(W_C`>8loG9iWG}QyXo4$h-=M!&mU(+Sde@kNPb`$^Q$sCU2<)|?5S<C zij{-N)L#F;#$Vn>xP!<$o=O~i61&aICi)|f$Cn~t@eby5>ihzah4oczOcDrNr(HdV zW!?A}s+VoXR1CIgW>qO?cgK$e{F|zbFv>W!8bM#MeiP{_6Ewbj>%jQ!^B5JmOyxq$ z??dZI@o^;jU6v`5SkvPUzQIBw&Cx*di`khs^B<wNR-B}pS!&VT`V?J`#ah)bfgU&2 zJV*D}4T(2^^9AN{wivoRgW2PCi*@QXS=oz9qCcnHT4mDbqY3!g5oy1Y2^5d<Ozx@A zZyg6rMs;w0Kn^%s;vz0Jjw~P-wYJzel_tb@Gr+)88Gk!PvAKpZtx@LmZ}@u)J~+s% zvUk?g25Hi|T|-I8g>Vgnm#D{J6Zz0`HlA(SJ+UQ69Yd3vabs#sX8GKG3hGUMyT|Bw zHBQnw$L9s`*gqEjhU1%*ozD44dgvsfn<qp$%l5<-xIAOI;j-<J9J6;atLNF=`Ld6| z^NJZhF?-P<_q13qM$Hy$o@xMmU2o(yvDKiAL!mVdTO&W!z@3w%`p$-4o-qF0L&*i3 z9J=D~3HFDGR8o5)qL7tpIlFm)j1RgWEh`-&D0Q!Q_wC)I2qubl&qg)jsGqeKahh@y zfGykaYbB#5JG@?{eKvFoXB7`p?kKY)^3#`feLnT8)#o3ltX&f)D;^%TdoYglNY_8w zQeg~X+WBYdaBXwTOcm%!uBJWdsB5(S1OMmm_~OH8W-b>7L^M`)LrDm7>u{M(;1gNR zw#!5w;$OZ&alosK7<ONAG``ERD%`hC<a|6;^HJMuQ~w3vsI&$va7{h~F&$j1uUyh3 z|Bt}#B0Np}2zFP2@N*yX@$X1Cwv29oxGX-%tqav~h%6woTMk1)oGy~PV!NLyGx%k@ zzq4nvW1>WXrf}9xF^h7-_Ld^pte0t02ULQ2D)!QYs{M_6$tACwB`0;h;A}GevVgFK z_I-cZU-fd44Vf)PD|&GqkN1{)wGw-Lh>QEt#3~|g!PC&aX`OmofC`OfBKH)2xGw82 z)Nyz@3QM2JWogVd#|t@r3mb|o;`>wkzl_x?pWjzt-ZR_E6(V`xs3fCw42iMr7S*mr z7+X6pM}xixMwD+&)7a5PgOG!}>TYsW((<>dKl;II`*a_P3d{~aTJI=0M8ci<->nc} z!1n$6N*^5&f;TR1NuU<(D%`lpP$8U6GR2rW#*R8x)-C$-<iOZyZ-NGQdCadnpAkPn zUI*jHIU$^jw|Cg%drOOwhUWsacQnMTwQbBH+ivz*Z{il_E~~g7I*RHSYRDNi^We&P zD$2ZLfANDPnCx1~PVVL6d);9zj=xvWPD_1S8qlGU%ZM6;X|?Rs4_S+ykNHY!X)I6t zNJ?)$;mSo1(KTb$KgvB}OvjsY5Z|-#rK!;zn)2FX<F5D86bX2lc}L~lGZ5`2y|#&P zhg6B!BeGuNz(3R9+!r0A6EMYy;2&P(g-vsMHoTOb+6D7bcy5HPE6GRQ;IqN@j~PIe z<GpcQ?vZ)5UE@0laPOuv_>;$gO$!lgS`iG??I%~1vJ75-uct`VcYwOYQ)g_#^KjM$ z_vgEYq-3XFRY>BYu<D9TeNON6EabjS-yvP_*Q2#dy~>F(+fg%9$$6F6!6wD+mtnGt zSUr)wN1#)Qmq)7)1YTkhaNEtZ!>y#4!J&0=g8Kpyd!ClAnc2ZS$@(=Oc4-pfyz4Qh z{t_a1+U)#Hmj1P+kWbuy1fu@ie8d;O7M`Q8AEZ18m62(^)su(=s#>S<oeETJFJiT{ z=W0K!ZR%GaHYyPS0G|7{5OHjH@_IVi9B_!beb<`Ldf4Yb0tGiljROu{XZ0#R*?%#M z3K1g{H}a1va~0s!0RzFnp`>B1>8O{fmMg}FwS*n&tv@%F9{9^}r%gTZv8)U>q+tlw ze$9Jsya>0^$QEj}$&Veq5xdAP!DC1(=54PE*3&uD={R0+*OfWx#H{i^@Qv7mXM(oP zDLqIU`;wOCB^pw@T#yY)Yhk+g^m((M6UaOSozMD3o6YB~e3I+%nRd=YH{Z6VRo<2! zgBUnCZ3%3OSz*#H22-6qg6r?j1@5@F9g24ytn0W*J3feco(xg;aTHn8Hl?Q$$a4;* zrFR1kXJ<{6;7#2g4^58pJ+`iVb%blu0?GGo$10<M0MjD6C2#=ur#>K&KPiyvk#Bwo zu+M`uxM%#Rf?(>j={V<TIn;}^t$6K+gtS|fKHph-SOHv+n<rd$gyM&T0${@W*R~Li zVV-|e)bFgBk~L?ocdKcwNkDor^uX)CqLdkFy@$eO1r9Lww(qQMgyO73Q>n0;XsSBx zY=I5hm#3uxEPwqQZ(pS!9QmYeMmaMGsD9pr7lQS1Ox@jOT-8TUWXjY&jB6Y_j(wb_ zavfA|Bg}d`ZAQ~r15eu5v(l3y^3NlP3B;ps#5&7lAuELRt3q$z48(x8Fd|fu><rUs zdR5L5+;Jm_LBnzT4QeMQGlt>^zy}VrU&?V53!+4Hdsli4v~%_F^aJ6njCd_FVjy2v zt5ur8n4lLG19z0At1Ns-TX6o#+yL(3_9o0856_CaOlJM-hFO4_Uxa^ch|ZC97mP}D zt1A)Tpe=8G+PXi(N5zAA|5Y@0`w7I9^8>uPChg45Z;S4co~D9fUH<O55Z|o&L(ICh zvg&<79hM}n-=Efpc>2e^U2eyU*u4u?umDq8U*$Z+H5;_55-qk*@H2!}eD#o={E^#F z{Tk)quCGq>boi|eKFyxm0;{_5H+CKOk1qd&C-@cJ#+&j5yPr&)aOV-%@R3tip2rxs zE}LAVoX)R5I#SEGvvm3DyqYpsZLkIITdA<U8Wt}tQOefUYF&w3tcV18Dn5UDLC8ql zr{E0RQD5h}bX;_Emd`k}vuVr*B>MFM>_izwU6q+zRSWWFE1dZS%iiuZ(iSI*(at0d z=b0YW+%k3&b3t#)DEnATaTkCG<3kd>Yh5I7=$KxxsHzRD43}}tb}~1%Y?V1j&gLB* zHny1N<&?kj-41sgte!q)BKMXZ5I(G`^LQhnEd|y%1z@!63|ZsPht}e+D`w^dwiZQ3 z?9}bAdN9Z%N)4g4RKb8$mJPVpMY>JFoV~s#S$l}|-6onl%*zwA{;ebXEW}~7XmIlH zC#KM!9EnYG?AV@)UkX5-W73$@^pzol`NDCO#H!YEF{bm55*}=onqQ~A8h>6!Vmz7u zuI$x3%0%Ckp_{1^@z#i;CrG(eV0a#x^QhuRucSOFs&>H!o%fgME9i?1QR`HLfv`x! z;q5M15Hnm_g=~4B<u&*`m?+6f9$R67u18f~+U~f}r!sJo{?Me(w1;x-ZX`l~Akc*+ z(*F@`3967XoF6v2o$l?K%%j4LOo5O!XJKUf>@g$xCG&jQXp_3bW4M83<kxS%Gxj$M zyyvGo19!>H7&gsR^6vPNMS(~WaUY!h3VvVj!3C=}j`v0f-2t{*=SoVfEqgX%nSBTM zy=yMB=ilU?8FF^8=5=`nDSy-0pS0Thdt=+XuNUd4Pq$=FWpv@zcG$cg|5ELbRq)N| zbH~nlTKu}_DK#SZMjnpykBVKSE3eHtTGOzw(fa#%TNduYtpa(nrU)!7b17K#9vwQi zc&Nf)z}&1Tr`m}FN4}b}u><a*F_r;_A27egJgEyHASgpL&2qr-o_FHo%@3t-hUHD` z*>372Xxo=IVwC^9S+KJ_BaA<R+O`+D*1lD)+E#7!>-z2)Dj#p^k$-3_`O$^tolX=Z zX(eZ~+u1V}F9xN@0?27EM17&r%$&MdQbi@^cdIzv)ugKH$781ECT?ikxN)!1)w~!_ zU?)Fe(Nx7r`fOoEl<7l2hJ+n$#_#OL2zY+=))R&@C)?p0800HxU%lmJ3TFRk<G$kO z%;GLrImxLEC|o$Q-fn*qXc<F89ND7_PSGRbMy2K+O$E5-7U##2Sig#SZb64KQlp9W zta+6<{rA&5f0daQcRQ=bCp;OCRtZPEN?TrE1Ty8vE!c@Vh}={@&SX~4@6M>)V7zMr z#D_z8hbFRx8{6sj0}{WZw2!H+=VJRfuev#<uO<~Csj2{3^NSseGk+&hgY~23LFJA8 zzXFMPoK|NFK>TVSu<NTop7rj+HTlXEhZxuYqB1umZLjdOZNuk^(MLb@0<(OzdA3!& zb;JPS@Wiyz+8Q_T-_bCKG;@h0#A;7q6C6F}FC$J^W{(Yld@CMt?>fnrM5}&D<^`U% zLCFmg-x0H<8t-QtjT}P$BRG54Y$Lh`K%|<ghz~y&hbET@$jJ4Wkvl)0y9jHIKeKJK zZMz;*973*{@P*vC@crIT1F-^PG!s|+QWm$lC+=i5Tidlwl-2`_G>XUGY)8iZ`+X`G z1fx6>g?1ht|KH}I3U-BAZ1VlVk2-_TLOse+q@td8uIPklacR=88w*u;q8DN+hs|RP zpV>oX)NXZ0iaoSl-FhfkqP^$O!A0YH&y<c9nE1Yn#XSwc1));>``9)X8Yn{Ko|XIQ z<f<*RP?a%Ag+Hlkax$7y+!XX7y(8SxvHqQQo#7K`2m0OhbW74NIW08%4P}^NSl|x| z&5|v16%fVJfFJv;i-o_3NOwoJC_}1PkI#<}KT$<^?fSDrhowdk#fp3E!kaqVX%sx+ z83Tv-b@Stwrw>kGw*CPN#@&ejAC4Nhb2qbq*LluKXu8Gve|$N02BuKnZ)u-8Kf0C| zF~$TIyqbX27<<NjjE?=X&)Zh~&S=5mKY|mFOP4YE48%1@-D0HK8-9>S%_Xgp@LUzS zviav}(ys~4qdh~ZS?st3p9}<v<AO>W&0qDHXM|t~XdO|$I8@mFz)gAjSucva(N)3y z%EgrWE{D|UL(2Xa<2hyBrJFADdejnk6wa}7ps=NY6l)>(HwYIWl|g)Fhg4(o{n&VT z>Esdp4Y=o_wmEBlpTq#Im^=yoL@d5mwhbl)d8+fZ?}<$Gze^}rHI=vN9adbRR&v4T zl+rE(&wMW61%A>v#%cO|XWl0Mn(*fqyl!u}E1zt>DB&EjX!a*8y)njn&X8?JJk>)s z4^Nl1W926iRCzI7HjFMvs6!lF4zwBv%%Ip~hd?W_#feP_nyF8Q9kA5QW|WD`V#I0S z?Be^%v8ES~pUw#<kA|~FPrR`f-*oFm%GATsmz!jzFE-p51mfOu#7bxrD$%k&@cnr; zJ+(;oS#mlQm~TgIU8x?In_CGi3ZnSxDoJQkw-4%m12$$DF;FkH^?Ew!*Nd%_GWOE` zM^W^drKfuD9ptmlr?qOyXTz?FawsFG;xPrU!k%hci-uSGdJ;->GX6Mlf4Mmiy^gx` zb3wk0E@vzB3`{a}ype-@;U$7lb38MBf8(A~fg3vdKZ11kc82{^!b->i<>x$&s9*if z)zgfp(09W-gA)_`mmIDVu<r>@;G9mKb0-~~MwRxOez28Pxa?`)MS~$(UOjT~iNt}? z-CNC?o#SVTM>9%4hn2A+;n;ymcnt=b1KrG-PD+w?USUU9^Vs{4ve?%ju3TZ%(`a~5 zLX<V0NXYk#?LC;s<F;?dHbJr}<<0M|ca3su(tj(0`VLGP%9u69c=iMS-t`4OHP$<< z8{f}oX&|)U$ZRgdoL+Y~j#0h2)6?6O(%<0QZN=@~2;ek^C1#VRR>M+L;t|rsw@*Tb zPG#On08>q^z9<vP_~32Z=~3XOKHSq1O@B=eTysMoTanY0wld*Zy%eu}cyx@ur!Kg_ zSEKb1KQU@LTK;nxPbHe&Y|_(wnBz_+4>bJIFJ^N&HE}k9d8VpioZ%mZiFdj4a1b~9 zkKpsPJVo#~g`lUN>v21s*YbBBBQg5w-Hc6P*L_B-Eu7|kXVleTuT+5^0n@t@Mu3aZ z3%#~&haM3aKAB_(D%fZK1lsG<+o0PS(u<eAI+YYk$JIt%1*G(jCF(KW;)Q+3s2Dh% z?ELGb>!K{5>1MyLxZv^@mLyT0sCh<am7R#oyl$haITNv=#ViNqY`LhoO)CfeN9tvm zovF%vz)p5Y`GP57(4?8DA(JkiMsJ2p^6?5a%pW<4+gQWY9HWc3wF7O`L1jIC49-jv zA|*g;rI3>VPv}q=cA@gLc(P?`IZW48;@}H#B;6<#x*CIBm9q;sU)yyV`r1D@?!UXb zCsJVF?)XjTMq=Z%^u-sFw+0CIbb`rT%M%_n=CZc3XsF&dqP+>2JlGOSJp(dB?J>J~ zMSHoS>uxQgP48;z@!O4T{3dQUJBq%rmv7BiPEX2vEjc_+mWanDl#&^3Slsm<r`=IV zP7gAvp2;|5XQ@}R1*SrZq4HJ4b637oyjz#&+5esgft}@i3M(`7>HrGo2D-MLPQIQi z+4NtX`cB)PpA%Lia6EDCtO5^u38XC^HA^k;XF|<vlg`d6l{}{fyn~1cN@Kh?#+no~ z>Z~t)rbhzFcb$c!88rO&oLM<WiZwoXp{DA$?MlWq2M=n>xFN4QdPp`g!@A60>9~r< z$La#X3oqkU5eCa~pBkDzKS%XPNMRSpnwb~7j_pOmIcE*E9xM6X;FrRd7U^!(Im7*o zeIvng>u45<n=*0L0}G=nz{v6B7)SP(I2*@`o<Nr4tLcUt>M`Svv1-%!hP8WAM1#-C zg?5I#*Hf3Gr+gey9<;_i4E?QKc$~ow6uTTnp9I0(+nZ9V8E1W<xPLvoqBM|oxsLG3 zsFYzfnbJlo#^wj78qjDV4#?rh;4X7Y6MM<1m=^<pz*v=Q_=y)7Fopb(J{*6m{IYcc zMSc8fP#p#;U6^!Tv`wL=-PN#XrCLQnTB!RQoPYB|R#V?`=-x}o5D?#1vM*TqHD$)D z!#6m?@Is~(_Ui^B5#3nET3Q@|M+>7|j9-Y#p^ehbOm3Fnhy4!%LH)iF!B9H>HJ!CO z6#d%`wbS5zOZ!q}Ww@Fjv+XQ)vV;CT>aM48XQgXQvw3?~E!=a~wmd>0e-F(xcM%1I zg;d@1W7JoW$KsQ%>X(~O40b7RN~p%>QkQd!_}MV=r^F3AO}0NXFjiR4Ku&o4E4uhy z;l|Kz?QHzbmhihvw1P(mfKN>4`B#@(=vR?^Mw3uu^FedEGv5oq<FPgD{u_3KOy4sV zk&Z}jy+oHnVZF~sT~SiilWO6?6zvw$JGm{)i~F^c`c?!2TU!*mb#{(Epr2m<07|(w zsV$zAn=|H2epMV}-m>Mf(I?D|f7(A$vxiK!w6~F!r6jluv>+VU&K90KTg_5ukV)j3 zfJ3)EI0n5>;@-U1sW;ms$+jOb{{RDCaqy$U_B!UZ<;@(DL!Ig|_nSZcYSkl_QnNmd z_;gm=Mo4~dn1z%5rT4C|S=+-JtSy*h9FCawu6N+Mj(uKe<o+Z+N)v;T*8;jtN>8yu z%N%=FT;;LGYFW`rS{^(5N^1?L_;TvyWoTI9DAXUkPyYa0HS_-f!#xgtTUqkdHc8w` z^y^;5`%LO<{hJNDNX<3H!EmRcP%-?-uRHi%Xy0j>r1JvBzzM+>OGR@T-Lu=g8KLZk z-C337$OHk{S7~*kNj9L<Lj;ZGugF$D!_unw14ey2N?k(XRb-S8El=LZ{{UXPX?%9p zHc1dz{%np1-L6?wM?`769Cfz272Jyqi7aj$fL#jY`%>Lle`T4jWt+=|S2zug-h!=o zg2i=7W0Ex+mG^=NLtNjE{8=8k;#+MvFBY-+ldwG)bjYmL+t4R;wK;zfcy=9H`Ml+2 zY5r^id9Is7@PC(KZmOiTAwj_TaZzY`R9e2YB%Ou<+Ju}173eZpEtP|9;J0-=5zTDp zZ3%@t>R{;h{!|m<HdZ}B`?a6q%gB5yV6a-U#dUI}iyo>gR>FAWd1DeT<Qv#}3h=KQ z__e%y@opF`S(X^&Djz(RUcW)Xs#>s=Y>f{HS~rV4RdE|4O%x#YTm#QjU5=rqxiMJ7 zw%#0kp?Z=%Dz}4l<k4>=Yjg6*+3TNb>ST%;JVgu0tWgsSkKrbp(9K5XpM-R#@c#gY zmKT+zl1#HO=Q*x-Rfc8MU0mgJo(*>T?xSs^>6^B+pCG{RSXR1@pQ_E6RJ3Gr<qrm< zn9)U;+V#X5CWZE=E9J+9<n=u($9^i#b^F-X63Vf1U0<m^tF-v<X2VF`9I`5zPUYRf z9>3?-yz9c2(raw6kC~Jf$FQy7w7G>zBfR)9Be~E#fftu8yX|*x;wQdq)FWT)s3VUo z$8X*>#`r%?T`<895wkF6LEM~Ib*(^W(<E&9d<EP%J*bn^A+hA%J=BtK7J1iET`YF^ zSmoG!p_A11t^WWJ`103D@T)8><}AQxXHvX!52>hS*30<0Ez}VVX|(Pic=i7P3L(Fb zR@a$+%L~NAVjY8ze`*>ZHI9GB+O!v*5Lt;>T0o)z!{!5w*9YN01x>DNI~GypGmclB z*004oYum3Hi$5%=P!c6xjJ)8Ft$HuQuLQ%Pt*Xe;{i0bEF+7o;xD@3j2;G>;mTo*b zd8cW1cJ`xn#M~<5i2coPczfW(cw=5~J=XDjzcE?B9G<o5k?3|d>$*EweDTqU%VPqu zyiI!|OB`^CT4?xk2MWJh@@0+Ze6TTfZ=tc_4Owg;nlo$r=#;uMIm2=3Q=NGum6h3J zj!~CU%5p!1dR0FS7HJl5DOqEWX+1|i^_k*3w$LO|HXk{}U~)mMWzOA<UgNb-27hhY z$qkFmBeBYyhQL3r->qc$BjN0p`n|&6KbI}5aUO8Q^#}g|)lukPFPld3Bo|DrC7kMG zJwPgY{vwyfmdre2ZY^$^gJJTy7~|{pt!T<|cAmvbIvPGS)BeXI$pqOA)G_Jwtouzo z>Nf1ss(~NB%1^y&=&^rnK{dR<Za8Fi=Qz(4r%PKYJho-pzjzAil#|%cL}UGqHv5=j z!*2rwR?mj4+TEAtlMV_IoMiUT=}T>8xEEFV0m1ort(!PL!5nflF~9diH*a1!spWDM zUZo|`Bo8JejdH~N?}BKh)m!~Bzj?PKAam35qK{_HN?sp<Z*^VI8n9+3%472M$6kZ+ z;*TB_*EKurS=-vjDBOt%*&J*KKsx|Odg{D0;g->SO(l)hytZ?~<|~!DhCpqPAnsKg zfgYPl_9u$N_=BWc=@ZDgW^JXTnL)$yMn>Qp2OS6p*jJrOR+-qm&p3|qNTgMh&R0SQ z2cfS~@CLapwv}}?!Xn2B`5Yj|fBOFbO7q*#3%R#jfh3YherG464{D#oy877PNoO>N zY>AkMC-bfG6#15e*xlFl_-_0|=19@`a!Q-Hzyknhx1~elCYH|lt-PxoBnCtbaKQ7$ zVrsDcp_)irAxJEw{KqG-^sUy>S69;`+Q-a<C}V-sKY<m*qss2a<#K_#XSBqgV`msl ze4yv~{VH~~XiUL(Hva&dC3j%f<hoQaC8e*GB$IB+?_soY*FTkH_=XGHS$wrq!wlek z;a5(qWb94*nL35X+J~0YL`o?eSYs#rY99z%H}<S8wON(70Nm#lR`$X~zTfi**B!7{ zu4xfW*V8O53_%pg+sIZc-)?%JVO^ZQ?tvq;*Zfw?qblz5WAhGG^ZU<~V>tf+Jk~ys zs7H38p;bmvk<TO76`$g%Jj;mTj^S<<ZPDIb5zab%+~joQjyS6J(?O<8g??rJ@j1t@ zrE=8fiqM<0&^#uZ92@R64NBrYQ+oLpLLx-SLCY7;7Y75m=cQ%b+X=i-#y!g(Gqkqs zQ?&^#JVSY4ZT7T^hbtOv+sNyVD+k6fNHt~h%Wd-T8C!07u2{LtLFj6D!P0#TPiXB` zm|Wyc-EonTP|s`jc;pc_17keo5#F#P@e|tUjcp~vtZ>Wnsrj%yy*a5T@c?Ztip<R; z9&$PlWBoB(MN91v(RvxIZDKJrLP@u9f52Avhplcd><Yyrt(uV27U5SX11IsWE*Pbr zAtvTs!zycIN;lA2hE|c6?wmQ=NB2mplx?a7q0#t{K#xV$CXH@v=8_gEz6pepzB_~8 z>)x@_+&rw(e7nvI4z)FftfhR-rN4;qN~K%U<5>%C!3^Azc%zxHC1r*y2*g(Etm7n~ z(2VrzD>i>ABa=DZoQ!le+e>9@dL!IoNLg}BWA5Y7{{ULa)I2K;cK&1x-d;*&`1(}y z6DyeZT4|Qc%rJbz8%QAF{{V$*XsHR)WR~jcTYoLSP?;)Q+;kne{&dYQ0bvuX%^+N5 za(bU?w_)M7y}bS8s|-6#tYkbMJqL4H%4u#%k7cCKtKYPdo!gk5+$haUrFcXB5-mbY zTZxt!_8AFdo}CBOo-12Vxm_SMj}l30t&OeQx7V80@TdAs)YnnmEOEw|C?nj@^cflH zT{I_lX&CBS@ja9&rD?YDMzEV`gjvBEIL=T109zHo>xj_E!Scj($?IKased%_w5uyj zR!nVj3H-ptao!>E1UAwu+%N98eE$G2UOu(zMw+$Gm$rosFU8YpH%(_S^Aa#bL;Hu0 zpOt3K18SPI-ek*a%bmN&Q|Vh8Z;LEtyPn=1FHeSR>DE}LhC+VMqdzG5h{4bCWbip0 z<{ebRE-s|<)=TG7gXRGj)Pd{x*F9QF<{R#E-YH)q?j5YmSGhZ@l=zY2F>R+Taj213 z?>6K6wmmvmWhS22wybw9)nkG`Ue(6<scmiNk{>BvM;l#F9%B1({OcIgX_G4zJRRcw zLiH_IY1E*bD7aEsV*|IPdVY&_HMXA62&9fV4>=omAF2NU3iG`uN|!;rg*2Z!6}ZOM zPvFS)9Wh-Z+-g=*AGKUG&$w)Na!xUhPwQJ$x<th2t*ztI?QRjI+cS@qnB;<bR$5w5 z60=I#UEg~-=Cm$vtn4&d8N9oRLxyK9k_Vuyn-3h=Tz>NL!a%(bQIXRkxz%RY#cIt6 ztya$Z5f{lD5Ewghee0{WpG_A2S-6d6lkVfA8s)r0;_F*GyGbHpG&3O1(Yp=DUrN1m zrr5}^-8726XUqn1&u%+?Yd&sm$>lYtDW`6ia_-4k&~-TKYni&T`+SngD=t)g#GY#G zHuB!<3v0Rj%;k3SN46_7#7Qlb+gdpz+<0vL;r??}qbRR*ak?v;i(_pZZ5qer<Q4~+ z55Ll;wVpjLCEFlnljd#1u01O@?f(GPwij=F^MhMfky>gI$0f!QV^RrFaD6J3<T9<+ zs&xfrJAQcqT>k(KO=~5*7m~*!$g)V>AL0BnRCSFQ+S{{3GQZ9|ybruP)v52{X<N(+ z>bL<<wO=nP)EUrtBwEK6#D{ckgBkg;&u`AW!{XnA<M0gk7tm>+YtZ#a+p0i>;xOH0 z0CYU(KDFOzmzJrh#~_YPvT(`<0QarSof6wrv$}@yRjsZD(;Kes>U(`EBZ}pgh$Age zi9B=Rc=R1gSRs+7x8h4#@&39q$Uk1k+*S>$`PT}}e_HpCi{A|{G;Ip{!EN4KdnrxD zgrP~oa#=Ij0qgBvHK*x~sA{l55<4{P0u@r*Ptv`rbrj>FXS4iM*XGmy7HBcYad8f( z9ken?rAqG}SOk0Z&o$&ahl(TAZIz_8x89?fV_lAa0mtcHnfp#_@><^bZt0n1Eo+8M z^}tb{nC<#k3vuD7ZtRm%v;*w(U{4wOe5O6exALt9JH;9sYu6T%TFlc-*0GmDK5>E6 z{uR%~q{wvzRw6b%a&eq<TfQyTS4bLs);?r2EC>vtj(8XZQv5rDe;Ro6Nwt`HkWF<M zmO?rL!#N|V?dzJSu`KniKjI{w6Zm_gwy||Lo#mFcmHzUk<F$`+qyRbUE26*nfu`#A zR+qOIkihPkRxPwQB#e6gHRV4S{Bd)s{6@WnqmC8Q$+d>wSe8YNSB?W@fBNeW!J56E zzi)e_>X&ia!yqz2GYt6+)POtZ(>2RHI+mfzx}NQK@mEjKtzKx_;^2kMWs@Fmd#9~% z+UJeNrGD3!Nh8gMRr5H?p2QzY%(JswjZWW9hfuz|(<~P-3&h!ic{@}V!0*?+WcaSu z;9E7s%&Jg1;C=r9>qR^|i!L!Mc)L>&=-O?pYQ#zAOV=R*AOZSUGvYQ6rlPY(tr^?L zf3LkweJq>fn8+DY0k^gf`87*ciEebeb&a=NNXK%8=NugVKhnAo<Yei)R`3^Y0qQ$f zuWLRlh9{3)w<^~94ZXgfq{K<Y(kLXe9ti^_k50pk*O%C73vIef#t|+?BVJwoc<s}@ zdPUELo5lL}i=k=oHM-l{#VoLlorS(;W9r*V<lt0PieB?G^E)rukHC=X`na0uJnPGe zRYZux%-Gr72Vs-zUqF06@gzSE{7tB6@)eM~d2pHG+a!GVI5<4>j=r_ed_M3>ct6AK zHk%}3`b%Ij8tpK!9OHm9z&RbO4^g}E1imw~)vq2o{KnZhb@`?0I3t0{&3O2VilVVR z$E5h5Pm<1go)&0XpU;LMOKr~wZ$8zrB$m4Fn;e2~B71nw_~wkR7#;>ja@_X-an`8( zJhpF&-YB%w;Ew8NW<O~t;v)z}cVoK^z*J&R)AvsXt{0kb7u)HJCg^X9+r=XVk8_iR zEJF~dpgAOPIl!(CS71+57sQawG#HUs9Df&4#dCkzK1*(o?<(&6Ytj5mrm2qMw-#7m z%E?{1z~R3fR~06vws3~pxLoA=iuAB@cGUN<brXTgc$pF}6M36|cOvinanI{sY4I0Z zj(MltHwEK9_1=6y*VoE<WBw#6xaqr^@$VDrt!o2$%g<K#HR;A(1zN`ue{!?xXVG%2 zp4E$gIkvoIY!jZjtrT^dW|5aD&4KS&n)`&gZ?8(}iRDz5r*-hQRkpobrCrk&%xro` z?~hvj82y|6H$yLj^#1_0GPT43LvG`CF@ukMSLYwW{d&gA;y<*jGOjVVs2=t7H^Xm< zF^QDh$U-UPDf`&0D$~BFt(9V(DIafYUmI4#QM#TP7c$4?jlEQGPAiDlz9254F8LjI zNysGiHREgXResFPB#KLOf`0GPxvv#`V~HeGj!&6?ym+i*1L<d(MMmuQZD+;t+ZJy# z2OR<6)@Ap_NG-I}B#yr?UU{z!)P6VpsskI!vAT={oM-D?FN%IIOxCi-818P24_e+j z9#w3`J&$1csqt}E#zlrz-6+O0(>?3N{8jNr-rm`wjkdad<Db1;ABcV@T&?1@$M2Yo z44eQfkMUQC{{Xbte0*T?0j&}|Y(_Hs7kp#!0)1NLndB{=I@c+GdFRRR-k_QM)4S8H zHCG|O*{u>h$xX{~lQ}ZyqSNhd@XNdJXBegu5OZ3d2-82e{843Y%33y+OqlF|{NJW% zkfXWk9x94WCqvO~-*5bTrs1Euai9LRa<}RBh-Ue)ByI<#bUr@4OU-3fT<wK1jOMei zY{KdBw>x+_J?c)5T?!FeVdD*rs=V`A+NlhO*M2#zr8_NIzV_~!?O8WUv$8L_CaE(i zBYVQEvG{jTn6D*vgO6kWBDi~%SHEU%c{SbMUdN$)Kk~LQlI~38{{VOVE6=VQ&bZ_G zQ4$$q!FS%G`__iHalOL-0CuVAQHdYs=%YVMhU(|dot$*fN}&$ExblL5^{7+#<Nf35 z(wlDL_HC`l2BSu6c^Mn#Ueo|2W*PRe`CE#$G+tZ)kEdFXZ=1N|@%5>pxbq<~vtX}J ztpHx|<cil2oDIrBucdq;twXNqcGnUrte#HX50nny(!OHQ?pDuGR{kJ(HS3-Q_<;&t zLbnmg_E1NfAz!#XN9S0}Q)+fSC3V|>4fq=B+iRP-CM5>qOYS{>gPQW|FA4tuY|W@N zh|#QScC>iHn)J!FO%h#JIc@KnM9<0>t8vp6=3XQ5_2r(we5(rE+RY&<p?Scmj)s%i z+3;LY_=*S<%~iIsKnX>`!v6qM-nRTRb@mU4x?Pp5`|Yk-jQdwRK2m!6<PK?m9{5-L zKfsF~)o-;SmP9L(NjbqjovIB7RJQPMifxwY#IxMUtsG0zEZ{K%s0aEQJj|7jx8i)0 z=^h5WjkcDVTWMjD)A{pWZ}20-(d$1EVAL+vyqz>|ATJKsIR5}2!n!Yy9};c#h$GW% zr%kcG>57qs>%sp33d#5htF)GP(|MaM#G4RyCj+nMDca*~_e<XuTF)-nE%x(?0sdmK zwZ9WxuB9Emo+Y@C1)UcQu;T+KudP?oE(MjWl1Qpmf!KSotNs{8NuF)N{Lj2c@~GI- z<4(56Lt9IWc_zJ>9oYU4sq`Pxyidgj>gUAKSZT6smfSp&%!dG+aDyL0KBm3n#X7t? zO`MZEgz}J(KfjS)OX8-3L-3vUtsdC!r&1#r`H3e3^d!|r<j%vq1)<BU>QV37w_aj- zfRDIOL-^Lei!AQ6&la0lr<yqB87jjYn0g;m)~SBXeg(T|qt`C4E+%W2CR=$9a1@Za z_v0hly*p9U<JA02vq|Ou0He2<6^C3@$kLsxU(~frO*2nhIOjJ)WL9YM41kah52iDZ z!m_oUNvC!48H~h`tLf=mkMQ>2Rkv+M-BuQFm>dvrJ!?P1T3mK_Hy3vYdgScSW6n-$ zSzbqx{8G}I#w&}9$pau#n{%I-^yl^bDLw;OM%rvw5=Z3EB#yDlM>x+0u|7Zef=x#G zZDM~e7A8W9c|L^KS@37T`*bZOq?TE(Sv>y$nnSiQ-3B^wRkAtUbvq3sQIEq~jC0&f zKX&8?2Rl9Mq`CNkr`>4sJ6x}q7tUB7r=Hcy_`grOvDYI}9lgvqKrtBU&>w1ani9ii z%+SWL_xX0_vFdGmBgQ^E>v8yp#cMP&O7`~XHWIiTl6a~98EI19TNe4Djz<OGwnsoJ zpO3EN@gI#Ph6mejtRhj+5;#14Yj@#ww3=?MC6Nzt9{h}QgB@#WY-P;udmq~7k4}xF zo90oJT=DqSI*sbcA<U}Hj6N|<wr{pvOD4}HAqV6=aaieNolRAkM<0G`8yz0eq-_m) zOE}@mfgE2jB=xT$hsA93Yr5oM54TKVhx?^hjEvT&#{U3{gTp#^*lg6ZNUa+=&&!^e z{c9h=I(5H^JU^ysYyP%1^QGU$Gm>%mnyVy?r6(qO-@}`AxzVj;nOk^O^B9gYMRfY* z<WaOrjflX(BcQ5244LK9WVLT9+8BoP`8i?-ui;d+Q8Zz;uiXW)p17>Jd6}|&u{r+$ zj6OVH3g{PKWf1w(!G@b3bRX(#!hRYwx0<#6@c95wC0np3uRnnN={`C5$-GD6c_O!I zBZ)|lZg^w#`qx$Ap9(>z_-$dg-7r+$Cp<HEHN0WUu5-#wvh|;cFEkwvd@Q#YG7;r6 zCRQ=-Yq<Dn{i%1PBVAjxWc<cSzVi;C`wHp)8fXZf2w9mFNWgaGRC@c?gi-nS^RElL zE4vk&s<vj4ruR6@jb7s7_C;oCnnU-Ska5ss(z^cu4&(bdcX?3cWSzTywS{e^$qmHb zO03eUKPmkyE8-W3FSH*Gw5_%|7?jvgI2@nTH8<wb70qqVGxmt_QcGyI@P7JdIA&go zqtomCD<9z=g7+6@;#lO5_j^=<!+tf)>pHd9h@^$2kuc4Hf!e)0;I@{w+H|q*Wpge@ z@r;adkJh>ux{g_EEe_wq{vV3=R+3DkM}VvjGfCrJR9gt_(nj5kvCs3Z?K;(MEhK3h z<x%-pmH3;)ZFR5RN%v!kf-9fnH44p|HDp>%FvB}dB%7Uv)nnT|X*@HgG&;PJd5+4f zfrIyIT^viTr_Jm*tI!zqEjDfBhv%PMR;G4mDXu{c*TtI{WVlvss;CLZ)5+xhYpv9D z4?AABF|^U#Tga&&me}Vt#Q2itJ1s)jRE`kR4yA@iUOyV@z7qJdO<M4^!j_UrRb%7s z`;U6Yw0*`oUdPZHj0<hyWuN8yQmIp)m#;ZK^_!>PeYVy=GSy~{7cAj2!y~c(0QJ_@ z)c#hH<Vm(hakviVvu(9>&}<cBg;|-13)Hg=<B#*wygD&(=yFOnF!UW{SxYoUB#+B) zlP$m*t%&saZ@2l$Z!|LQZ<#W3IUJ5_8s_R7d#NsPB>O_0=)(mKV_bNq;@;RtZzDv? z#D)Z#>2%z+B)j4BVdQEMO1A46QqhodB5--ZIXu@r7PGSTlyany3FL~H-AJ}OhTYR; zn>`Ts;<02&1dKjyx!~rmF}C3?QP}A4TwK4I6FP<95mA_?w7lIUjN6+zJnpN06xDo- zJUX!B<|O>h{uJFqQU1}pUAe+GLB}|%jCC;F*wL--qC1y*t8;>WU#(o7_YKob-!Dua zPAZ**tssG<k(DDD3d5h%trv4gEz3rso7{>e%(fMhV{LWo7$Ykza$GjzL$i$Iu<1oY z`a;g%D@ld<c<3ml?HQq^W#c_pPQQxi-Ay&bi5!5)#k|m%RpgxT1_wL=Q25hPwefD8 z*9#Lzc$_&rnONkL?T^Iu^}yWHyeB7%wVf^-INITs*u3V>24+M|mU1$2fypBP0iHQE z4~V=oZ=~wCP`3G%V)Fq&LF<A@{6AXqVO`wxuFe-wH$y{6?bapWp)4|au6i3N?{_TN z+=CmG^1ij`zGbb%G46jP4Eac)23-1&;uS{M;pM7nO{rZOlua{%h{}Q&A9o`MsL!TF zcKu=~9m=cW-|TM;uA<SjkxB}}z~{^hjQt46>+4ich_xx_yt=cyZ7=N+d2Fy|KQ&0h zDcjUHaniak0{CUMyHDNAFtSp2DHy@etyl3~#+_$iwzkO0ac`K;)4{`VO<@|!S~O0q zhr{wsbYzZvMA1TI1fQ9R9Dq81T4tlJM|7%V{{US818bf$QP|xr%C*C*ywff-yPe+o z%~ZX+LAEv8vMD6L@e0e`Qn@ZBKB)3sKIU!APb73d%B!riLwKsK9m7iz!NwUn@GE0e zKWN+g)GVpHcTA6Z%hIJ~y)Ct7SjGv*E0dlN{{XJL`ICtzX?Y^JD%+9sgPzsc%b?oo z7BIY1ZIWc%&VPi~RmP!ftmO=QnkOKs;equh`c}q;qJL}xQbmm-0~@o2=DBAkGCMEy zC5^4l<_BXO_WFJm9=B(4JMCSol*nV;)xAeVT{_koxe`ey%*sAezVyB%kZJbT^9bZ{ zz^K^Ufg|}-r^-FfPVUBNmPp&n^CQHYaq~Gi998W;!9K{VAlS^?j^m2Kf>|TgKGBDp zbLW%au&w=*UdAM5QzL%~Y-|<K-S#A$Owhx%w(aC?Q`6F?(XMY*HidVOA1-=UUa2Fc zuI386muMk}HE+UqGFmJ#+(^qC5LgGmVd+@b=1biX-dkPXTX=p&kok72hj0c9upck= z{OY%cFRj`pGNU%^jyrx87O$u-qIW8^ai6;we1TBucG6rn+jJ+XI3OQ<S0A*JL%Gpe zXy4h<Tgqi=7DJt^a-yzZ#|_1{4BNNH$~W+#yJL(F-D*osOLm^iac+E=*9yU~Nj`@M z`gE!EDdUu~NFtGBiIkTI<^KQ!T=A)SYAc+sonp~PBTFD5K?$CLyH=lt9j+{9X^dv# z9I~tb02=on;Z)M<HrC{ibIA)g7z8V0(~8p6^(z}#UE+>tw~^%n+nez?1N5$k&Gt~$ z&ULO=Rn#6CpX~B0e(eY)Tz0{(`LsJ-FHDEY+{S2uV9U2BzAHb&dOn%sO=92o(8u;) zo!Q3HG20(nuj7~}w$@34=gvs@3%liE?OoJpxhuU6iga(OhvF?-I2J^XIU!<jdH!`5 zgFX<!@vl~GCg)nybU!i~9x3m{h6!W?D-kiH6)t!TKvA5rPzkK<V(=~EhFtD!HhWjT zcn{;(g#00J+O?LFnm)g7ZI;R{HW=@8spEwQ?k=q^lXRYBv80kpZXA5fJeC+y^jUmq zZBd-Ks+A$7G<>z<&xW_(3OrkLrCeRww3hAVZ?&2`t9B#%lEztGPpXm+tzWR0%M13E zSN{G-@~-#ePmHu*80$f;wE3dAC=SV|Nu_7NFC$2i#tvIJ8$nTllZ>7g%F#yQChmF+ z<eKBga;lBf*mUJ9d&fPf%cxsx(;HaQ4KPW$H#aTEPii$iHpc1WyqexQoQ=Cr9RC11 z-ti}bH~4LDcibnC<T8>m?OeC^3wV|mx0*+WBqBh3!x;p0!K|ZETSHz`Tf$xo)hwcG z>-b(99G#0848yn{y*+x>ZDRgA{X@)-84@Fv3f*f@QNEq+RzEsGV^9aoPaQuWtyZ<u zA-IpsiNATjEs#gz4@#L$eWG?azZ2>$V1Lxe`;J*uoB{Q!8efDX@ssbjl3P=p$ddG5 zeE0r!-M*m<+f8o@!sc8ofQ|S$?0X;ny<>Qm)5^AzGy8~k>`;Sf$^O3etS1|67Yit% z@XSIa9&C`X4J^Z;{{Uovjc#h~s7-rr*7mVa<^aG6cJ3X?{{RZ)H2r5#(<WFk9-^Cm z?8h(dhOUd@pNegDon35Wg5nFSebP4Zm0sAcOiWT&MCx=NIq__s7?##JlghZd8(wg` zm>hJ?bJ}dz7S~(aXy%ULw@R{eoc{nS=zL(-!rC;FOv%X^>ZjaSH>pIi#-=<sLy=t6 zYCVM?Gg@sr&Uv=0G;Xc8%YVA(*}ul4Xc`Naf>`8@x&+yP2l?+=y4;r^x$^%2dnAe* zXylB6SF|q}-syIY8%o7nfUa_@?TXq~V|Fju=(6g~BsS|a`D$2g8@a4zv+{2++1#8F z>0K4hsi^99wlJ;Jub9F{a^+EZ7^nDzBI=UeFpTlIup5IP{=FNk0hej3DY-`ZQJ0J! zaBEW2QMkQH1k*``!5n<7J9AhUSB-P1t1p(Q=bfX471PNRTIlN{?L#Wy6VZU}^{!b` zOHy<pjN5AN*0amGW<sas;ODV9ub;jp_)PpC*H#;QJDBvl>CcyRLdeS5=(s;9$FE*% z+O1ptH*sb=*kF#;xvqF#$HhJwk{wZ6NOO=Cf|VnqXWP(MRu;31vt`BVe6{;P&o_uQ z`)NGL&Ac!q5d(#DfypX6^VXp7XN7NdDIwG3nj3g^93t<0ZqGyQT}O_5DkRsnOFPXz zMwZ=L;@(yHKwsfg-=04@<NP<I>Na-qUtP&Jojl)WvqyGO6r6nA_8mX{RqRGrS{BRR zCGb&_(rZ{)NqwX@m2?Y&0%YOGu;5mI!-)RV<DC}UO=)40JJ^}d;hBoCB>gekv~N5? zr}$UIi*T(btfaJejtNgV^kM$e{#Ci~_riA8{{Rr7)h*#Gp`<T(vpD7<gN6S9dv*uX zsGd`j{h*dhkBl0`%Op%LCobC$0Q5htauBN9pOiB?^ugd)W8(cZU))|^ZIVf@=4lHP zz{xyfxwxTdZWT;q?l>cFQfj&iTb{+Jx0$9`>rvbJlU!-)&lww5G8YVU>HRC6@fFAR zo|k`hG@+Rxjy?v|$-u(?Rk`DB4*9g*J4LjdM|EXrzI<xoT2jCgy?y#tFOMyv(fk7v z%-&7YY>nb!%#IH~PC2akO=5Ei;q})oAz0>y6^1r>8bg2-War+q^=}m&AtZ*uV~uu& z^U8xD_1b@jKHS!^0)L0{FePTVn4(|<xl{s2uTm?5)K2LbZr$xw8<RZ_i{bsU>YgaH zS=a3mJi**IJJfP>`B%~(vNn;VYVzuu_NA&v9=WPqHMCYD2QxHhlPF>eZ44E5f*aF} z*M|Pjx;*-xw=~K;xNNOumPt0}Xe+dRIX{p!?H{wIqaCl0e$Q{Gq^SeOp^Uy;CJ4^f zJOXi^oqAU;G2S*tQf&Jh!aoQ!d(R8Q;t3_w?zE+h$8@4uk=Er22Hd(S5ltegc>K?o z4mTR&em49n(yes6Tg?|y4P$is+SW+}-D&N(;TY{-F?MY}VyIJ-z{Obc=ZY-!9bV~l z87?gJo40Q_?YB!D+i)1h>WV}B!-0T0A8O<E6l*(puB^<<Ykb&cnss(oB<CD102uA> z-o9=$>PB~RBh<NTrQ3Wu{>;`bFBz^Gn558_Lm*-I7#stG&mD2jYW}}ym)7vjwQc^; z45|@|h`7i&89i}aKCgc@wxK4KaWIk_X^Sq`4<7EDl#GL%bsc!7YF;FdMM)u#%yLx- zXZc4?Mlx~%@BFJpMy>gqD`ULXJW*k)*xXLHR}x7iDG^5bO7~!@zb*r3t~&aYUTflH zy3$OC_l*U|&Cl>3de!iK&)csVq*=Es29OBO&_2EY0Htbpl10ANE>6WZv!GW-!N3Ez z6}>vn4#!0r&MfjT5=ztQ&Vb{0LI-;CpBCyZG;b04nlM3AUfJTm4>pu!g@*X1<~H>9 zKK0?h5iBOswPlnm1<%YeUga4nE1i<5%&v@BtqtUm+s2F-f=D0Exm|e-bIBVYomh;X z_354rwT9yQX}0h3;vqj8^WPcSG&+pizrJg#EaRv_;j7n%Rtfj9*EQYzH}U+M7O5GM zPu!RJ@^QhhG*jf2X!k2)n$v>zX<}7fxd$b&gHBMnH0n6Jqt-k@@v`Bs_d=h!Oq>?$ z_5CY@zxa`RtlrIeB%WI_=%nC%E1kT*kr!@wJ^gB&SBlY<^f@Eeh|{s8u@ib+>ore^ zGU|4*f~Rpg+z;tg_1_a05#mQAFF8F8bE~R-nO_{|fyYXw_op3w>bX&$w2`H)YZ7Wj zUPj9(#bq_a82vITH<7dY(@)L+0M|7}Viw}2NwM;en{`H!GoC$hSFJR*k(X%6KcxUu zVqNk1SEPI}(4+9~kuI%pLdfG}YI@_=vHUCG6}-7wu6|e-mM8eJ*jG<|1K;_7D#c?5 zKn?)|r9(A@Z1pQz#P_Ca*}m+Dh3|?>w>pzU4tD(A0sEq-7wdX|bicV%fI0(IZ|9Fr z<TmLWoxt=Ijbt}ey;#+vU*X_!Sn7Pq_HOw{Q&HYs{_&({`J3*F%(~S!uF?08QYxdd zjHGDztHcecvd6pkcH?Ra=k29wB`5Lv)N@@kAI6%uWj<A0cj;AQGeUdcvs?LU-!pag zs3ntRS^oegsu@Xr&B>{vPqe2v!q5bobLQZl`1Pxhs@_JxjC<8sq83cuS(spAv|-b3 zEg)Ah{H;I`LvHc5*7=8GDc4p_2v)~lbL(3g2AtP=m+u!54y5;}d`qdvCE<z{+L4{0 zk=GOfinse)b1ya2cq_-z=@KHk?Ooq95xbA2a`H*f?-%9u9qMaDhE^L|rct=lvF?^$ zJG8s-q<?4f+T+b6w%xmjVr!A{#-<(%S2qgnBM{@b70t!sQ)g<CuGQJ!6+=<+I^L1L zEwu4j^0P-fqt@^KCtqnE7>3pu_BHH#Qe18MdlmlxAEjqOrG1l5d3?zmR=5F-@(tTN z@P3B8`Fve*t0lF&NbI)!Mj5`~^cC7CjO1SnE}3qtE!5w5fs(6?V?Ui&ErcHqw8^|r z<0QAbYkR0|!$~8Q=2M&v--)lHv~L6HaOrW|i+gxu<$}W)Pnh>Uwd23D%E6>+7t>rq zp@~?8jC<!hK>Uq+wYP{OxUyA=QH!Qjj)eMDO8pHX9<1TMA!#yrc1Yy4ot%OYCUeO+ z;<`N&#(xj!Aze#01F<8nc{QBV4-;P7+wD)ZM{uRow@tj``PXUVTNczbc{fFdNcSCw z1;8CDZE-ha$UJ-FNc=&3wyMqL!r@(mV<xzdiJJca_V<k}bn8_TLlIH8IaYJ+?N>Z) zq%NJQY(+7x)9z8Y@JXz13>MXXE!xMmc3a3=LI!h=Is9=}u1@FCegV?iboku<>TKYI z{W2>&>Z>P-ZlY5Zmy0k)MPg3g0XY0B*uIlT)RAp>D#oCe&h5gu{{R8%@#`KU*EL0v zZDxj18U|sWd2gn8tn6<aTF0_z_je7X%Bp{Mz@Q$Sbrr$*>f-ZG(k5>$ytf1*j^F1s zy$6b>pTpzG-{r@EU5DQKS3B{8#%ZJcIBBL4i-sU8fz#jlQo6Y^(H;}yCSMSElHT2S zEb?qeAMJEFuYK@Of*EZs{Fx=U@)2WIU%bE%<z6H3KSPtp9}unYBn>1g&fA!0IR3q> z>0A9x{32tzFtm~5Ymvsm*wU!&q6$&I<Tl<Aw$mqO-6Zoya!Z}tO=A3R)gkbwfF!yg ztg4L42N*cOADI=^Y2mdwrj|Xpbp-L$o|WSN0JWElC$_M&(`JfT#NRU(9Y7%Q_2cra zV;0_~wJee3ej0Nwu^q&N%vJ=p?&Rkc>)#CYSag#d+ob*Q`H38+eJjoW8R<XUdb(~o zjwb|sy+=9zmF>P6(_xY&joEi6e@fn3BMNbMHh;0Cvw+PrW-*?poOaD-+FC=Y+T2dE zs;nwW0QJDlZACL&Y4R&ih<@o~+qH5s{7=w)8{v&o&(5}z@?Vq?a?73wtYas0YLT)$ zqv8w@c*^Onns&r9g)uK6V~l6@{A;WDJF00ft;cOH*yfOdk~znwf2CwtX)<cE+Q(}g zD{9=f(f3bseQQb|23>dqT5J8PZ46mm!+>+p9^d_X)>@+&t!{gcvexM{NSi|A7z2;O zxc>kjYlBVjwe*Spu~Qji>t1!I{CS^O)|g%^c}m++A^z|6H3!A-6t<&n4XiD;-eJFS zJhAkm5op$=^w9D#D&OmecIiCHGEIArf^>-%(j2poF#?4go^f73;GYl8ed0TWiap+0 z>z)A3d+&jF4Qd#sx7!3r36O(~_5!M;v@nI-wLL4t_L6A636Z#9*iakzKhA3%H4^tL z44C`7jt?2_{cBeDR$DD5RLEt<@H5u3yfI__r3{x+E<DebdglVUd2aPPuVtZz`oz)S zFh<7q#}&wYd)G`_Ygw~yX$VyTzUM+nuS3=BE%fMTxX1diNyzAHz<wq8hT~oFX+~c$ zafA!rwx?!eQt4_^@Slf&w(p{bHfC+y<M>Cddq0M+tYorJCRCHiI}Xwtk?V@{zYS=& z8ZD&LMtrx8LJ|keN$dGnP2qh49R>b&bz7C)EB6Pt6{M1S9Pzr;?Yu+c-?Qj99$zf0 zo=*n6=EBl#Qpxv6vn{z!Gn3xBT~fl<_RXV;?`t98G3V=9njQGlXZeDvC(3~T02itJ zYE)7QN=(0?>5rycmtEdt9Fk2%J;&Rx77j|pNnz@0_4WD-XSh}g8VvQ|S39QNv4&fZ zGB%SZ3<s}6RIW*1#?XIccyj9EPb5h0scjhNspli}t*?N^FLm1&SpwX}mw%V#&1c=% zH;c6hp^_Py;Y<R{!xQOU*TJs>f5Hm$O?2?AmnRC{c6(#qv#l)%oUD3f?9+Vh^M-cD zLhdHEz8%<qZR>EXhfj;k2h3~Bg@tpp<CD%#I|KN2ti3kd?e?NXW3^6l1yS)Rnj0p% zu()_<W3`H%r)cK{{zkc|^50`CHf8woV?MJhByp}^7>RbTwP3|*BPsJRsHYpY^(VDj zH*#6&i*dPTY~{gjO=RkmT<VUkADW^;xFVmHs&dxEID`%7Xo~*;b$rHE=kH*iYE3%A zIb~*(=J_+U^vz`WW5hRB+Lp=eOxE^fhyh-#TRC8I2=?h+Rh+ALs;QA<kIq(LfB>NN z>D%ZkDn`peIJ*|~t4En*YzA408+vT|(QR!cCATo@PZeg@P(*Zrn+iBl=rdAX*evhn zMJl#)!t+`4X{m&VY4b3-=X0u#22aY>rKm13D0XCEatYmo>6));qRnWq$TxB_3FF$f zR>7sQ!>BvE@$!x+<{~k<&V8C@JO%@|S}Rg`W{yImZaZ<D(OL5%`B~}Tv!918bw3_z zkl))|%yfM&dx))O!pCzYWH?gHaJ&PK7?J=3CnFd3iSa9VgW`<(=9^;LJ)We7G_;c8 z8d!z~^=-H~B=ATCj=4EC55S*`8jgeUj@I(Z@5q`PX)R-wZX&Z{847aD3MnAqmIM$@ zWBBzhzu_R8R=;^9y1qF9#_fyH4Dd05fq{-YR}C0)%3S_dJ)Jrn-R7J9w=w%Iw3f0* z01h_^Ga%~902m$d`qY{Rn|F7mznwg@NUVNNyko8hO0ZWtf<nxx_JF7cHmE0_a0&0& z6IQ%Sr$ZLLx_+NG%EW@%X5Hz@L_b1QA7M(Qkq+e#g*wKerrckxs=F6b6>;(?JQ8{L ztgS_+)McJI)tc+fe=&gN&T@IKgHE+?49O{JcE@Kv*HHfedv`rQE^3aeb!UC7O(&V; z$vb0r@DKCrT+yv*HEjfupKGAaaICqKIN~MpM(#0N_g@N9_riK^r{)>1uO(n1S3D@j zSgy=tr}1Zl$8yahOpxX?BC^QJN)z(Py!5V{T-D~&?W}awzPOq@Ig6#ZU8@dp!u#j9 zG)l6Q&?J%O`t5>R!*E$QG-^=}Is7Y}i%EDyQpDR{LyWQS>0OVGrH4~_OpwWLNyDi5 zSx7kKde#n|sf$7uNLpKUljUNZ*F`luT^Y1UbUCgxx0#}icI3Q@F`Ao4ziTT-xAVN1 z?lJO{`r@Ox)E44TvhHQejj9e5_vF>hD@BfZ6@G6saNPZN)XGx(M4Ab3lW1!d*5-vi z?g-q!N~3#m3=k~RDVh|<)%D1$m+v*T^sqCms;{3weeqcu-k@wcD*0-66>dosQq_UY zTSfMXTWG|4i(~VtE+qRjfV6Uc^X3>GYB{wH*=5?S#~=#1bVi|NYO($3!QMJ#o|V@x zbPW5*<-UcaW)a64{Jr!36;9gvK^FzS_kOjrXK%6@JjKXU>(o|ew{~QXIN{s!w*)RL zFKK-UXMN$FQr727Naqt<%+Y+Wkjm%WRm~|bG}SUgGOS^VTpTg34kepMm0=gLub2QT zjCjvu#dTUWw8;kNW?;vK2M6-5D%V?x=sY>EF0H72iKWDBLq6sles$ALb8V&1BC935 z(xD1ie5Z_b?fpAf4El6XBX0f7%raXTDtlH|yW*I1c8p%lCiOxA4V?OQ=~z*ZG_7Da zjojy235R7;+gvUVG1sR(JJyDoqkqCh;#h6k;@Zj<1)6z7`B3mkB!I`;02=eXE8<s^ zdW|$*VwS<f9l?IT{c8130?!wUHOTFB)tRF)?|CF`yA*TII{S3aYubcdbg|J+H)l`b zjRHLj!;{S=m9xF^4wE=OWH`?Q(|24SLHP0BB)V8{-c8$=cQ`!z*P(dZT5D@xv%1Es z8mglG20HaWjd-t$=8)X7D>p5{2E7Qy@}163F)Q57_U%GK-nqw9)~~LnEUcPkW&Ox4 zw?8qf`Zbltxu!x^-X@aWRs>irPnkYhj##L}5Kc13b}$D6jZcgJ01xeaHK9Qq*7~NE zu0~yTD?790vJw@Lh`hDfxF@T=df|8kr-zewXP+vUXOwBWwECW{ET8k*Odfg~=|!8m z<CkV1H+rMt4-TqE#UC5o?eloa`t+`<($ZUXZ?gF-bQJl7Hsu4`Bm8TZ6)s%~D9d)% zngq7~a>%y}%40a^`PVTjJSCYztYG)(Yj06mCq|f*{oZr51^p`)>gs7wZ{<!v1az$M z@?~>9hkou`2WZuHvgNk-$F*sEIlHsHh2$))vpEcKt?Q5ewOIIZq1x(_NM>ej#Gx7B z3eD5L63gNL02%65khRCyT0=57l+KYWbKAauoo!l;)!VS87F_WUg6!wHn&U}@1lLRE zI--?TW9j}i=iV>0I-5LqMo8WgRb3kgBiGlZbh?g#b>Zz-%WK9_A;d1MdG_@cS6Z@? z{^k{JzF(QO*bYF?CZdd7dXjmZ-X@w?Ws3^Xovc*+!|}~@-w*tA7_qp9J4TM?NeGr~ ze8<p})YG;900cv0cXe@Tv14zQNne$}F7;!=+I`lwWwtFbl-r{hl>zyH<eYi|{Hsco z?ygRzq{!N(%K6_fnfzGbW~QG?YYUt*`H`<r_N#Nk&nCHKt0ZyA(15tk3w;2qJ}%Pc zYn`hLMzN2%&k8=Z<*7@U4trBb=91Z!S~q9_Di7VoQ?}E5sQ2vs-#9g>zc#CH_fGM* zf;g>d^yp``AlxWW!acdqC%LY#Y22nzig9Ua8p*O`d>yTymmZaOQNFa3PXlC;qb5FV zH|0?Hrp6WAitV}p6`O7cL0EV2$rLfSn5?bF0raEVTwKPMk)%g`cjb?kHe7<kX(F~h z%nTOrv@5n1!3uM~-nl(HRXTOtax#`t&}SH}=kWsATW(bw<U5&>az2$7Q+8s|n%_-$ zWR_^*ZINNR5~?_>&8A*!F9=m;fw3dQ82jCMKbK0a;GK32T50X>8by*!?DTIyMQ`3( zPhkSJ%RRhGGT|JKoeqB*BTgykG<ko=4~5fs-rhT?ibpc8)_ufCaCpe{!9S3%H}N*G znnbp`UgnYX^+Z*X11zpb83bp6++w}F>g}k`sSL}EU;;@fKOb80uZfUJ55$)HXPNd$ zA`b_Upvufi=RL4}dJ6QYOS#bnbb00C1WSjS1&8f(lvGsC%=I7<+Pxmr!q=W2_)@x3 zNpW#C)2yaA$IOuu2p+tiaanpTn`(X}^DeFS+1WSSBqjGSLHAG(Ryicr#oFqgB09DG zs`)n>lSd7!<8v=LY;(ea$7=27VB*eF4~F`tzp0pDSs{)b`G!OyH3RQ<=qqEv-w*V= z{{Rq0bZqagg`BI@h~v3+=NnE=GmiZ$e@WMM4-RSTro*XRvs%fUi^f0e81)P6Gm75O z&CS~|AimGuM!@o$Nd0N^jxfIGoa=hDmR=>izL`$@sl!g?epnQ66?>8~#yPEj8r^BX z8N4s{D_NplU4MNNk+q~NfycQV5$nxG`#^Y4>^D}r#hzBq^n{g9-B%eo{COPLmiX6K zy3y|9`#g<qtF~AriMEr^P)9rw!J%uha<VA+gISwJ*B-@}%ljGf9|IU+!+yMRSh|Ln zCA|6C8D<;916@V_tlt&%CQGRy{{V!J)%QmJTE^Ohc;prUWyUfA>-Fnj;T@f>r{j%2 z*H&4dPxFDe2tIXDl5wA<ROQNyB+l#LrQBW>(RTUKtk*+)$TO1|<Dbmep?F)uqh9fX z!*6P&Gb?`R^#ccXPYcI>f}_-Y7p3d^!#0m)aShCHpEDqB+5tJjfq)0{t?vP9@@Y`{ zE4E9O#jKd%GVn)Eykn11Tr!f84`Zy>^=M}^S?bqN{IC1Dt=N=}x&_N}-7%V{{{RV% zwbp_5Rr4LAIgIY)cIW>9)lTtuh_w6bIV_Y}+$>m0f&fnA+#aNknXVQaMr)ge)8>!M zw}G3>B!`kg>U)fOS1hUXY-U{k$<;hldotNUD|s1^Oz*R&Vo&MoTKc8bo*arBePU&6 zi2h@S4J0ETqpmxO@-1WHKB=eb6Rw{n#h2PRo6Br({{RZ=v^cN6BHZcwe|>Rv`?I;o zR6RLkz#m$1r6jf3Ijy<x-wqQ`@eQmpY4fec)x!B(WRq-1JY=Z;E}ZtqLtB^L9gfH{ zTtcfnC>6Nj_`t_*^^5TDzzy*COOn&=x_lSWeA6s9$tRvO$U=mM83Uj`)v@AV6U}*f zwq=qgh82%%1CpUe(~<${j-XeCh^XOK(b%OV&Ns()D}QA)YPmZ}B>w=PYWc_Fcr78_ zyJ#Co^slHd?7rD*rJFuz2)y9u>t0Xs3*o$Q>YwQms}&_r8CMzpV!iwgRU~y%leLc% z@MfyIRqIB_<zt%1_?@Sz)K%C1TYTB=U3bJkhOObx^vgL}lRTjv0j@h(mg7>iQ6e(5 zea(8YDyGLHGVNC9?(<L^vLgG(H8!Lg-sI$c>V&BB@N1yu8gI#mYka_THC^t3T>4ax znG^a|c_G{W6ac2{Bd6n<V0;mbel-g>l;15jHp6p38c=D{UWH{+!=c4(Xr2jeQZgHK zY`x0We*^0g>H4CHm0Bh|=e2vch5R+A>h`hC9BZ~r9QxLBsb+0XmoenFUkmOMFyF(R zaBF(Q!inLuStLTtIU^jJ^vzepS6U^sl3Uv?%Jozq!CY>s<2##fKEsKXy1M5TJl8rt zuNdlP{k85+S$4&YsKs;Iw}=|y%w@c|SE4DcO-^lNUfevHHlh2dn^&6Vn?`vr4)r+) zkyK|=R@k)Kqck5O+Zy!8YR<d7lHss3!02jQo2F)4XruX*o`bDuX#O6!)-L0-wT#I; zrw+sTM|1d4W2-r9xtP9NcJF$na^#xtJZaz<^vln(#mvyIUBUTS*Ac1MNoOwB9FNwt zGbukKbw?jswG<{p$Ky?VR*$BC!hi_lP`sLSQ~5%oDIgsW<x<CH(>4O-r~_}oR&n0y z={3VIlM&oQ9=_Gt>w3+uxp^Mg<AxYiZ41F;-ngAJNVtwM^1A*N+jt-0)}i8?q>kPR zr)D_FUzBs)_Nt6q*bbB7-+~*)y1X&0YLM;D2U06T;?L~R+9sPN<%+gr8>Ec-da3VT zweWx8Q1EPO*Nqy?!vunJfnJ%ZXmEIwPiR$tcHD0wy-GL-DBY7OC9(PAK9?oCwiksw zj@1g-;e5#WApF9<r17`xtqs1XB(Sj%Gar#xARlV+&xyYYZoCtA(ki<k>+<oB@vb`9 zNx&47I2)CAk9J87`c_rIXy3hbscnMU;5QuBPN8S>kl!fmYm}j$A6B06S8!5D8T79E z!&*XU*E3vAI_^mRKtG6@^V?0(IA!@+YoOEhh19M5w%zuO^2GK0DrIq_u=rl{>RQ#z zEi)=BiC6>9dBuCBo$vf3o*Rxia}!KLZjkeu@b88CTiN*b1&!lbBm;(gd4nM1>TBrV z8+bi+9}2^9Hc-afO7(2ka<eqKq2X&wds}6`nmGK!^1B7(jQZBzzkeRDqfH9=ip4-o zcOIkKxsMCK*t|dF+<B8M#Ej#grA?{ok=p4SBr{r>Bia$04uk3|J&Wb)&l32bXz#9% zE^Xgs1h_nHC#OF3AMEF64yWQBQfrlVyV@EyU%E2f=k=?f6C#pSx|-flo0J7Tc9H2z z`!CCLX?>|?39h2KL6<@INGG0twWl_QXQykL;%K@=D{hN@aWKG*Uj$>lcmM!F|Gxaz z`lZgNbuwH&oh8$q>KEp7@A=oSS?R7E87<^rH-W|*ts3vbyFFg&E!#p&<8x%IkEf`} ztofHx;+r`C01tduhSt$+Zm%XqQ_CEc2d8SU@&5qDXT&}X)2(b*c-YKeZUX=XdJy<) zZ>L?QskOD13;?Ig2h9HfcvqhO(ROk8J65x^vbRwjkmRa?wHT3sS;ek}$~qk<>~Z11 znj>CG3vdWtJA!h5L;6>@>uDCH68WJ_YB?C{E0FjbXC8~-3l)%Ul4UMe9Iv<YtNuRm zJUU;7Z<zk!Ru;^KuoQR4y(voU+LUb@vge0hKQ3oY$fd9o8&m;bJ$~1^;@|kD&J|^n zXyC{I^vVAK>sP2+d`{E6JEmH|xAwC~Bm-=%AnAdh=Uxl(mt6k<gqy}qsHpQa*v`b2 z6zv|FKK#|ebu+0Z%U%%|x)+C6Q;CqYB#n$Zf-q~+yf?14rQ!Q~_~ZGfKu9?Zr@dfk zx?FSkalX$acUHJ8Fmk6oYeqjFEzO0+t*wmK%VQd@_FQhr?b@bNS0*KY6!^OGT@rg+ zHI_N2IN#~?73NkN1;x*Zn@*26Qy?=*D{>AooPIUi*lM$DwpSinv@$9XjC&fz@Q;eD z^!<8Z(X^6Go=OxLAd}DM?NqKz<lcvA4xjy>r$ZQKR%PU%&f{HGwWOM_g=Dk3jTuVd z2KkTq=DE#2*j?JkBC|6_{{S*qTcpVGp=_Poc-%N&rDEl&O6eXcs_A+UgLN;oJo3vX zOAB?!-tC|My)#y|)Vyn9CDfMx0CNEsZaBwkv3GH&_|L~T8g0#-YGP)Uqz9RHoMg9N z{VTuImMJYGh7?t|LAR$E6|$1*M(2`zGPs9L)-EHRS{sb*0P)3pH-`L06dDULo6c1y zX>Q!~s@FaVvDB<(A7+9%E&<CbjqC0Yt$DSqek}M`t}07wCat5y`94zaB{EMwhwDVO z9CSTm!&Q@9)~)o_+|o_^#`Yi5y$aqB?1>gM+TKv)bQR+N01iA&b+7oO>vjtE;S|Kl zB7?g;;~lZbO7w_twH<DC5+Q|G=6316xo6FDsxB<Y_?@gV(Qc!Sxn(<uHR1jhm1XfH zmseda@q&5DKjB`X@$X)b!&(bN0S|LI2wVH3sjoNDd_6DreZ29;vfLHi5T2x-zLnKV zI$Y(gE3>!0yt9gReew1!gTmF@iIyp2c74!o%P>8w4&z5ljUH((6fBCI6g-Cft2!Mr z^2pnz&BM<djuANn>s4!PWQ}`!g}a%8so3A%<l?dXMK9X5+go+>JeFY)SkB(36{V@& z9X9qmJ6)!GgN(2IvlVkzw~o#`br=^BuwjwuN2tlQT{0a%!;)I8k~*rA(mBbjJwDB) zf;fXS5zB4pYoJnYbhV6;D$D~7!||<e0_YK&*J)K0DHt8U8YLu^$!4d+4-8#e?VC{f zxcNt|bUzeypX}`i%(ZDFW?<bqdW`n1Z93XFx5n8S{Z^AziM9I%vz`9{ba)KB9Q)TF zwdR(l3SRNh{6DoTq+7@HZSu0A+ZiDDsXSYvMP(M)+hC9x3O6NAdHPnjf^0vttf7wJ zD<mzr<O~&L$LalR8^+Q`*KGj1G2LPJscf-MpmSXoR?zL1usHjK0^j6i+6D^uHKCz+ zH|?^<vdwR1SOb?l4Ei2}@vLJjS!xlZoyx}mpI?7U>bx!C%|lkzV20iwwlheo(d3U{ z2^BG=cd5qr)TyBORw#9Qn9(jKiYF!IShp@Z^u=CTA(u#!Ni^F~v7ivjr^}EWoSbLo z&woq~o&Cn&;GUzK>n$@!hR0F+8qGX21`|OFkD5hhY@O^v0HE$XVR}^q@Ylo8=(c(- z)|VcSeG|(q)}wWJUF2RuA&6&VgBy*Ya?&PBj1#3wDkwQ_eB*UAnvBi1HD1RZTOBi9 zCWw%o2~;b2&_B!zVVo1tS3v#|({)dX%VVdRY^+*Q8c956Suw!NDh!fOU_0ZUwU4jp zmmUT2b;Xo|NbW5qD9X#X<_823`d6D#E~h-A%N9>1)Nw<-Rz~0}9Bm%vv@W5zQ5*sm zV52@_4a(m6tD1hV4aJhe)*64B%*<zIVEsC0J8&>a7zZTscmg{#YrBTpaUL)UZVfCw zr0i5_vzeR35Zlc0%(F)EoMDiHXsu5ZT0<tFzGGYNSim9V<aMI8cv#%OW>N6WE2V3T zG}fzl&Q}pjl7|PK+gV%kBkC)-pGckOx4YILxRF6rju({2Bg9mNDp)tlG1LQG$%5BP z)uw1<xcfsCXqr~e;huYAuX^Y;4My@yXf7_AX40jQLB1jtT(8ZsUj!)`$phD=c`Bop zr=y|9>oUP_WiuI8NnQ3vT;zZ=$4<Noqo-<d&8n@z!p{i|g~mgHP1p5Bl6d1=Xu_<F z1_$2%0PEDYYZbIBGeXhLw30Uf8`A*P%ANFMZ5ru+V|lGlaVM5l*<MR?&hd;MM?RIC ztm+EdEOzn1YOzB(opA~Yw;l*GV|iYLDL4nUHsizA@<(f`ES^W5FP7*SWF84P>^`+? z#1=Nt>KDOWD`9q^Y~_2J=k|Kp5H5?T`R8n#ml3HA$FEG){d-oEOYtV3cLZ_B+X#G( z**N2j^WLz<l)}b2mPfdaN8Klt1Jrs}(%QH7HLj&Kt-x8|5EWg@?6@p5k<byG9P&D6 zH6F*7S0`3*{wTg{on9EG-MV=<HqrNqtH#{Hrbi5$nmzl$Bazq&JWHfpUf!+Js`)Z8 zBrJn^f_edx->prrHKZS7^5pW$LN~5(+lQ@sO0A=yrMaJ^*qvP6+(tfBV3DrQRQJiP z4Kn_FX(o+TaHD%MJxH#L!K)Sagtq%_#z|o1hU1*)<rPKrc;?kusXx5^-ahCamB~`F zZ&D;zwY!g9x@jNfd2j;fjMguW7B#YxHedB;0}asETc`M9J3U6(BxX=@SoQ#S;B@+C zusmA}OEk+0tcvaParcG|O&W>42|VWF4YMKLox>zm_SPEP<T0|yR0M2tJuy*S!Q^TS z=6st0>CR0yW&Y6ABa%j9+qfH#L0*mE_X5tHbwAk3+%5=Xo#*B?Z%?&`%I#&66_PW_ z4bv5rS&Xe3?)%%i^ZD0X;Y&T*WYSDyX&7N6ah^JLtffxcrY5dp-uQkN)Qpzw-cCjo z@>Kn6YfGNuIU@?p*f|G1O<dHxA(br-S7^%TBPOca38RIUP$OX6u6f0BN!*(g&8;S_ z9mUMdMa8(<tI#*}73N+j6ZnqqNw-MKyo?;+dsj{4D|sNanS%cBZb=8Bu1CPy^wwI> zl<|3x$TD6*(0zJWeikcn8J-{2t|h%#;rZ}NuqXLf*gpU~7bk)K82!HOWn0}tn6vVg zOy~N4_4`+!e$8J8biau|6m9I}HrBQ?KiV%RWZWWA$v7Q-0QDlh&*KH^X*0=ZYq2ct z#$!SJ3I_mmuI2A&j_f@bx#eCs@lxK(=pDFYpJVHq<uuJMPZHlUs<hEZ$-%>Z1F8Hv zQ~X80QM^=*zG)87z1W)Wm%tt+{hRbHFU1<Rnf;wRU$l09V<+1nk{`Xg7Y(#-AZ3$q zDaJ9+r-P)WFMDEfmAPYOxwEDI&l=`~qFDHgN?#aQ$M$BtvA%5<;s|BAiL&t9&mQ1R zYOcmYR~}R33=H|NiFE6$eJvX5W@%*`u+r~hqoE@?8TZ9~JMlmM3YYOy#upLZ!>3$n zIz8!jh8vdqL^jj3WlYfpNbS;O^Bs~{;Ym}>8F$*Ge7WMCR((*&?!no<^DAyG?oLik zZJA3C1eGh?^XT*MA{{pFX!KUKRaLiRxT|+;9CJ~dkN8Klr=3+@oZ#f=Z{gqZs`^Fc z#8whRBkhJ($W!gpKI13zp_QYwk~Yk#)a@My*1l?9`_$@-L#_2@)O5cmWM!52w;f6A z&(gIt{{RHOq2Z_02vvo0p;5kUj^tJzl?;{!M}{FROgYa4S6kr?R7s^>SV`wJc-#;$ z0CwbK`uC&VrzK;eoMR_ua()1rbnRk9-N%>-=ia-2iMoV3Plw>tmKBgJfnAjb<x}W- zkI%h%jocG>W5iFEZ{9h>6Ocx0(|k72_`AZh*vqqQi??YN>2gA(brnihJpTY(Evae= ze7<CmMxoeok7JzH_k#48mtM1(w(Yu8l$ApU$j2SK@#$2wO<L9u4czDwX)vy#6~Re0 z7M+6>$inQ-&;~m7=i096G0k?LW3@K1nICLKNEv`%<&rqAN|d=Yi#e>#Uln*CPqeYR zx7)@9iI(Sh{{R~EYkezL*7YB<i>6yL2t`*_`hs}kw|r+c<+4o$)z6tW&^Jdm;y%3o zm7nnE!S@~^@kP9Mm+Nn9ZW?XOM#ck@IpZf7`r@2!maJ@(!BgINcKM-Ik8maTu=%m| zJQ}(23&wImVAnI-v2GF5sRz_nx5O#*`^a1D_VX{wV~%BPV2@ta!|JIgh%GJQwV9>3 ziML2L?i)uKG&n*?aj<E26KXJ8%%S|Y8^bWc#cpaEhxSgN<}&Y-q5?C6>rvTU{iPRb z$O^AT9RC2HdR={?wt^R9xsib&oafiAa!DlYODfN=e`?$8+vUqQ5@cYJ{&86s&@40T zjz*EUV1f_JS|do4SJk%L?FE2fySDxu)Kh48m(dWyYgUcMB_NH%*yH(A=89UGligTN zJ=!Be?y-Tr{qa$19(Ap}(?gkKQOf#%pK7~rrnZq}R!JDEbCQ2iSy#8xGzhWD`<EmF z7lK7+8j9di()G2lRgy$#=8=Ob>x%EZPp*H$L*dOn801_snHf(k*y9BHXEo<DTP4o1 zX9@Y5=4Fo=!C+6VblRQN+CPf!Z4p}96>qaX!^~(pW1u}gmFPt-TcVO3Vz#zP!zwcz zjl*&LJJwH$v<q!-RGQ*%+^wt|Oyq@00m&P(Yo<*mIBlbnLRq%uTqwXDtBCla;tN|t zYaPbp9^ogHh*_lV&Tu<-ttjqoPDo~zrdsMZL+tXyBIRA$5&r-m9f>EWPB=UPRkhC$ z!DXmDym@J0KnMeDaG~fI)cf=qr`!3~_BRr2k~l;J#{#HOiU#ce0K9wGGofns`sJjT z>l-wg+QI&9%m)L%71(d)RMs_#io1Q9MpzCOH9vUz=dU$q!#+0DbgQ+7@)gYAFo7TU zsE4jSPqiBKlUgmjpJ|5P=ID<qFg|1+;<-DGPgIA*5#1fKTw9VBMHnsr0M@5#i<s*? zL*vaK;w_f7;hT9bA(}+<p=mx{&Ya^M<B|Dhyfz4yW+>l#u_m=H^((>RiLaT>z09&R zmyDHQPhR=vsOm&s<)dsBIUrWCjf|%&nA)6EX?N<%S~(+N%2e{CbRxa~0O7<R+TH~^ z)cQ@VdbXg8zFmWK=%)fjAHZ9yV;hLiOjn4FH0m0?oGbGA(kyr*Jd=)}k4pO!!=DaR z+1uJ^_VQdqZwkfb?(-S2FmON|e}!`5DkY;ZlR29un&t^E7i#VKBq}z7aezNwlxbEM z7PfbjGb=X|Y|qTt<K;h{Z)-jWy3sVr7jDH4Nkhg6?^OIZ;QPIH{{VC^<;d|dJB}1% z)cOkHgtaT0$0-H0cY53pYrD(XWRQYzPe1_r)L#xGT`N;-tA%N#^FHLxRU{sV9QCg2 zPWWFwtKfUtVY&M&*~$^-QTw%glAyP3*kV0!aZ`Lf_!F#nlS;b2)FDK(g&EA{w(sW{ z101pE0*cs((_GSe8Olcoap9ZK7kHIft@OBKn30KzR0sXx&porndndu488^ba-zUSm zWKrt{<MQVbtiDkkWNriwd*hMEb6j*f4w<80-CM?uaU{@~gUHRgCM*iFjydde$2IA{ z3p^V7e0P&-TXfxO#E8I>aT%G8?Wz^I+zOoIrbcmG^{PrsO-$t@(BI(}sp78%Hl=0a zEe6i=3s1IO#&rnn?gI&=PbM{T43ZR8lWchfWMAS1N0@3_oxrwXDgOXU-Vs)JAkKr2 zmv=m4>01~6Bi62=l_h1iw6-n#zcdAAzz1pS*(0Fir`EaO5O_mYxwD5_Yl98KZ80c+ znE^Z>QJz1^t~o_G`_a^JmW9n))>})MK2?v)B10bR_x}LvR$q#pwV6DTZp_<@ZtH>X z`d3V%N3@6Sp(eOdvRJu|mB$57aC7}@FICi|)1;ArXv2aVt6+5N*0RCL!e-EuO!A)+ z_)%|eNoK;JCutlS^A8-_!m-M#qi@|iPajcU(c^7?#_Hef@lE91Fd<|Iq4%#E7B^De zPiK73ESt{R2>avwjMvoB)m-bpGCZ$b(?gP{?`MNpvRcU!?&{ypyU!JPRz$dCAIemn z*{(+NDI${|_1P1iQE1PLY5U91u4yKKZOZa$S6?ws(eqVO?GQQsbwrh}VjX+bA#?pI z+>PcgTA>SrKoaT4WP-hO;SY@G(e5L+W(@-{A2;yl(!7^X{{UV-wchwj-JW=RZap)K z&U%|sm85+UrRvG3LZmP`9V*n?Wwi19_VCHK`^#M4g)FADvXAc-IOe*`C|SYHa=5#m zv}B}?W5#;juZMI?i-?vqnlvn{vy$Db=h+(jQ@Sl0HtUDR>~&-5Ur78*(xG1k+_NrO zunET`S3BU31;=}>=~n3+Z4Q@h=gEcTrI4Iw=s6j!6s(LVMYeG|FTmT`8GN|i8burC zn~ZwkSD|Ts1+(x5g(JZUX}0B@jm+k~IdnBkWqrS2YUOpHZ!dhcXZ_hD3H)4El&?2r zXIcuJPc_lJ9@@p^#%A5;XAapXu1#@Q{{RkT*L+8CyH!>;E7#MmE8cY75v(lcxRNlf z3KN6rpXXfPgS0DqjZ$f3jYP5!m4kewdVyZmEGIJ5@})gbD$~9R$#JT+s{GmHFh4FU zM^OErWzN`^Q6us<50<`$@Na=*OPQx;AH2e-Bd_CH%izT<WGBqq_fYn(sAYH5o^$1A z_ywp$yufqNe8VkW4vG6AYZtF;B#j(CVa^m5E9v;x)IJ{ge7eM`{*UG|z7!8$)#|zr z!}xq9XAJiqQp|voW^8$Q=C-AkK|g$a%=!NS;P>nrtfEbF<IOI9NDA%a{i9yHqI?_D z`~zgxcDC`tA?~0z9=XLo;&1I);jaPPAF|wA>KDO2SnW<gW1QrlO7Q)6_T|;JeMya- zos@Vv`L`Ueq35-FF~U+x(L&d$?MvYcd!}qhDcHwr5!CzpR>U40SfY$C3*VpCzGuDt zzI;t(6GI$2d}`PP1w3QZo+=aje(SLX&90pyuVSs&zd5JP7-+<OC8_vlf~8k)V_tFb zGvQsYi1eA)XlWZOxxa@smGHCn-qHMDdTn*M#*+Mba~9tj`tisA0A9UWbsIf;+)HUJ zHx~19BtjWa(AG71Dl0K7-2DCcqu_bG2jU5#aN7~MC)2m|u2%A7o;72RpRIkH`%e54 zkHy{_p5oRZ*O10pa5-=D$K_uUYD*@aa?r{S<t0j<#=dVChxT&1Hj6AJw%x}aM-^Vl z%opdkIqOqfUjr97>5r{L0_J_^o_g0AM|JS!-uvPnhW7J;H=eF{^j*B;-=%$bt84aW zL9w^IX5TXvTzdNF)0+6N!qCjOk<V-Xz7xGU>t5C1Uy3W^tteYv+%2{Jp9qeAS2cvR zG^gfz&Ayhl+Vm+IKW9K(gU%1Va(*!J6e+4Sl1=-$l!Oh)tt(sE<<g{YwL@=lBJ5Wq zDx(#^`0@dyJaM$LOK{3Dj+pi5rfMT*X)~4a=DiK(kLE1RhLGVw>5ppkZ`muuvqRwt z@1#@ZT}hMx^MFo&TJaAUhq}~~-Y=Mv06>0V-~E2I^@qU|6_11L_QB-a$8M^N(`o)M z)~Z?)PR*Sbn_(U0)2n0xGBMt%KZfGFiby5>;f#`=-;G?;^=PBKk)&(}U>Ay#<5BYU zDHR*#Bo;XBT(agnIafo2@%M-)_*3Ea)aSgK^3L8wkIE~V7bhGxdB?wM$nf8Wr}&qx z>KdlC5AJS~KeI$w<|Q11?A<?FyYbydy>+1JYRfWSUn@%)&elccv-yhjT?)d^8&*~; z7~l*J^`h9yQEi;@)};7h;q|({{pOcu2KHREpl2VAc;Cl=jxqd5hT_jcR+7@#i6xP~ zP~hMN1F7WxpN)Fg$9-}e9|TROGOWvRn8ttF9M{e^77^d;zhPKb*5YC#fq*|bCzn4# zkyTH-6r}zWW8g=C<JE4iZZDwd;TAUa?_R&G_%B7j@Wi@oc4{JI*uX9neJMNvqr!!) zR@m&fP>9{%-1_}ZcAB1z9Cqs*B~UQ@=#<HfU5}moGWWj-d`7x%r6%1T=$|HcC(B-> z4D<)oSEXEOIzGSQcA4h4k!2oaERT%)f)D9kRquf<?`$Snyt{~9aM4Pjsr>8BbRUPB zZi}pHRyMOtw$eBa5pq@mgPpzk&tGBbQKMxtp1$_p7Vrh;tf$M4LLiTCR?BVU{A-o) zZ-eeGE$wa*w=%GojyGqY<xu#eMYh!Ze%>9myr26n7Y*gfA!SzYj(zc7t)khoB#i`U ziyVJ2Rr{cHz^!?#v@zw@<!=vO3!C+tIAw?CA<^-Z{P?Y(9(auSW5bs>pDU^<`Bxl$ zD=yL&w!0o)cQTWodgs17YO~sSJ~-t4+s<)-PBFz}WhQB=N1A*-y?t}Umse0Qjz(W8 za(V;FuTr(uHfbMYl^Qm;Z<0kn>ps7Yd4IueIR5}@+&7cD89qgj9*5e!66;NoZzHyg zacMqcNbTubNh3S6xcGf;y6Cu@?F2^$$`!fi9O8{`U$fkP?>}_qk3&%DS{rEA%8<z> z=KI6eoACl4_@wWZq>|OVmLSLX!2=`p6`8)44~MslG}2AwtY$Z57#uSm_1v}ny_J{V zR*}B(KXpxTp9HqQ!$>Y}%S|-$xf{Cm#Ye9A-p~7TOEhmWqEYgW=bVbo#_VcViRNFl z7mBVm{{Ry;y73%fE(d=3s=fo)q`H#NP2Ky*Kpti}$6x-nXKEUgYQ8AcZl{S#$Vx8k zoxJrQmOmQmJPDzRnQxI}RgZvFV{!GasH-a+a=T|)tIuxIE}o3bHqGox@t^*^W!u<G zq{8w`xT=E8#k&q`VXUNto3A`FOaNskIX<-?h~i7VBgtu5eB3D8-l(HL!J0?*uDvbs zapdFod%gPpRjMJ1_{$`pI>vu?5BSwT3ixtu3r3!6i3gJy+L>=!Y}()Ujk?Ec8#{0Y z2U?js0k5LyZF(c}SBThr$Dpr3vG7#TK^rVet0p<X<aet61Mt%5x^22i79^7l>_=1S zUXx>`i}a0BO|izgAfK24#d)=BNxLHn-JI^JXC{{l#~TMyy+FlQwQbO_M&*VZ(>2*? zx)r_F<hq$-hiT4Ku?Ok;*AgO{!&uZUk{P78jgeAiA1Gs-55#BkqKszU%%c}`zR~qd zd9>*5<bU;O7a>XAk<Lix8OK_q;y(^s-d(ly%)WGy0?jLQ91IWeq|r3tWuvr`!zZ0H zU@<)hJx5<k&hawHmeIt(w%|(ueo_Z|?ow%LcSYJdnA)|B4=S$IRbI!h*1ZSzaPhsZ zkBp_TzWXoOZy-CCasX#hzy$X>AbXngX)I*8ia~~E!P}F_sk}d+E~9a89n2E1la_0t zF3>>ieLo7ibyC#FMDBf4rFgr;Uk)tg)TFqyl1x3esiPqXRZ?#<5et$SA(0W-#M_47 zm6w0Z=RXj?XnU_2_=?j|@cx*(Ev1ZqWfyC06d=1P3|yjxJF@2vU4Y=bV>Q9eq{#YP zG?zkUWx!|o@CQMj<KGoMmyRwiqk`PbvOyWjLI>{QJ;H;L$t3aIlisnZT}gzhXkU*| z@dv_h7A54GTyfvY2xd#`UF)_)46aeTm0-Y;#^6U|TK9UFg*;2)6~5Fach?j&ZEn`= ziU8>AB9b>ApEi1v#szbio-S+sLgBB++9aDSo@vU0+lw4^$tO9_u5wQpDW}7CaLc$O z1l+(r?4aw#b4y)}`HL2IPY`@=Rn7s=QBvJYbrqvU51P!}E2z%iwd!{N0I~;-?z|KI zt#6~>NebJGwhL~>L?t(eEI1z~SmcZWlYxr!yR9bUPSv4}zjZuownQY4(yEJ5V$|gI z&k5XWdV@`IZ+#4mpp|vO>DLFb>-f=LjrLgX2IkuvcSw{fuYLz^v{zrYiC1S4b$ceE zqC~3-$kE0jS5uZ4InD>IbgO-;Yd#T%#iqE9#@bZ4k_3}wt4I@Qe<$wm3y@zKIpo(L z;0;Nmf3w@i9G_@APn;QmBx55CK5tC%p4I3c2#9!-Nt)70E#Q$MXZedXmnAwXssp!z zdhvisBEDX<oL!=I^4#QgF9|i`NiywixnNPg>0EMu!l`&~M~_;V$8|A<0+JjrL(l_~ zIISNO>vCzjN0)5HZPc`2WpddkIUPx?Ju6vAt(BF3c^h=jO=%f4u1i)r2{h@Cg_F#+ zSnXk*{I*cL*x+Yz>)2o(I^(@zYL^pUGqEisjE89{fI#i(U5Z}Gs{B2^ZzYxya2i<^ zaH{ME17m^T8UB@psd#4VOw;V{A-a-Fc^rYx6<dsqXX($<t~Qpp2+G7h9o6K24XwYI zZ4b_5W|IY<AHs9aJ%%&*RJzW&ze-)OEDp<sDHs_({O6}kimQ92L1{ZQUSmf805RO* zh&bn<9A`MGFDA2+#eCbL9BQ0#mIPIM6wA3bm8UFz5xCSQ^BHXdjl<?pPH+ewxc+s- z_>$g#6i*G@YaDV$19@PD47uz&*4@{Pbe$JWnigxzqa%zd`BdZIKcz)u;>!(o!V6n_ zDB+WEP3P|u=|wyvh1{7uw>3Nl>l_zNY_drtZSyk6pDcTx-0@eThDO!*H_WAaf$3V` z3w5Zz8s5o$Hk)U4=PRPeI-{X-3ab=gRrZn&2t0~)!rf__Ri>n@lSwl?2#vBrzN98e zUc3?qe0Q%ps*f=eiJzq1!*4rHsW#YSEH)wJ`g4lnd|~4Ocv)?r`!XvYoqs;HW8yXS z*tJ=NZm`V%0KE(HsbSL~a4V72Z+_7PY!_&cuN<GPb>Zm3*8(pgZZ84LazQ(fC)Ta& zscQrX)?!AJJfQ;^`qg`Bo^}fwHs&2iJXM2#HlKAK*kg8$zE&WR<FKx{(~4xVz6_J? z`lNC?s8wPJAU02G?59PrxiRs%hu%2mxeXp=)9<HgA`q}*+fZ;CwQjX5i{TrxNxDv$ z=jl;e+aen}4L@3qB-<t#l;a1|t6xiGbvYN#R%IZNtH(aoQ^WccGNXCYI>^MaIs3kt ztFw4sT_~l%+bgpE_Cfbbk4oi^9X(qoa}&q<mA;p!w%0pk>5e}>)x+4q74^eO9lV_V z;7<V7_lvy!RvC~<A~w^r%VCr~vBp0WQ+~`p2QIu*@oLs<>&xqlJ2B^6#$_yw0nf|^ z1$x+eag1~>n!7%Z_#fcE_*EYde%U`4+M<X1ry?_gqduMg04nEvdE(g(!}*7E9zh2+ z>3<Tn<d)aUjTLQRK(XLpa54H<g?Os&PdZJjxtX#_<X2QIwP&dxb|o7~WY_PRl1R|P zH<Kd;7!|RkYaSo)=Zb9`Qopsif;n653y7sH85qD<47-mY76b!>#xq(T7@o(&9t-<Y z>Do4_sz~Bh`$!V`0Av{2CsM8(gNz=7-n{<+TF_(GHJRqV((J8nwE`Y71+a}rIml23 zF<o%26t149pIXv-p6T&7#TL5X!2bXXjX%W}`h#CfJer1#Ek4fLL4=s#!vV5Ic-XKz zi3AWp##_VMX%gktT1Ag>$;E9?ro*Oak=u=-V;?abZ)(C2!x3yde8+LY=}}sun$;5u zYAAN8d}FiS7U>2+EsSEW=y!i;v3V{n=8`!-cNQbuqxk{))D!9LtLgU9ssjp1yJ`M1 zI@X?_6Y2KRs=0<WB#^yFZnfjqlw$ND$s(%UvD4Bxt)$$ff=R_g6~3VcrMt^$PTaeR zLF?OtT>uc?Y33Vs3eAG@G3Pyp<5{s?O=adPo>c5|S2*^rTd8VPUZ*SZCLLN>R%k5X zmE#+?G|kBOAaVYAseT&XYr|=ow0NX`flIgp-+^6!inTu{!V7j|j!75@nK8l788yfF zZtWnuj%|#gNi4bC1$tOnD;;fURrsyo4RY68`&9SZd=}S0ypll!62~8RmhbESPdlXP zTE?Az8qZLUJRCZGoSm!cK4bdVvv}mMh<qB(th^{Io_#vko#^pL;nWj(2KiK+FPM05 zRyEOAx;f-OM)-Kz{p^=Fdd{rYs!KJzdsaDI{S@Q>0Iq9C!pSy`c`lW3(mIwXWLD&T z8w2#_x`=#z4!@wuZ*8X8>GDGwBM1u>3KwaAoUz=;<~Sf{paTNA-wk-2=z64an9b8g zA&@B<41R{VYc|!=Gt}rT{2gm<1Rivf#;0%-%*Ef^u6d_f=yn=4z2kWi$GMn=UUvF_ zlUH<Wme$^VRyB?mUzJsu?eCM)ur)6-^43<|71);G;8&e0vb~ckHtJBb)BKzLu&&=Q z7QyewV_Em%HDvNcWm-1jiQrP5PD^tfpEE2c9DORmD|IS5sq&iyl6e%>Np&-kJ*A1W z)bkp*nIOY4IO4Z#JUx4^==Tye)RzrwCe?{}Ok=RBaLFS6@-__2FaZbU`d06PbyK72 zQ+=Tr$1DstsO3rSD>=)mBIhx#=`9+@E}5D(I};e(52qEIsA&*cZMBZtSrwadVKKYZ z=hO7BOnpAj$C_-`*4w<xHEF<<syE6xInN`u2PcjXO5(gnVJ4Spwl<%9VB`Q!2tALd z_02jp8!367b*%|3^*Bl@`OrzZRQB|)qfGJL_ljlv9;mi+xe5|-09m;H^9%;#9YHkB zUr$@B8(A(qxTI2ZDPG=(ircu-wApmHWRJ{f;f+Jiv4!8By$2u9t$L7@xkqxn#njet z$r`el)NBW;pQoj8{{R!Gw6KoPQ@pr_6iF5m&Nw;u{cE}tL#zm6uwt>nxPJ6)C+6cm zynZ$3pB=m(ACEj4JT|^p+b!l3uGz8}42`(#a8LQ>u7sWSDw&n0c$(h+DJENpWL69@ z6Ow>)kN&-RE}yMI;SF-`2=ybi9hO)Ew$k6;&N&|SBVXKje?ePWVQ4NPkxK)WE(fo% zte=f~QfZzehWgWY+3&66oe3R5Tz^XR)~7?0Jub(@O{@54?H5qPH<OT!5!|dtLz?6@ ze-+KB#V6U}DI9INwkh1d{c7sI0AEF^{5p~_BQtr<SqRQ}1E-~8_*+Sme-`b8g&W=} z!01zuLH4H`CMNEV9ql7&e9hl4UD@mHRZYN(SK8Z_L$<n46KHm@YI=pVaxye>5P+rz zJu4-=G|=htHsxiH8Dr{eV<vhB>|@}|KOcV7J_ggT?PR*LxYeOqV@sH=nUpqh=FALH z^!x4#uTlsGzg4flWc!Z{>glOi>2^9TjL=B765Y;ck5af$%Iyr0##U9_Htqw<$saKX zHTk#y00iD^n;+Uz(%L;X#`xb^TtM%1H?5pSN0~CF<qqng?F>N41oXvzgll?DuZKwU zw?!Sgk-X`~##Wn?vSS-NmdF?(z+7^@$I0f{gsbwt$2_%qo>}`u_-9MCH&Lw1H;EGV z<#k&-XftVQ%0|;1i}J8$E;fZ5Hg^PL#kBaYyrs9gFvn=DOOUyd7r%bE>C(N2#NHUx zJXzw2rn8bIu$p-$mLn-(qaXvh$tUJ+q>_D4HNtp@!v{&ah2L^3HVEpjbI?^sF` zR-F!Z`$4gXPMIv$@<n5tcO&L@?VS5(^sc+%my4$GwY>JTeX8Oa;42~{9lMwToNx&p zGmMVat>E2G)h@0i%EJI<Z!9k0yy378PYcg_^(a09Tw7`udY9R4AcMqF8|c2(7m|-{ zvE0f4QUaBYu*=CK<pj}ERI4sZip04kqdZ?m_;aQ=jO=b>j%ehPVC@CK0watOz1g@2 zJ$rjsu=t1I&8_a6Z~c*{-p8lMY4+>MuL8KXxox2BlnfLNfHDCjk&3_K-+=Z$9`OGF zhkQ||M>E@M){~j7ZY6UNcqLdRD=b9=DUwCn2h5`Z`xdWpJXih}8hyr*XQwTj2byaG zI?d$|-R^lew&iATy~xM`Na<YsvWvWDp*KZ~e*yS+$NnL;v4U+v&q-;cl3P`X-0hiy zER7O|%NAfr9B=^1HJkCv;kBlS(YBVdwu+}Ds>CLA-;5Sqg#+%6*i|^qT=4gT<JYY9 zE4zEI?Cmbi)fPv(kzMn~<yOfp@{@)DV>!XVtlu4Ku<158+I63ZuP>px3k||P&n9q; zcHjk9+P`>bxz9MM=ezf$D5K2$ZKPS~_cBRkx;W-0SmTlW)`~OJd+kuo&m}+yt_DSN zcQ&V1{nIflc)%Zet$5Mf?T;P12epg<2qzi#A6mh=)u+=!?M<>W?I?PI-zT>f(M@aa znnb7KKZQ^j_efWI{n8t)d7p``t}OLtR*jZ8PXPVr{{ZV(wCa1L&~~rQEOC}xd;9mU zXI{{Mwyok*8u`&68}Zj2tK7qLTT`-|(DJVv=qs$~%XMf1N`np$-fk<*HJdez9m|OU z!Bg73N5@_#kHY$z*!;^Q42JBd)BO6^2jZ#X)um}Rh~)kw{p#(BbuD9u)Gb;rSN{Oj zS+{UEmAmg&#-}?(8C&LD^#i45nQ}k9?OP+1pjn5tHx*{$9D{+!YOV=KrUlD8T*y0D zrTih&TU^vUzv71sJ;iX^Eu&0BcHmd1d^5I_!WzY{s&{>taEgB6LvRn_)}}_3_dUzQ zIw$%xahwgK81=1_qcTDAtwp4-n<B`qmEeqbu9C*o-Ax*|@en@>$)ne!W^n%i82mdc zcs32H+4C}29YzgU_#5H>05eX$omX>7akFq8lmG|eUH8UK2`)Sx7S+#{AQ&F%NA;}V z+3s6=ZvtG&ApPaN!>I@OxyTfiK5Y?oJ=bx*DT(y>{?4qcB#WFL!_fU}pV9n2(%%Ui zZ_0Am>6+>_{T5AT@9jat$-g^K-N&U*ZQ%(t>jsiV$C=JOE8W82`BtZoimc|&Tg1%_ zULUys09L+pZ4K?ytz>vB!qHDY)$-eJ0)jVYx-W^gLrT!>W0Pp}2*O}>IW=eC#(>(6 zspmHf5!^Bl@~>u{B(^wCn%Bed+1tmva+Tu*ebb86(mWp8)x>be9`<5RMn*exT9zIk zeP;gv$y}J^Y=X<RM@~uf9`&W-4;$%U4zw-G(e2r}<zNFVat=D@wkxtXOF*(L?XdW7 zp<GQg(Zd{gEh!j$k3ehYFWO7?nZNOc?Zvg7)Yh7N9jg+ZrN^nPzm0z!ue?=rD>Jk@ zdhrxl=zUMAuM^bn<<)K);(3g4uR>4Wshq8=7dJ#2zPCQDFP9rL4nrSG&%N<XT09LL zc#=WJ;aNJriH;iH)CG^Z9ZhFjX;R(Gme17Jm0J-e?Gn=NOE$44p(AzV@kDUVB8<1? z+OOJZr3WjJD$Cl7b@@kLqtdXA3B6<-#amdOIR0Ou=DY8NKOFUsg&K^0M5cQNZ{J%v z`51R2(EHaEW!jr?Y6&ItJ$-qt<9O&v_ospWBk4aDJTdmW307qbwrE&k<7{#Wua&=R zZ-I9j4~pc~tfAd)dGj)&@fjG&<ECq#_(Abj^WkTTp}e<gKF=l+<{*F8r_<DR9`*I# zi1eF(9C&&Ol~#LusKcucRg{c_QHZ7OA~?GrpGMfh6Bih%EEmo=U!{8o#xH?WX?nHS z+0*wdOC~!U_pc|@bl11LC!<H4SA$XxF2?EH^e=)M6}`uZ%HBfl7)%E24R(6Z!Rd4@ zNNV~!gy)oH-U0e`u1DeKud3SHrMx<9-fhH!Pc$Y&COUtgTKByo2`+S~m6scc-lMUu zd2DMK+{@6dFRuJKy6QMq;18LTIQ+X;1FziNU20b?F57bkGrZ)e9+mA^7SU*0Mbx{3 ztZ|Zf&3Ko@sAO%oqIHrvzFnu~EuMoN>p1RROQd=Jg(G;g;&rrff<(7D2kw#ueM{k+ z!=dTFXOni&00(a1KdpSJ;aDWL@z$P;A%;e{Sj4J(laK3PS@?40wQV{$*&0bB;mdy? zy;RKUlL#ca)K%N%So8AM#5RUj+{`y@8;GuNR<w>8qicC)R#UmqNOAdBOALGTadEk$ zU^Dpi=DFu{s+&g}tm)SJr;n_60{;Nnp^wp<{{XB7b*nO4Lf?CCK_@+Hn~7qB#1ly) zLb5w$!9L&qs>AWO#yuy);z;4tE##UtA>vjHLEVqT@vRcjnN5^_FiP6rh+>6gV6o#0 zKa11#Cb{1a_*NUg8obQeZ8jgrb7vpcv@G@WcXKuU>qcZn{n%0)XZilMAH(f3;zYc< zZNu%;nL_u#<B#*&pF=y{oxg_?_eix#ElSOhRr0)kHMeW5HmP-qm&pn^=dD`MuI+7f z$QC%7X*S^Tg$LfDwbv|DQkm|f^1QZHUBir?e=3Wvrjd(8-Y4CqTJBu2c=s;^hBfAE zu76<L-CkcpvD~iWs>2)4Kn;3!rQ(}yQ%{%6D<a3hZ%leukbG3Xi%`<0mP|<^x{#~E zIH`@FLDW__p95=f+WbS3ON(`q;`1dW?;CP)_}8TPbHz7tYFA3z5;plk#&PwoAK|W% zABZlR;#kCO4EP7Q7#RMw+D~sThpi&BD_Gomo>cZ3_vuw5C3bbuS=qLfx63wUknK=c z<r(@{hW^xA<kIT)+IsHtWBu!6_>WKMYu_ZZwzJWpwT)UB<in{T93HjdzaBJYxbdaC zdH#3qfF$vZXZ&hu?rBm@B7cV(>^jD&5^46YZKvA9jgB(F{cF=a9ijgKY3hREnN;U- z<3A|vUQzI=qOwcRF{a%h+7y2hj;HD?*Sra=NcQpEA<e6%;Kg?Fjw-4dQ&(qV+H$ig z3%748TyMmit6L8X>QdcYeVj)N4>KFE%%lts{{TwsH7^iHcVXv8Fv6}_uTlPSULo;* z^6SQLrfG1#Qu^eVT;POWr}eDq@2S&KSy;vR2jT5wTwf)%3+Qb37eE+=KDa;9y;9%d zoEmM!lEJje!jgKmMW*S|cxz0K8&D(i7YL)Zc77YQSJDL2w)rL<eJg1`#(G%rzl}O~ z_D$q2zFO{FG-|)8`qX{`mP=0$$((s{jpfIuTC?#FQ9dE@pV<7SXuQ%4r>I=<{Hv$4 z@XfxJ;HjHxv}~*h1Fv2&RecU-%6cb=ZFN~=xAP*Am#9;muWl=6TC=u`$%;PXcR#~k zO>d`9@cPorTx|KbjOpc$in-&S`L5r>-X>oZ>kwPx=9q7D*i{VK)f!9vG8<vLYqmiH z?uzI>5%@v1jcH@ER(RlI(m$ykhtjfc?3rXS+U}90ZHbOZ9@Xw&3G`ck0Qe)zHp@1p zd;<V*RA)I1KO@(-Ls`^n+LI%8>*36P7Vv$Y^XeL8(_arYEuy#&JRmU`l{%(zk)EK6 zTYXPWxbW1i6}`lI)J{R2ZWKc#L;x4c*`2_GOK-she4vb+>9xPH=#bmPZzMN<ah0wW z)J8{aF5KsirH`-`N$hVWl54>X?Hed^Wy*)i+s1zPIq9B3u00mUH@3#7gLO+-{6}MT ztXm6<J4=O@XhN1-rBk0Qfau#>8%b7Ef^c(+>wjl&1!?{!@!j^ntSn<sX_h;9T!f8e zJQ6d<0{{ca&TE8{!a}PrmmRv?lJUlb@H37xlh}@Hyzn24Blu}+V|Q|HE~AELk>Wtg zA!48@4h}wSVSybMyRdSMUZES@gW@idnr5@8L2l}>`Ksy^f)Hao=hq^*%}Bw0a~ke% zIa^~Kezn|qgH>M=+T3453wf85BiyPFk`-(K3H(6%8sof6;oJBoYv~~>mlLm)qlGJy zx#ONTpTrt52}@(5TL~~e9*MU3dt^<Zx#XU_=Rf38VW(Vbnzg(x%(mE9V1#_=y@y~b zjr{Fz51zqh`O1SKFUjki)4Uz2E&j00afv*I``byt`ebM6kz6r@xz5guTzK$)R+1+G zfLG-n!`t4uyNeflxfx<*g?bX0+H1I$D0SGKZRV58f*&?RBpU%a3xTw-9Y-yU^x)uB zFzOmzhLbg`M=jOEa9m+lCduG+$Rp{`P;r`bvJ=$d;_&76p+A>z51DjVbW688$9xLV zhr`;Yh|o)@X-yo@7JqwcV^=~B3O4VX*E>M>tqA5=ua@Mu@8dWMcq#|e{QWDV*Zw5S z;|~C~gB;Q{i!#o(akCXk0LI{l05MPj+nj;xRYpiriaBo&{9f@lhWs}iG3%Pd%MmvA z_V-iCBvD12;w2|yf=@UVRtw!j#PRue5k=*=4rOS9m4EK;#_WD1RLOJwpRUJ#x-E!R ze0`c^Ef~)njDl-c#w$PV7~{NWwT?wBhA;?2+o>IYKzsD9d3Cv_te)B(OG%5#Ha2$! zPu~a44fJl~=|yRO!ZUowb++juZg(RVR_&4L)2C5IR)NaT39}wfp|)S%MqfM}SAF1l zTf(>BZbefxc`>56ATi_SImfTp-nh9mc~?{1$fhBVhPvAgZbpzU`*n?B^4Lij<Yzbp z^giPTyc|?~j_F-=Im?U5u5}p$FUcIcz+;`c>;+mnVUztORyh38@{z{lnl!y4d-S|` zSNChn5;8lH?^-vO^BAq#H;>G>+7U)~4Ekr#{W{h%w3eqlq-qAAN764+YdffZ*hbcP zkCsPs&O39O>(prL;6>6J$93$N3q7ssT_kbFyGp!rAw#<-1UHzWdEn<GF3-Z+wv*xc zFRntW>TtJ^lb~TD7AowafyW?#M>U7yb-vTIyLOGC*#v;^&rJR`=0*)q+<kk3)Q88~ zdr#u26```T-T`RrpU#Om{ubPG@AGhTUURJJ*AFW+O`U_MYU;Ji>%Bu+UD7tl@^D*& zp8o)iL91!8+*wEDB9>!@8}ZI-*{3Nbs5a5eY5GhvK^c;0X1O`sfEL+~=j&E<9}m5r z`;RSKYy7xu9D3rq9|-8T9tzc?)a17f80!m<mSx97k<iq(c2^Qv&E>b4p^V`J@QQQB zJ#mipolI1st$U6=&E0!eQQ_?`$hL`u>ajD1-L#Axjt15o=OpH}G);MSD_vT$#|+Bv zB&;@&4=uMG=Z-Vmy=2<l!F_4=i-_d6w*Ul%BHWTVBdN&2>&VYQG2W-vWB%Fj<;0fr z#|GEf7Dmeu5AkE4(!BbKRNQU%F+Ml=sy%Gn+Ua4w%QWUtf-r!bkP3mo9P}0Dw%!|^ zET;1oMR?9glQ}<uuFJ&wS~b6vw;pGfGFz1y_BhRF>2hArVIthLHxW0;JiuB100!+| zt`?LPJ0cy9dr!D+Ht88x8Tonbn$(i+*1}liU*9)kSA{;+KC|JwQ0m@i+1ZqBK*C0E z%ctX6(C87nNF=&g)dq4EjXz~)dyrVO(+;I~CBrYtyKn=AZ(JIdeNXJfG;1Q2Zkgoz z52b2&KSP0hCo4&IV|HWZhDPVpnrs?E!Ew8C$j6h<Ls`~p+8MhO$#Xb}9h<iS!Nynd zt1(F-i)r7_2c9cJ-!fP{Z3{-=;E=hfXVkvI3$#+j{>cM4{Wz{#a&3~1XT<t$LNdwZ zukmF;-Sn?&{hmBOZQ<_-O>>C;*?EFdqy7x=Lw<Z$op^J?v-rwn^3_?g19Q{Xy&uDN zw;mU?dtWnrdB|2d7_Vaw7TMWEo5q@iD6Fc=tBzDR9M_s_rLLxE;o8y>#yQPz__te( z+@CX_W7e_s6^`OL?iHi+0Sco(F!dt3u@2C(Ix5P@=b}1=x0f8*EO}Gq;PgGmO3>2u z=^~M)n{<*9jBe!n*4lV_@>er6f1|=On~2=m_Nuq=wY-F^i;QDv#c)#RZ&Qa>%-vG{ zX;rP^UB53<KhH|X(R7KY)kVCL2^IOt7z<lgmeO2aM;v)FOhOE|t!-%fb+3l}O!oJ0 z<}&4EXog05U^WguqPtw0Mx3t3#+Ra6=~`4V*~9jmt+^&-4!JnVMaBjX89tq=4;A=! zZ|s|NSk+q}G)zF}*FXJXQn!faf^W0DjH@3Jr#qETBOcu5vvt@d)-`xa$f@Ox%<aZc zr@eXgWSNYNd&>!Im0^*#Gjs}hAB{w^n?l>q$bR<Y!TQ#gw{iA(lQJor_<;Mz-`n%7 zA*ubMNhF#T5RtKC-IhM$x#JtMRIJUZU3@{JNgQt+!ZzRKgPzsJ>a*l|D-YS)P8cg~ z$of}t;0-zD-Eh{d0VHnSw?2a(O2YW1qc8Tdo%>q_!NzOQ!~41&vA-!6lW8T!iE(Qz zk`#?R#Zq`vn$+;Wg6^Wbic7|~k59b9#z4vtd*|5IUx(K6G?Of!yl*RzYqz()hgPz( zwXxE#qqwoUUoqoSEtsn00&$F-<m0zrTI#JP^hQ#N&v=u=@MsqDEsoc_y>YbQ2;D|U zIOnJxDhqE3{je)tSjTB_ND{D83<Mrq+oeV0TU)OaU);iy#cLj(K?VtSvB@QeQ_fHF zuR{2Jq~B^j4HkcCHx_WXeUmU^GBL>mpQ-I!GLwm$v4Qat(mx3J7V1kjwezgu6SAzT z#y~(LkVxInPQJC|8fV1jyt20!O1AUe6SNk<7407yw99=v!8Z`K#4@ysfW-`ocJrT@ zV?90V!fd=P7PoT?NUYvj`4>C^`B54)+U9FgxpX=WF6aAUSz1rrg>1Gmq>kRTcR(In zc^h{uiJi@mN3azYuATN3Ykw`H`#S7ExW;`?t!r6XJ<gOaK3uQMl{|tmo-2yA*2Z#* zFGp)Fg{sW4rqE7sai6bx+tKu>%lR^0Boj1ZQS&Jao_+JzrgAGMLY*$-Xr{KARe%OY zKPc~#G1KW=R&m(J;itHZ%>K}~kf~+5La!b<9$R7ho}=abxr%bW<fFLomEMNF2-dWn zL+q<GjJGy-ju^0I1Tqb(#1`BRNCV}@KsCT$T3P7YJ>yGx8%)Y}##bys{PElKsu0>d zm*`<>W9-4ZeqDbGspD&(wL@?uY5vpqTh9CJeuk82^0#JEv74o88hzZiaa_XJp`l=i zt+i2#ove607=wY-3}kg1Q$XGw@SHZWq-$?+9`lkpC$D<s^tq(dV*6I>dxdYk5}rrp z(zL&~rtx%_ES9Scya}{SK<Vl0n$kSNXESxEuAQftr1`K(1P%x$vtoi4ZPBo3<Wfk- zAok5{U*FnHMYOSQk~9h=&rEw(#5#7Gz8+??iFbKSByF7M2iKb3ok=NL!-Lkxhx}&n z{l257r|#A}&Dd7XODOA*JuA+9b*0{GI)0C6%HBn-uF(ALTrtl*2SHx9<0+Qz=FUkQ z$+u;aFEejKSAo+#tDDqr+7Ab+Tw2;p*BjtNgOH$u`q#BiPTHN0H!?g65%Bhf_FEsf zUdoXPnJwcbv()|H;q^Y1HKJT;GR<-a+2%p>XN}Bx1KXO`)3w|04(m2odQ_2GO@j=M z`PyS;3xWXy<sbce*zpF8o*`%>wP>cpd6P_oD=Ef%anJRwxrvldGt}%ZFJ)%BnmJ~^ zea|<V2<NU(YG$DYygCe)7P5J+zdOjID#O!1U&^-paiz&E;W6#|ExF9jgXIo?OyG1K zDx9_v>3#|OLconI&Q>;a)qlPERdX4hrT+i~&hdTsgFk4?4O-UD#`)~vljOYlt=#d$ zrha8UpO0$&68MSY$^I&6y0*Q0rRa>-b3_=}CMJJBe4a#290~|lSy-7|oNXJVAQSni z`x)snTYPcT;#j1aE+cT_A~`IFZ(iVz2U2=h-?|<0S!hcoj;j#2g<jch^%x?WWqDU? zG*L5cN87-ZE>{cl1GLx7W|E4n?;N!Z74TK{zuUa+FIJ6h;}Bf5c>e%HnX*F62H+nm zz@aMHUc?bxSHwRTTHRVLoz|NIwX7v0o)z-mXWTIE7Yp}BI0Mw=<e#B*oh7~+$*p*z z8;gBv`pkKdYF2kj(Am#0z%Yc3wy<9}a4L51KtTJa!u~MKzAMxlSG~2ln(I)NrJ4Zm zKoGz3ONDcDGZ4<?tY|rACumWOf!m%~)~C&)Cz%{?hi@!kRe7U%V^SJbjrPdvo<QS+ z@A_A{{?C6ME_Pk`Yr```qm5G8?5?J~g<Y22fDE}L1Aqr!g;eze9yw{@dwY*A<IR=` zTMAiFu?MCA@9SRA@bC6~(C!*byFV2}b*X=6eX<QR?3WNraNb+Akoko|jiE}h&eFu~ zEUH?%;~H{WyAdg-b$V}rq43v-KeV+ATi^IawWDzychO9dOL!6Xm|@-uDKkfn+jE3w z+RCI?AL3t$b~fG<pGbRq%jRh%p3*sQVU{}$-e1nHk%upYV9H30@6N?43FtgSs_A<6 zp>KI7hT6x&Hd=MmRtU4*$!jF4pqWcaE2o*}G+~TEQ|1F;$YGn|UyPm_)nLB+MZSmj z%a5~K<{M^!L1`NwIylS9V~nze1)2#NiQSbxVVfUgN;=%Aq;ehs_<?-|hN&?cxAuH- z2rq7Ies8g>uv|GRMi^vm%5ETY#t)flo-14Hxr*<2@_%^aZ-4NwOYt9pY;U|F{j9P_ z3w^3c5*SWnL;xM-us0K)x&C6jqW3}(!Ni_g$j5Al?vOu({uOYI2`vleMo)_wf-1u+ zZex~=HZnbP%~6UL)Y(MK<^~uT{u;5WLkxEz{KhNLbC4?ilu`YWq)n;lPjl&4v$6!r zF2cg*-4$L)Tjg$g3}U(n{5=h)gKjk`BwsK-6-ekiel;(Kbl4_nRz@t-OsI|&5J@0l z`U>hlX<r50_-9O!A%n`ZxCl0{AUbeI<BZqP;BfPB=je1&sjZKYem3}hZ?!1rSXfBs zmK_+^mUx0+pJ`TE6!I(7J}qgwmY1wYH=QF{%Dce+6+H;g_}2yFof26r;<{DZkNiN_ zO|7A{wm7{-eAV3CcC6XsUE8D0Z3`B?QmRXB1&9Og)=coU4gMYLL!6CHM?XVVWRDYZ zRtU&H!dta9ZHu@aeJBH>@Ov%H%OAdL*gP+!HMNu2yDLX^9`xPQK9%A+No_s1t6`Ix z^bZUCNRg}~Tr84Cax>bel+v5j_iuw5;_BWTYk8T3`g@op2ivFViuG>^*%|iDz{g7Y z@8HI{=J>|rZ~D9F{^&o%2(P9*BV^y%(XSrVoKH@S(pP4Ny`q0^cy{IkhAg>Up5vPF zKLmJ-`xC|&+CC0tm(5hi0Qdg@KGp5|=CGPQiy+UK!yoSZ*O_>u;oECBi>TTD?)DNK zI5^$xezn<$!_GeQMi`7jmWb>Y*{^S{RfZN$S#gY-=yg3Uz*x$&w;2n_Jvpu`!CK|T z-Sjcs$0wT;0KklQ$6EC(cN*5Q3~@>2k1-XFGqrQ+UfmgUD_HYo6UzSpXzvfg+KsKd zHujA-9h_&5E3o)U;V-a!JhG8hp_=<H9lB$n_xJp3nf;)kxz;`<+gM-*kgP!C3`Rg1 z74D54ufv@V-s(I@Yo_c}ON9N~uuyqZ*El%`iuIIj6lK)r_1mTJAB858W>maoApF4W z1J}Pl*1k~qsqtyNQF}70FWDh%VGj~Nx3zSCw6Ddx{dOCu?B<Om)ub^hqn-&rGh^6y z$EA4gwQq0Xoi;Vy<}7FxP@bo`rRFKVhA)eCSYs=3a(AfDmk>REwZZB)_nslSA#$ty zDmnpO1;&Ya;)|x5UEW@Bq}NHLcsk!lw*$-HBX!UCS3IcBt1?YQ<8&VaNhj|m8%KUR z*5q0xy`bS#@z-}+-ybT7*;p#)>sZ&9D!aC*+n(L3{;wKh=9ApayFukP)juixYck=0 zLNI+Xio0>B?RNRL<I=M3C-WvIv8kb?MiSYm@TZ^WPJP6m(xD5xa{jf)D_pxV&T(H( ze#X8#J|*zI#*ud<lS!sH5#;{>%O>bQ0vqtfe8T({#d??Qf#L(B{9U)VEJS*QPa6+X zqkr;KQyHt+c0P>puZ3XMgo^9(?kk*j_pg{gXg>ibfHh|OEMP@&1c*rczMxmwH^1qZ zEw}w!SAzcA9ut!D!It-tCR)yYtVj1)e~A5Sn;Ah{nH3gc{08uy<<Enx?tI3PWOphL z@Gjyp`Gfh_sc4Y3k(p#xRu}^{<)5>k#3=N?g%MfLbq&1s*DgPN{{ZV0oQ!kse=6PZ z$Hyys-CkI)+xKk6Ve+Fb-;AGA`B#NfH_+*)D;?j8uizdUycY~xasa9i%z3W{@rI}U zsPV?Jw#Zv*E_zq8c*Mu4X>D-PvdG8;YxhV!zdG_=7fhY5b1l0`B24lw(l>m)d;1=> zF^!6xu5lh5(SNtRWYILn%`L%Yka4wv;Qe!7Q1};8xPce#Q+$e`FaTw;I{yGF@n40v zE8^W>Qq-Q_KeMcxQ|04<&mH>ay<@;dpGbyDB3-UaE>1xmx&D;oD4kWNnH<{7MzSkl zf&e4ESn)0MS{ApBmu}8^t~N^t{?wJ!+$Wa#StD}0dCflWNVpR<%$JuEjil{)Hw+I! zS#q{%&214=#3^&B=`u3R*7B3IN#%!W7dSkBTKUJudRzYh!c8*CB#ryenpX79eFfsL z7+ctAD=IecFF8;%w0AY*y3U^dHP;vHaJKn?ATh@SxvPnsk45+o@bX*jC2lTVt}S=s zEyJ+u`s4DiVNEU@JE-JU+s*=Q7_L{~c9kZB;cE*S8GP<pw*LSLCpi2or}0(Xkuuw= z{_{J5Bfq6#Ql_>#Dbsej(A?NsTUsj*l1vPL`n~Ivy3?($bf&s(-@G_+p64~UZK}g2 zg3WcGI5rap)3@`lJn+wnf48l!6ftFv?nQM61BR^AcQ!Zm4KXdWNxsU>{;Uvj-1HUW zJ~@h8dpKd2=8{w8lj~lQ<8Kr$nPj%>BgD5XKM)5>^Nn**lf?co(`@5r*%<^fjN>Dm z{uQ(t&sga^E#S0Y4qEwANeeg5=Qu1+_*RCW;fw7=NpEp+9MQ%%#?COq9=^4=aUb?> zl^^h`uUvJky)#r2U)(cFvJJc^bRM;C%+5Lz>YCW_rG$5LG`G;eo7^efQv;BFE6gPE z9G?<AMR};h6n5&%wiJ-(U>*MeFXvsC#jDvDz_(1mK?Imn{?R9lfA#Bw(d}pOo{Jok zTbWX5gQTOP1B~W~#UQCG=yaYA(%R}dl1SDa;I8=iCp~fLUB;5KE{!F;XL3S<H61Vp zD=WYc_Wc#EW`*t6GqFPq7AM-e{{RbkVoTdbkjN4<$30se=}0NX^f>Pm>ht(l!Iu)e z-@c5DjPOQl&3+hax1KKek@lCGNny2#uvq=jcmwgS!}gql9Vfu?FWR=tG}~4ze9i`P zexKqiH}-h&y4(0RYv}N1x+P0vpa%mLQHlvmTON-p$#Z7EC}z$9TI;mM7J3q+t8Mc6 zIpmynu1?0@OWUh^duZ6QDCl`?b*__9hT=UjOvR(z!AgVoMQ112+Bz$qFYx*n@dt~w zWVo4_+CP^JZTu^fTOSfUXAYU9MW(C%_~Qr;NfnQ-=vu~~@gnC?(u6WcGlF9b7kcmx zbNSbC7l*BN3FE$+-D8?G`JI3)zSXZoo2||d;y#ZxpM-S#R{i5brHO7%PB;hJrubiN z{{RT08|%f}<{*s$?oUeI@ddy3uZS%?&Av;J*lvMA&QI4B*jacLJautxZTqP0;b6?< zaG)N%Q7I&WohQN#79Ctme>^Cn-|m)eyN|be^lO>E&m=N=(A-+FEIhsrF@ygA)~v~F zBhxG`En&BfV^u1wz^U7ugY`W6)wUt5KFb3rl2zEwNcnl{4{G9-RVQO9Jx5-6r%uwv zm-;(Pv@t5bF5{1olg@B(PB|bRmCv6Qw0FwO8p^0hXKq=u)a3r2m8~y?B-8ZiFQ3c% zGK^rjX%_$<2P6(hBx9QAe9t}DEIV0-a7R2=a=O^YUPkwWHRgxJ@ZU{jx{MYpxY|i0 zB0A$}1(buqAmDmpt!tN3$kD+!+L}9u-Q@==s&RnZPY3Icm8tND!X6#fHH&uf745~Q zl7H9D1ZAX8_f&Tt{A2K~FBzLXPsKMaWheS9*nQ^QMaD94i^76>0fFo*s*UZdE(ScO z{t=Bap%X6I6->P6fI$Fp)L?h@tgjGjF<iqLhib^O7V{XL#Bf3Bz&~2mn&L@gYZ;H3 z9DuY;Q<2Ba3G3Kn)1OmZ+`7bz0gvR}31nQrGV78K=Jw*Xsj;lKE5WGTUq-OV7DbPY zvF>@O{2i%AzA^hdNMkYv+~e-2PNVScRb0&k?5ewC+79nb)xQbo9%j8A)SoWZY~=$E zK^*6de=fbNo7ydocFyUwU$(;@$%I>u!tBH5!Ri6YtZh$FQK&R%>$z|a&N=)$)OJ(( zL*(9DcM5**>0Mr%q3N;sVQ!?3Xl|vDk27#+*?|YHI3RkH*QHFP+OTTQQr+3*Z!y1l zC(E}7Kb>3Cb);QhKeR(6%*UdF7F>2X!Tobt(@iwDj>@exG00fR7w(T*wKP%b7m&Ki zB*l0NTla08WQ_Xp`BrpOPg0{6b&%@oG>arL+bk@gs>tSCcJ^RL*CXDk&tvD@#4g%6 z{Kp{(aLh6KkIJ!a^%hN4p|NHWqYc8{u_F%qTa(j2;a!KsZv!vG+l_KF8>{IzhR#%$ zP39)t*h3<KrT$)VjGox8<sB|>PLpPAQ44U$W?1&I7*;>hig$-J*)4Qf49Vw9Ffy}5 z=^~B9;AcLVqO&WM^X&jfdwi)hp*KiW4B#-vM>xi7rHjGRc&9Pi+vZ5&E_|_(g&8FJ zR~Zx*`kmVOl1&V0Cglj+R^FSbgm1FLaLUZBu#Aj#<39D~)>>$E%DQFm1;6%fwaiM# z&S1(h)xC4iPtLZq&je3Cqi>knJi3Hwm`58o`^|tmbvUkNEbg=&?J~&A8k4n{g1PQH zS5cvO=HmNFRcRRcWA26|WxM@&uLl<yr|#@>%GbHkc>7$wd#ihSH2pr-8yQ*>Ah?!g zB>m&_$m%k3eq1RhIIQ2=MjH(h{?AF%Qua0SW1Yl|k|yRr#0Oru-H+3p6IFlVIkj8Z z*HVh=@*g;P*3ifzX_wi`uv6|q`cytV_>rY}t5UdIJ6W`wI6xNG@=o^+5)a|t$0eJo zCycScQGhnV!%MVOZ1gxiYf5Vq8%eewIAJ~UOnot)+9q}?o$z`5sh&00?Dg*w53pO` zTG_$_BzIRL;zc+aCBh&%IXo!9AajhJEjR<GubK0%K2i>GTVf?RSuUYcHaD)}vXjAy zB(uot4g$iF{LV-Kv3|gMa&y>KD|j^h15NXzm8Z79Q*RW~0}=+v;fdfJW1&4qJ!_WM z{vyW@+AQtkxbhdKdT055nXC&<V^Q&3@abzc<kqHBB3mOLEnI*Lh3F0d$@Z!Gw51<- zn9I5J&b8qEGA{_;>AF?@uCZ$xM|NJ)KbARw!=aOsP#oZ?Dt=bQc^0>JlHIhC?Tw16 zw`F2Iy?y%EfAG^?x6*tys@mz-7cF;hVqu&zg^uGap_I1&0F>u|RQ%Wj1hsH)q<?SR zU0chx2aJ|hZ;?p{j!kpZrzmKGRxtH>W4w=rWs#eco)6GfJyO?pmmlwD^CNsR7Wqi} zQ}ul=T{ib*f=oe!zjw;s;<L34Y~3p%X!fJzZek8U8t$a$)Xb}?L%AX`?k70i*=q2K zZ0#G({p5gkJ?cw6P8oJZw{qw2XMt4Z)~1U1sfA?ol&Y(9x8AgIzTg^uzvo$){%_qJ zDyYaA>CJRr5w%;N-%R_2AUg%l4<m}?^ktS$GBt-B<=Z^3IQ;&#xuIR$Y1)I8lQ76I zRCO5smB)y*R)%Lms7RAc!ryk>{J<V6n(3cym&qFr)!a4=Z55>*(+Cn+?bW_utp5Nm z;p#9BY8mzGT@zPjc;rbQJ}|#7ee2EVseKUnP0xiILfd$YdhY$)XE@w3`BzV`L$YZP zn8yR|o-ivD;V!iel$VzmQBAiPSB*yp9;AXg_M^vsF^t>0Tkd6(mdkwO@~@@Kr0wq= z^kaRFH^fewgv}bZ>>i-?tKJ&$ER)^GB3(3Xut?)><sO5#Cb|7DUWV@Jzj+)|ZUbzG z?&S5aR!eJLAH$J++azEMHt&@2!LLSe=Ver<+{xFZx3W}+ca*zwPpR}Hy>a*V(a9Mx z;d$r=IITTy^xTH?8JnJkw+e&7J`eu@go^H2=4FoB44$8S{{VOV`qpx#3TpCaJh@T7 z@Y6xElUIi4RFK=p7~&xw<|N|<hF5Bz?+oM6*7xlJpj!B2#P9u^rs@{Dee*+k5V;Do zNUsvUaDXn~n}Rxw91eqk*6n6r5jDw@;$|u%W{{J$K)@XHfI4EkNalxA_;=*qENbz( zZB>tKj-zk|dy(so3C4M&+Cj$1=jZ5*eGmIQ*vtF57It9B>y}gM57M%(Z1Ji{WVtMW z?-&dh^XvInSK&<>0cje|vfWX?*GU=qaz{J@#1CLkwNUXDw2!DyBzFmM8!=NXVYbQd zh5(HFfPR(3R-TtblIn6=vVFN3j7B!kK;5f8&rO8g#;x)>KQ``yx<jPMjNd6!A?`Q_ z(AE~Eq|BFp=@Citw<UP4dQxklG2H3&Z8Ci$ShshFY;$DB`5cd5rE@<PCC0E+vW^EM z`d3AySw|)9mBsba{gh>6NhTZe2OMYRA6n)9E5eiNUUHwiz|TtVrsU5~i%vEd;r^v> zXv&W%k%}G6YtZ~B<GarXG%ae4<x80)BMh<<Hk_%-oDB5`t$2=rvPQmQ%vXQQx28pU zmxCF#8(SriC|Gi>yOARO2Rv6rSv4D&)`~^%7<fWGe^!T7({0u?^Eb;HzIPMD5IxU0 z=~@;EdEkr1S);y%CQw8NF?p+u;ZIDJ!LGSAt9?UDYj|w!ZR5AZVq}QNBk_aZob~Bh zFnGsN(%yT0GHIJ~;jQ=iYd9Uf>&d5xm04Ss#|KlK_?zMzeM>`*-|SO;p-%SuOK#c# zzyK4GkA6L?$~5Vwx72X4{qC4f0QRp>@lDHXN6xvn7HuM((X;Ms`}eL}SqQdju(?)J zK5P~IyVlw*8Q0LS29@@UjoX*5NC%br*FiRuYh$Fw6`7=bnGu%*>Ki=%Tzl4Eh9mRQ zyybr|{n9x<jceXTBr!6t%;>oJfWRM(XHqD}*DvUESp9+KDzcS8zC+}e^}!u6RD40E z!uLq__N@+Blp(Xn_fNR>6yFV8wwJqdM)AycwpW<jp7`Rr`;P-a4Yby}gnFgC)=PVG z&_dDujGw;|SvKx;Jbb5X9AM(6RGedYmCB5751UDDtnFlucrRv^c5YD~0po^Z2cgLz zd)9~TA*^0_r&*HdLuCw6#pDf-X(hwsoXF5BfZo{SrcN?(rI%3GZyMfxK|ac|D~O~) zk{2KxDv^LQ*Y&JR%}V=Ew{49A`I~}8v>m>fUaCDiR}DNYrBj@p5zNOMLt`KkGPH|= z!E=h6NQ=m_5!=lphGDo8c7yARbQ-$OvMik39FkRbuOp^DwI_%4X`o1C+a@MF0;C5c zuh+GD7v<cGnLZ}cr_rxg;z%3iAHta~KD{e$`E71IBYai~;qziKtcu)>uNfKO{wAgI zT79!X`z&lD!TGmxdiFhVDgG4EWsgFV-swEWQH5tAK|Y_AZBBQ34l&l}jd;IJmM;h_ zcQSpU1AgXAa~p*?&N`Ey*11@`Jog>}hHo*%_WR^-?`Pb89V^#-N8vfN31nHBe7PJE zA5f&^jQV|Ro{z(g5W1FW4&@BRSPo8lW9WZM^(o%Rp%~p<<@J9FeWKe>xLwV@SVIoj zJh3Cw0=2b`a?ePzm0?}3sq!pqfg^SU1J=3*(CqZBCh(U1<<wwCqbFg;0ru<L(z(A7 zE|V16TQ$RdrWr|f#~EC0{Ym_*UTc!$V+UN)Vbc62wvv7J0j6Y9esX?de>`N@2jb0M zI~&`3aAj*aK*v2t`Nel15HDuBo+XN5hFrR-&l%*NE05LeV!XO5<#~PbPBX<^Oqw;m z2zZX;!~Xyi^qcc_<lFtSGUbNvmpH%!9hleXHnHKGNG@#_#%I2|xI~zU&OD+pKqDOE zBa_#T)%oeA*}<o+v}qR4E-{jRW@a__kAggPquKl)9w5B_(3)LB!bl*q(<W6hw#EJI z<nkj8v*ZAm0ls9w&x@I1<vFP%mZVu@;tz^-J6{MxXLhqSsh904=^By@iUDHfbB0hm z;NTwBUhCpiUNh5l-6?ckFH384Dv7LMbdqqxAzYSVb`0R)H_Uf40HJz^*L0s4d?}As zvC{9f{T|(oz22dzTrrndyT~aNcIHBXVn$!M7^pj$vgm^wQ}J{+qe8m6y8hN{C10~f zWZe`Ht2QDrU~<d}VUh@8o@<BM@@`<Ca}qm?C@y2tt}Z0ETT5BzcT!|YWdNAfLX4<v z1tgL=&mAkG@TbKjkHFfMs_9ln`tSvZQ$W$&TcVA=QWYUrJKVX!XWY3wW}9@jDXK-T zO<@Z{(t~jji1{k4#g;#riN*mK&q36jnv=wqa7CrGmalHscjd0F?UGEjf|oc(Yyiwx zoDMl14nXIr7WF_^zR)hdENYjHd2weQ#LE<Lm%H*|ffOPGnGWYw9Bhm;e7OLM@||<Q zx{rZ;VQ~zr<;iB|DGW02%L9TkIPKcI<kc4VNgCcalWaFCmpBCDEwi8}1D|fSWcY6J zH06>@h-OxOg4n(%e&-nU$jM?kJZGF<9&IZ~e9vQqeN#`?ZQ2>F?yc_OfJTWO!l*I; zGVV6=5BGS-sqW23WPTcla{0@gd5HP`5PJS5u{?33+qLx4!!t(K`4TIfwtYz_B-T%d z^+ibbNpQPkQdbA>AAefv<h!~xA@LJNO2rhJZ@fm|%bJ%%xqZL9Qp2gq&P`3J-~F=U zH894=*gKE#RjoZEUCi79G7oCjFy@kqCR-gx!y_KC@ee_@RAMeK;*TB9Saz?VJ}GII z{w2|3)75;%$;ob67!o@E9S5y^;qc#8$HjjPNTc^}sKxRH+!=Qc+<%i_P-!<CH9bOW znEc3exY~A%W94DM2e({t=shd+>N$L9;b9Li#F{hI_@nlL@CC<*O~8&7xP?jFn9dD+ z^{;C=fvwq6IJ1zQHlFqOC&kGv+rV0d<-(|v;^4&y+1PS_m=*H3#Qy++^J>~_YWh;{ zjGfa(j-OAhczB8}JEOCj=agtS5b4i<pP8<$%qVk>gtDCb@T7h<iK*$Vuk#){@H*Cw z){Svw+e~g49AmMjMPoBY!GxQ!kO<CemdwqVi>9fzcO$22(D-}c`FvaAIBeoyneu-C zGHI@Sm1SZ*K9$#g&G*o09~d-~aUhNv9iw7;4az|MNT3ccScz;e?xXAE$WZa<d8%4% z`M0~;KI?EX+Pw$k-@|L~2>9z%^X*zVE~aUraJWWNN#OfeoalOO#-*&oZwzfT(nt{z zMoSWS7^>x9eF^(JTD|7KX5V|sjJ9*@#eGc<tsjRpm05Rvt6*T5`@Wg4F8C+#@jeV_ zvCpbQ47%0SN>U8x?1QM^{?>bTt&M-g{{Y&j_mgjzJBZDCcw80VG>esMM#k-(#G2lt z=UlTid$Qo4zg@HzsG55>ma(j3c2r;m_dd1B{4vqy*0osvKzPci=sv&wdg?wX>z~=0 zOnPmrZIRm&0K0b|PNuz|W}31&uhiD?H->F>%NZ`375*j%8D<0D@aDP?hx%-7sd<9k zQ_Cmk&&%pEI^zJEsqp(qlH1|h%MyVxL6tbk1or;`>vLUagS6GL(;1H6^oW>{pLlxx zIuA~s^|d-2rC#TVSm?j-lm65ieY<aSYQ|>3&UWPVKKS;o!}g`|EZTpEQ%hBiZQ>?u zXK4=D2XW�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�_s&_{p0&*>@|0M)ziYSu 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%0AU1);( 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äZ9C(~u2$ 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%0Dw;?q_}+qW>&5JyWId*Kzqvd-Vu#Bf>z= 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	Xu5?B=qh%H_Eq<I%9? zO4&cwLN2O@@4X*Ou&)`7|Dy;$lY=rgs<}`8F0K&2@2S}oADT#yllg4=HrFhkm#6=n zjiR8b#bKJ2x^UyJ+pFIoC&mZD!#Ce6E0T+OhS%d<fj7+o6swlEu|1DsCPa%l6+J@! zLI$q%mbU~?oy{&%$cJP9G!<gdo0=W^SSgyBv`L-o)5ebtMb1Xr{xC;{XqGZX$2iVS zJ)Xhrk3@|DFye-Kb^-3~#HSR%?Dttw#EsMkupy)R*;Bv*KUhr+COp`toMzL7Uv2r7 zMOV86YZ?!gS9_Toy$*7g9PTV(8sly)ZZDEy*daU87DHE!yM4}qtVtW^k9V@EPD6== zpcVHisdhX7=PysFKHCX__;YxDJWB8)5)G79v^RA;@gPaVX)Jv?SJbMbaLKk2k5sSx z&TFT0R_0b?y9F+27;CUE`KrI8JH)=2`-E6^$a}Ya@D2W!($@okaSRmyfB(BP%l&Ps zC)+@OtE21jj>bF4@C(m0@2KQens2%9kh8~8m7YE{Yd$6ty9^}f<*J&P-IeMk-X^!} zh57~bVadPR+)q|feumU4Yc><OqL$4(xZ7^oN#9lCLv_hT|GjQ6(?`aYhH1(Ih~~5= z^onX^4N}>r1`-yv$6U>sox(c3;H1D+Jt?Qi-G$~&#$0$=&5;C<i5t6#1&a8;0X{J9 z`qqVJOlqHVeXPh=d3shRAk^_2w6#5>(}AXJ>wD(u-cNL%us%LmKks7kvV3eQ=3_hO zY|#6!sL{$d?QdQ@f6dC%JKSSd9}?ROE8a@JTqH=UsWWg@Bh(os<US_^qPhu8okfeU zzA3qsx<32*<h+jMp6^NEL#T#Yn);9O{Zx8HMiB3@v<2{ymOG5mKR$uJxW^~oOSNbT z!AO}|0{{3k^=slQ%90-gY(Z@^Av=uzwZ|PrZV{BiGDf+?C4<r53I8E(H}|aXyRs|a z8+KcN4E-((aa(aSXx?5ud8)Q9r?^UCscHC-e-OfcQQzh?TXUG7X3_J4A~Pp7>V%U3 zNk0UJp?1kWd<#u5gEQSaJW3l(@A9VL6*z%}-hDB3rvm9X@I%@|esQz6g{f{_z_#+p z`Uk5)_9L^Iw7>rMR@YmD)$)ddAHS_7xhmZ#jrJ2+Ijf5l%xmBmz8$y+=;g{rnh{`! zh5851i>A8}d;bRE5tvC`OQ?z}Mx6;aFaG(xc!)Hhlfdv1BL^-uA98Qdy}#G~DK~9( z|34B)dbFQiEL6ZnqPLSTssG;-bE>dF*=;Q7sy!F2$Csk_CI5l+j?TV9s6)UT?`I-C zlQMXhPlXxe#ku04wLPuyt6>CnQ?>T>FU%P?;sOlHQ612>#5C)5nhxh<5?pfXP!3$T z4wzjSPD>iilG6a?9EreSh28dsZw?C2Ytg7q&C(ZeU0;kv;p)8xIDQg{HK}anS$`dr zsdGr$T0n3ack$!~;UfMc*~;~L25Jt^0h><e`b<Jd`|tWiRRsA#icRf@a2L<n_sw~t zuk4Vk#{O}OD%*vFaaT7<*e%wlbh-jFDWaiwLVDC$M0SDJT9)^@+)TBg63eZf@jbHB zeA%D>DfcvA=bX6>)ID!q;F+NbyxH}zN881%TNy;iQ#k)QA1vZcmi<Nc)1{_9a$U|H zAJk@x@k}>E0u0$izTl+rPX9jdnD<7t+#hE7`e}B_JRm9XN{=}>0FFPY$V2@QSZC+3 zx^Xq=<;=GszILQtsOGS@!bZHZ)Jr$GyDqX-2}Y}#PobFPDvSGO?7Q3--{N%I%d6Wg zQIZigTDHzY0?PQe^IYmA>SPrPsCf`U;{ySR><`Fa7{D}qt@m>zU5i1~ofmGi3YkU! z*sQNXK{5$OPwves{+mKCJWxhz7j_UYh?J2PI6&+qFn7V`rAhB1&)5l)iV^Y+?)^St z2iO!k4aRi_E(bQv(D8IOvhDhuc2C|c_;8sS*gE&r-8^q;uC@qTZGO+RqY<$Y>a0<0 z=#Xw@?!{3c{&#T0OZYS>W`@egk8SQ_our@|k==iG<2mauNYL?F)nea6QDA}~3^?Sm zu-wTotd*kWzEjJK!$*>$^L-8e&=ytC_HUnFll+?*Gpqz{oiq7|Bc!HyWBl{Tu^5rs z!gzReTUuOaX>S86O}*^<Rn_&XLJQ8<=*Nx%e|DDzkE5yhhgLr)&t8Au84RtYB^C&y z>C#x=n|)kChH$q~K8#y=N1LMMU0_=BcTlt#&-UJs6u}$xSTK19=F;!^6wIM>%xPss zmG5-Lb~s&ph&6YjF8kD94|>hTd`Z6IN%1DWi`6{(rJF5f<Li^v3b?FJ^+D$LHW&X@ zw!lLVP8MZaheY?)&@?9ni7Z(S2JuU#!Uejt`y(pqS3sxc162B(<L6jY$2{_U-<L>P zsz^r5u14vcmIOWq0fQJVKDRlRmL#f<^vLY4T4Gx&R_$_=sXpK9oLQ$7Z+TZ8>PfSa z)o7xEKRS``yV@CVp(CD;=#Y<}b8WL8a|jMkc@n+PY><HWi|{}bxmr#K3*n%Dr#ZQy z<Ar8H+__=EhOJSBQ*-nyjxPk2(Oqh@kv==lRJwBC8yYX6aI9;D_*s|@=m(Yo{z;)` z*lms<AS46m9&UTiikslR!pd}V3?HfFn^OW;lvBN=vg!W_EC-l4*VN^;7{<8^UDcTT zot0&W-#o85bjkOj=xhYNjfp5<lKJLKL?1c^vM1^sa&9ZXgTVb!6z55*42mOF3NNlW zL6$mDGxa)JbVgMJMK0&o&KqXrUq=FPm05urvx07LO^~J}%lV^vR36^5^hCge<+l1y zyJNw^hly7YErqV$rgZs&{%IBWjaNN>((%!TvyOPy(jD$rL=x#)_GQ2pkAOkGZxR*7 ztWy^ADGva-^0x=oLwXk39o7sPba!iDHLz=C&upq1B4)<3o-;lsTDpU6509-EqH;P@ zV8kHzXb+g&S?9>kzn>^--*YmDmtHEFSXN7>ptG8usB4K<xR(%$p^SeXdLD6Mj!Iqr zjMTR?Tsh@o1=CmgjNf+rzS(CVJKnj5cujQl5}}Z0OohjHBfLrF!nW@Nh6x<2QpDuA zjc0;}w?jKwq0}nUIP=kEMHsa*U%w4^q{+ijm$;LYVVmCKeu+%ci|9wm^|;_`{8HK} zi;yLmy72<7N@#7eJPg}(+{H!-UA)u@Pyj<<vil#Kk^-+~1E1A=%o$zWi7gp+nRKxf zx&z;-MdJzH;8psTF(k3)eC~Q9WZF$6wn%<0uigIWRYj6;7SxFbxOON!hrIqJKTNe? z%OlOQ%}wk0K(#m;9~Aa$@B^e>JVm%F;;MSuY>G|ONU@Nhy~6#idsDP8^&Jmi{A6~% zZ&(hO%$J60q3<Qb$81g;Ck_Rl1#C>@`b^wHSZnZZPNx4@gCK>Lb53k66pcRj?zdZs z-6)%*#-3wNy&CG`ocL%z^@eT{vrac`jNRG$PrSWP$@1+WisZSq;k)EPKEl|;kl;DC zA-xSz`}FM=dNVFBbe*CtxRoCFEDJyJ+Y?C9S^93gF_IB?)#X+3CWuTh{3%B-M=3R< z*s&m$(|UJzR(vU-_>1yFXHfP)v0BIoz%m^3r;L5EH)h?}kYY2uT)ddh!=7w!rd727 zyIm`?8;cxQ$4RWGFIM`i=53u}HKVF;iP`ifZ7O`93O-cw0uR)#6H$WYrcUW#0}{y- zq?TFx<bo<^$srZj=ct@~f^Wc$d35Z8D4&D=9`F@1|7RV_I>@WE-zfvs`zRWv-R&&s zJM|kbbAxvl`8LR=kTJ1D5Yqo$yTDzR4$Ds2xG`vga4@Uq*6R)jH>T$l=hPW5H1+T| z|K?NZw{iAyT2Oqy)g-jS0N}Yk?_aW0aH@d9Ue<!&Y??2K@z(ZmI#p<%tv2ja`OBr~ z^PbbkRo$76Yt6Sfi0d4FZ^<$rZRV9W@s981^N(t4PqH_6Ez(*j>L)iJdXu-`kr<vM z(ogdZP6S?W@&_`S7G}GO3*31hES6Q;BbI$oKKhOTVM+PQVOR(Hq{ND$E}*Xfu3weB zlFL+X%CECedxDnQzURqG67=_h&9RA1*t)OCny(>s;x>eZN_6_>o?`<`MEzu*9|XR( zI7W+mAYZ?EJH6OnG~IkG{qK!=70rbbW#%XVM@Z`~Pu^ybK$fz?u1N3~hE33dKR0aE zW<JR(AMWfrZ{$>~ZNpWv4{%$OW~b5ccToyDh#;A4J%T4$q}!HgFDnLzm}8Nua5*IF z+*MqCk;M3R(L9E7?$*|1)bU{JSH|A2_G#*JgQajECRLr2VFBN}aeR|KxkQEeHpVXQ zZ<V#f-Hgz!Y?wv+!F=~)cnKAXWjmE&lzAp&J9pslelu<Wtrw6PLMih}gkba&PAb(T zVAWUIb}*cr@bqZ;uy5Fo&r?>wTQ^R5GPRZ>I3!8BhbT1Rz?m-kzxBzno%`*xHNM0d z<2zHSY@fFS<t;UTX?s_QOIY#RciA7d!WSUhljec6-<&IDIi~6KdnJFkugYl}ms%xs z-)B`(6yWiVStZ@4H|HwUqhaauo}B6#<nR;bZ^A2h-x+fM;gab#TIB8E(JTJ@7T2w# z&Cc*R-3a6VNc;ww)E`a-Mc|JLI)+wGh_#5R@|wm-vc3OEd>G^#4-EkV?@f4;8IS{e zdQWA87<Pw^#>5*V6*w1_#RqJ%s1z2$4=Hc0HaMQ%-yjx4>9Jbvk8I)Koew7z5>l4r zJGu%b7@zsIV2N*{5Xmz{7T^9ov)52VV(qSyOZRCbul^d<d)y&w3Q<$O9|5g^hAqBv zK4TGvL|*4Kfv6%}kXGmfx+DCe7xQ|54^{})$mO#ayIc=g(5A6W<?1=k*1gqRVUaXN zsD6{)f$eSyo6(K-R{s7@MiTrV$#!|+a!}Y>T{T)=ai&l6tLSwbmDBk3PydIW#Xv{j zJb~#ZZ7beSVtYZn0AETOzKqO~bXT&_4Li@{UlGc5Kje+c?IJw`3YOHV_L@pX>h3Z3 zy(Wu0sF0kgF`Gd}{oB4MNOjSbi1S`xaR=FVHYQJ_hV?Jz?X2^@_?XAQE_Bxd)W4T| zSx`zowbUw7uXQLd0Lo~dC~hhyLEG`&>7bTGZCi<DALw(o-X%8RrpXee08{5b;-YRr zGIK-lPwff5{+v0x2i-z>^^&Lo*YIR12EAC+DjRN#AC>BD{lh1dpz~(Pm#&kI6c=R6 zjklWuS-(!*ZjL;c4|)RH2wjfee{4SFJOhgfoi!GOD->dD#0Otwjc|jRVP-LGDt{GI zwseiRgRIoK(BBHBcdj@AYnU38O{1p>fQdFjT#Ly+*X{QS&y}NqU><w6b&*aDt<;(q zGFrsdYiTRK#y+JFjE-;X#q00;*MtumpOxNz<C42rm+$bmf1}b;=Xjv!@Bo%TX5pt7 z*e~158Gz}blNU3rK}V#b)g(DGn`~I6XzpGA>nSR$n?Is-BlR2CcHFav@jL5_rZS*i z+S_-soqPxHRSeY6|LK%Ip}B1txta)392|(pO(}rQ)zPJD_uF@GV5U>vrgx_5DX{(D zJ{z;SDC<tWfUmhWk3ClPtz?N-Vp7fi<i0<Vu<5Q{QhJndi~h!-4^!aATeC$o1Z`Zu z1H0#^<L$SeNbr#AmRTpmre+52e|(J^ba7FIA(Aq31NztN4KZi$8s>S1nKQ2;rel$$ z({WA+V!n<>xy&TbcK+zqN~lE?ON5D=jFqqNw95FspL5_gTRxO`03Ms}UC__5Dska! zUwM|7Wa{|=SFSF#O`!o8eA75+`5nxu=o<&UYb5$InkH5hcL8lDqhT2?UEu##e)5$4 z*6}$IY^q!1t;2lMCUsiyh94$0+(<435G>RO)~IO5|I#WLrpmg^OZu%Q$GZ8V(ekf` zymfbu-kH~??2?=G$*4iOrM_XkCjT#yQ9cu2?aCs@ne3fBVf?z_gRAY_SBsmdlqUYf zSn#iUYPbuh-59F%yKwG4DZ?n)QW^rgk|n%N%EUmirAx)a@C&hcpvvXqj_P?$ERPTp ziAr6FLE56#qPN;85BmN5yu|+~It#ZZ+_#IH;FlDYE|F5Ykyeo|=>~E1=xziAq)R|r zq+vmg(MXPNHemGV9vy?<yZ5^G7wp=z=YH;U&gUqyJ}%0m_P)w^?WEkRsGlTJ;k6g% z!0&S%w<&<ZCyn+D-?y_kxsXtPq}e*6YXZ1$E^|98h7{E>7zkBx=X*=m#MP%v;9D^q zzD<%ZIWz1ta^=#kyP0<N)(*DaY;oea5;8jcU437_bWz{XJ7-S7r-gpx<KLggt0(JL z;dkUa7Lk%EsdX~UHmYjbIm}G8lNSEA{3*X0P8vab2O3~!wl7g1@onT^4c2eWd?iEn zd;&AHFZ~9Xw<c>dHWg*nC#qaJxs-+rP{-i5*p%G0j0DOc$+W%s-{EiP(sM`xJT1_8 zYXq5iw1{z$8UH-BKh05MNSmBV{}sz>(S^hj2i$Uh+qSD;Y3cpL#NcL6iv)<7sR>&3 zTZ%OowS(&_A-V&zWB$DC8SAb`E?0uA%hpK2^LqLOtseLOs*PTk2MLXPsTx*}?L1M8 z4u4<rou0Vt#h&5+AAmupYFnlqbLlZ$O8ueagRM&H69zX28r`3UC-aKqAMT_f>*I^q z{O4vw{|m^=NUH*+sS`{#$|nnuaqD}N$d2z)A2H;9tLAxQYU;{s>b5;h{lGK-9c$~Y zdM%&nk@dQ}nLe-Q7Gr|>r(GI8Rd`l`)5?TK__<Z2;naNW`o%<}IrE#Ho5lY<_<sJR zCe0}sE@9yo0-IUd(e{g-F|KBQ5HH59r9bJ_@-zJB7i^!RGVU7UbN~J<p>MbnihUb| zIfgoF944s>Mh!Q#KhHPP*T;^roo4sXguD_lB=$<??WS7T)uVL%hun(BsR$YQr&ftA z<$BC?03aHnR2cH1Y3uWf1eH>~>a+QAYzIRSAH1aj*zZgVT2--DKsVx(ODlzKjguXo z49*;q*0$~0)6VV7P7@>K*{SFBWTYM^IGRYU`TARb%7)ZeXJam~Il2_!()%riGB2wj zsVgk`Pxc6nY2&YMPaM}7G8lz`lYrxy-qr$pvwA0j@n^UZ|Jh^8^qCUW#YWkjZSvtM zYtrT?sdYoSWAs{I;c5X>LmvBGFEX8#CPEXj!CERK!!5zy%q6rvrj2DPa5H1Frg{Is ztE!!5>hNjeW=avJO#bsdU+Oymscn;ID*7fiM+Zx+;lS{vXF^$PB(W=QVV>7$vZfK9 zXq{kQoH8~X%ynPLnIYDDdPqY#M3~swdde|bl$(F9-|9D1UY6VSe)ibSjZ4DFbJxpG zA!YwU<#yC>%y9&NMBJTicq*&n6A1%;?GBZf-(f_Y<O$>_|72{>NtU!UnWgS)=^C^S z{?b)258gj(;{(Qls~Fyf*wWDA&n)WQAA67&bG;B4`g=q?BO);XfWIbyM^|b%8>Ym; zj<5B^GE;yfIeoLUv-gl@^ykD)8~as7`#x&c?_5nOWBYSklAB?kYor453~nl$q!4Q} zp(L;yU0J8IDt9=t8aL=hKTIQg2i#WnYCOAO|7(t@*)c|mB`*%ZF#1xpMA%rEwv$?E z&_M;GXO|9-WFBaU!YKj6n%F4At#`GhmHD+k)l~6gf4V3BM^IpL$>^()WHJ>p#)nLZ zdS*>1y1B%D^`Bk2dB~aq{DJj%@{ucBsE3KWP>^6n|B2Q`)|2Y~R>{V}fX%o(*;A!C zf1tmo2#JUAKf-E=tHqU__v(w=VxL6ygV!fYK@+P5F?7*UPV4X=pp=?X2A7h4yI~(X z!#Jl)fz}_Ui<0R}(MO(36+>78Jc;cImG4XO3u``NZ<|mbh!3xoHyXp1^3$|}G2vsS zee7vgp^d`sM`^mCNY4WGE5p8Q$GHeQ5l_={bej_Xq!HD(vsAaW5Hn{?25*R-ibsX8 zg?5R%Z$M0aNrclyr>_hVLTYO?kYar2Wir)*A0tp)<8M>SnGGTVm-lkW8^F2v;F7X; z*Mh0Btv1!+5xP(Fq^#mq>Q&mo34+11o3%_q(@(U-w>&3-d#G{VxFx@|Zeto^S~Lc0 zd&iO}S2qmmDM$~9J&<MCIdLdwX*NjMqR;fU=F4sf_@UGLQe~r`rhKars?Z8=Xo=*@ z^vx|gOu6}1W&IY>6jy$wgD_ZT7<Y-OHI0a{&|NEt00M)zOn<M>BJ8a$mCm7#!j@bt z`bn;=4zyz!GbGqXw0CrwH$4}NP<7n!=s5vvPM*q7mMS~r5LrR3k=Gxkt#1uE*UVYG zT9jD>8PSF$11YFnR6CGPY=}NsMqb4`NQ-9l6@ab4b<c1t^2OxLn??n$D+TpX$)JmX z6t3W;3<yqYlc`iJneemc>C;P4OZkxql47B7KH@bd*RTU;cBRizjD)(>^wlt@&-mXk z7!c&Fl)JE=xMFTUs6P^0tJi<Ynv!o=yl7&Xe#$`%-{elToYmikRUEi5vi|M@`8_x_ zS$-Zu1dBYebPzig&CQ8>v;KRm4D6xXk4$s6UyzlGZKHuH`BNuCd3kXK2gXHlU;k-u zzrVZyB>>jMD%L*38=9N_i|XW>$F$A<v^O@U=eW5D2pgW6{#<R+s&5!aFnGAD4iE}U zLW%tHZLqv;JvpWJi$)bPAE1@Ecja|P@<I*U>ks?SL{H0ph>Wm^n;9?qr$V1p_l1&A zwk$upY69`#N|w|k?1$W*dQQh>^i`+BW#kNi#s|gXPlIaJ?538gTcx=CPX>T&eUz^e zqpxB&O%62-e3%_D4(#Mo(Ub54dY|levx#03fMdCoX)G(fi&;r<;@@RsV;E)Tu=&tT za4^t7;Z|dGg{VOYBxRUpaaFiaKN^3a@SZ0$ZocXYb&(R?-GH}CYhG#$y~&T5F4!?q z)8R{S{mCS#yY{nwSupOYkg(v&X;@M}(tHMr7HhzVr&6*{o1}fk6LF@DN14p_+8?*2 zwoaj+XX>jGB)jC^wRZK3-QK;8VVK|c&SylH;ZdQ3Yl65B_vxK}@J_egB}rp?-!$e? z*1pFQa$BbrK@y?9f0v>29B8&&|F7pv=Ot_Ox4}$Z8Ya6Ml|+9dH)1X-MLfnY3Wyx? zHB-najm1cO57a7N+v;DxB3R#S%p=Aar2GCgotv}hLn(ap;v{KW$H;^d9fCy4U7V$R zb4CF)K@pu}GF*qYcAaG=afyHBaUZ6Zy8>Kl-q^C+>gF;{W6QwcKdH791N?(U;}gCN zl1{NB@0Jrk$c_H0=S~+!$T^aSH;mZNgP}ui#gFMinJb{VqFUt2KZn^)<~$=2OVIjO zEs&Ap#gfK;4P^77Uj9cY?G<L_nd{N>od$()M2q169?+a4Ha?{a|8fdCb!K0u-lmcn zHG053C(Vl)qOZDrYYnqW9Rn(pdk}Ks&CrmLsnxp=RSI-)qR(-I+91nvKeU^r0B*R| zHizxflEAO)RvWq5Sfg*W=KR~Wc{j8lQr9C#?Q*u)?|eT<C-MA+9^NY|o8E<^o#yq5 zqcq4T%yCtaYQ>jO=Fdzz1SE9)gthcG!B6I&^$lO{O{R*(j2ro_y6{suusT>V^ACr( zb~O*(Num#ks>8NaXp%iIm99tpbD<ZZd3u!<2j-zs_pIpR)PX=3<RL&$k=1ABac+pn z85gHu1*?4>m8~{!3)MW~Qm+>?+3Tih9-;;17F($zT%dtmEEF)knYu<}jed)-9yGea zPa0rIeS*-EN+CtXeAe<fcAz{nrQUlsZf)!z3Y!!;XYwBJgB=ojAtdPrT!+58V%0mg zg|hLcR;nyTZ?KjGpFpJ?YFWkBZRWej4fFSwiJXu48HB<U2?x6+n9eYKKc@eV{i<hX zTy_v_9-v>8e|^%;aIsI`py1*MSYwzs=m5T6s7O|K`riXTUs|Xh*0K{%6Xs*bvo{TR zAY~i0GS3e5ypQHG-qmlkCORn(B$H#A+8l1n<akm_pt#_=;{~5R@ufyBK?6>bFQKq| z%Df_+UftJI-mx^1QA@Y||JE8E?w=L;h0nS0amaf8lht}+mty%5A2+g#_*QQ!f&YAY z%f8^T)H=2Cv0@`FWYTSWqTX%fV$MX<qr~v>a+`Mn(LG0Km!;=LM!e#rT0g@9BjKv9 zA6_WO-&7el77>8;x{PmM2~WmE9fwvaL3C!BCUn<A@>Dyzbxg&fs+vRJnvA#SZylQR z{-T!<oBT_p@dr3y&WtqW3k_l;kb5Vm8A-_dbBO8Zt0eZ(NO#5sAn8V>)5GNqm*oPJ zQM~m(t}L4}Sp?xnANnKI#E@&-lE&es{U^N>7t<%Tl7%*312*gSWqEiAkjOv@-tg~K zpE|aZuu$`0#W9OoVICVJ#J|psj!__aFP)iWboU~P+4cq7_qxUh<^3ykkAD@d9(=;+ zWdRaDObq)*jV<DWxl4^qRc)fM>8tOpe=*MXLtb_@r}=rj6FW$Gc>TdC>XHDw(=L^L zVT@_iWs_?956AhZmyW{IPzUu!vO>XV*n?wSc+>;P+;jgbLN7X?wh#2NlUeXh)*3yr zX=%8c|3;$H*b+_WUm6!qxRDF{bu;(V&E(7X%apwvKQVA&uA>3g!xVidu+x!xX`rvI zcB6otSAJ=W<#UI34kg!dbb~|RKkm-N6ki2MExHb?(7j)eW25NY(Rexd)nSP`akp>P zK)21P8ZX}QN3Cj5ls3Wbt&>=MJR2{Z0#U(%D|txfMm>WhDWl*G!pR(0*M~-zR>kpO z5APhif1T90b7V}(p9)JXh6`wThtRaAnN|aRq^uMC@x@<|Xrp5<x|P(=CrD+1e_^Kr zj0!4+IO(a78Kw%yNzvX(|F3npn)t+L=lz9jDsiqWjm|b7#-U5s-)|91Ee8a9DwAJS zWGaO)4iBusRLkVH_VOx18GGOB9hwPP;0X}c$T)a5<a;_}2i=U66G30%jp4<DVRI0e z-lbDF1&$IeT+`5$QHWEayEb2J*DknkbAztR;~!)%mOj_EosC5*&pPYt6sIMf&Ns`* zX~2=M;lQ5@l~&m@h$l&o4!=}n6OpNX#}0!u5Gn<k|HdRZ>Uhq86-Q3Un>8<D&cP3R zdubLiz9kEm@&Gnjt+_v4^{TCZFW*;XUqsN)LwZR`BDnt95yrAHARa=m<h9duVx^?| z=ig;+nKAa*$>noHk252jVRGdC@aL=6Je6%kUooO&k;L0ed{I){zC1BMi+3L$+*6jV zp$CGbf?c`ll<1lBloXj7E7rNkH!!t1opf9M(2KyJsIMO2lupsfopy2942xRe@7WPI zG^L)M`+a(-1%;!SG7{S-y)Wb}tvb`^2k#OO;3#=I^D|Xrk|*`g4zt92QE4#Q-6#+v z-UWb2F6?+h@~a1H7dv?Z{RoeUHhGWeyD}^R?Wx4Qr$kvwn!%)j2Nwl*HKm++Onbi- z6+`1@Z|T<4RxJvu7S+5j%uK6U{sPh$QDL8p+)vp&@?SPm8(<eq`x9K>c2T-Sm&(+b z2mfe*Ytsi_1#OSf-mjiRgnRH?J^C&kjY|7dxzsr!WAFKZ7j5{Nwr=I<<-+Wnh7x+w zCI(jv0;$J)sv`vPJ{8u><TzudiT1wjsIV4tSJVllafiZ8SUzoIv=E#BWroqyc*25Y zOj>xhKP*<T`-Ac>xyw1jZASmw<fPj5|ERA}<u~|@$1bh*c=xnu|C!vY!_-&CUzyDK zI>euxj_t+Hj#H6Znj|ms4Unl;Um~=xQN$}6-|)DJ(cPt0>1`LG8kaqKA5pYveF$Sy zHd23NGNIpdnj&8Br0|qR?ga?KKEd|_1=KiwV|};rdaJ<Xcu0owoZARsb8-mkH)DEq zj=)&T15Jb-Jkj#Pp+yUiG$pQ^phVL_+~o>TN7XuK`$IZ`+nPqVk8*iW28w2-Wk~zd zZM-=~MlSsNUk5L#aANx_THV)(gAKd6*=j4VowDry^?As3H7!TAvsl9^mQ?$+-dVA? zDNW|AnTsv=(53h0Izr+F9u=$=i}FSPx@uXS&W?^bH~P8&&`E_zr9Q-*SB5axX;Am6 ziEt<+f1*;by2R(!iMB=f8R1cnXj!=q+@9nhMp|wgaio@4|NhF`g_fePJ<WSKq*xcq zL5i#R&@&e;9b-}?gmoHZ+YE=L+SoIRvoSU9>?;J?btRE6_{nt|WSm+L?xSAxk-3c| z%DpCBwQxPg=)xxWL=M;uhi=`M8ZC+e9Zo24+(sfRUH=eXB?w5fP!wzFct=v8jih*; zWjdDl{>r(aK<lH)7qib9QW?_R90DVkV^c6spXT(AdAP7hLijTmC5$2e(YhcZx=~Ei zG@cCBt5cGmQe4PwAG0w%zpk>$Rpqk9VEc#K!kW2t5PK3HNLQShqmnWc3;*h#rd6FP zmAX|vHWGpV3M3%3Dh(d0%GsMXQRY}g<UBR)!I4%Bpb@<ZaM)G&@=F!v@oDZP-M7N! z`rs&$s|UEz3-_VyThUU-_YxzkliWYo@OBwBDKc}DkoZ=ah(W)(=ocoW*F?#LSlx@} zQ7qXE;t-`Wj`D8EmT&rBYLXukN8D>TzcV(bGaE-jbxsV^^|iC&1T52)#tpu-Ta_zO zXW+t4?V2h|y$7LeTgid?KM|Qcn*HrxrO8ctMJ|OsrukUp`4-4J1mFDdHkxgi2}XPP zk@ku<jQHluOGu2tlruu-;h}c=mcOk@XBR&7-|LsvwQsN~9<t^n>Nf+fbt6%8Gl}Gu zzd{3wfD&Ny?z<Vew=x>~jf*@we2ch!(p*5tm4Q&1?dQLJ9Ay_-gIgURXZ1eaE2B2( z!`?Hk2TXmP8p}2ReKa;GnDDm{&8BFC_RY+VVpyw7XPe99=7nvJ$E6N>j<qR}?x!{v zy`4um<{op=XPjsk8vw$|#DnT*`HxNA9;ZYU^p)!EM-LU2ko4EoR?G2y94IIHrEfn7 zeeeiZ0RD)N_orQAlLA<^;C-yFS;6kcecSHMFLfKzbkoJSR+SjeX+c9^j^%@)&Adte z2Z45HU}Z0(75E9-XFpXSfCyT)?OxJ%5WOzJe;8nB<}<#nv(1+A++<&0M`d5@QHk!x zFq`)Hb9cm+#+26pTVqQ0Cp67<(E2wBy|+<Ae^uM)GlJUeVD%<t(YJF^Yjn~We5d5g zPvigC@Tf*+tuCmeIH|MCW76ff3>TtLXJRc(*wlv$#{fs!Zp>|rS?R@&lBEeYTPDM$ zuZOLpEbf1Vo>%>ykhXD!{>DtR+{z3cCls_@;WMK)d&%|mZdLIq_1XWXL8Lt%s^CVO z4_^YjkMKsk+BwEqGhGusLnW9WmqY72e|I<A9K8lLA2B3>#!nlJgNu9EK%c}8!sO)W zXTfuvHpo#}$&-BpI_&<u{|i@WR6B=Jp}h+P!eaC7zvK;uK)e4v09!=hLnKrdraxU+ z`!*IHj!m|`^^p5{S)$`nG^FaI6uEP%LCl|PY@L?M*o2?N<7hJ0<kEc=hr%_y=22a0 z=C)SuE<+>;LXr^6QzVF-P^08cH;Z63GoNl0eq{<<^YgCITe4-!H!e$aa=xv}S9+jZ z!tFK0nOSegL;fjPjt*I%NzAR3K{C`wzJ#j;BlD~0%fFmBKS`Df21dc&i5Cw4wO-O3 z5GRT5Fq<&RFif76-x%6(8FhOVR5Teowp*I}^V(M@`)GfUO`|UUDQgBOk0PHV)dB9J zyIe?F;mP?zXb{qtiNbL+jqpRE>+tNwB6vz;ND<|pM-`(P!m!w{+%Z7PH36W{#^*OG zNw*zDTnWxz5CPv;M@${Y4jdnKD+lSjidLE5<rQiPYA%E;sZWM>wa$1g3Mt$MgM_J8 zB6(=Y*MSnc<|7q)z`~{Zs}8NK*z4ss%T?AC<6{LL!!dWZ5h?W$J<^juXOCKsROo(4 z<{~e(>qNA|-afg`IwS=e=d`GS_^vUXD{1Mn=i#LjE#)Q6l6l4ld=cO&e@|yA0$~eh zj8-(B=5%X7V;pywsB8!Xw1@UJCy|3e0lzZoB1YH|3R@drf~)-h!q}8EiKr(sa|7@& zqQPOCk1|^LGH>2WdzAWEps)hb8hi4VT%up0>^s@K2IQ^;TUw#}z@s*kvpGkfc2j@H zVFAshnN0ETUU!6dEPzCRw)GkY{AF6DX<wJGcTlq)`aFc&QBt%ELE7pe|9;p*f)p{1 zH|HM9^^%JBh~;ZSs{dgzE~}kq(9aQ{YMN|&TSLWdKgO<xa0flUwJAf3l&?f7u&>iM zaNlujd5z7DI079E+;%<vk)GGF#Rs%~GQhwdy0ZZ9B9Sjj?A;vwX`v7C(?VZswAOKE zTzwp6;*vkFRbPm)f`!%#paqj4qQW>X691%JSxrJlQv;*xQ?~P89Uo6QGdUQkxC>|5 zhJ^jTz(<FR7Q0_NPx<q-<}G5)v?5yp)IUWwDMCR>Oimgzq!yC(zRDAzC<);x1VQcO zO*$Qz(L3vYhGY;l``+yAO>xWdbohWVU~B|k12V+^XTNG>Lqr+C4|X!W`imD1Q__E0 zxX)D9D_H(6<4fQ-h~IkO7ce80K&If6svzTc2}$KulreaoIP~)A`Fe;b1E}HT*}R;P z*p~aAL2=kb;KCZrlDxYdGDp3oe!zKcNL%6eSZj7-VU9;QG=%G7M_P)$XHC?=Zd>^l z7G34{VNpD@?lnm`P`Qp)yJp3tth<~SW)wQfo=qR~hyv~^^SxZ!@OTqTPqpjQCqUuh zX^{!_b6nX)I{)l#<uk8!)3C?G^_I<C5+2u)|H3AXR?VAw%BmH-A6mTzZ`fp08Orr0 zrhjAfvFAlTy$)&@B4i6hjT;t_5;W$pMR8bfMZgOjPnYR~2%BpX)e^)nW2-U}qDS&Q zV_CJ88O*#T7>RpP^XB6jql(7D19&c;WvAtH4AM!Pk4lA)bpy{cgFefczg5lz_8r&e zuEf*rN<YQePVp7x3RRVN8f;Ii%7hC!-Prv@eKiN==z(&Xwaxj;$Dc^CnNP&8cp;Fj z{P@r=`eTa&1O&)33Tn|rGWbA0T{&ZZxB6~sqOA<rc%1xM=bP5EXL1w`L=Z8pRS~ED zapT`A_DoQ-yvR@T8Z78nfUDUvO8%eih(d(S^yHhqrY@yZLD}yH{849fqRs}~J7KX- zj45d;&+%-$5;i_S@i8*fo$y9uIt)TXg6&HB_+>Ak$dP)m8aL77*|OA3tY~b7SS>Iq z3oYR*ARM3`Vks+PDwA3}dW9(7-X)3=SXsgQ{VZN$*^^?VWkh>?_I}^rJQsS475{F9 z<n0KmG=vhCwb|~3P(^h6NPQ)}tX14kJ1<IqiLZ1DILBpY*SmLBS3+jcqugOLA=C(e zo;pi29zjZ;ed<k)wy0rw*W&*-3AY1+t{GJ->5`%kaC%)50+k4?D9G#cpt!7i^A(V< z(3k%rNLb^)u?*GQ726t!w0PhOsmmOUTepe)cUaOOUZAOUx~HGpxzQ=6_&G<tae0Fh z#{BQWqi%fuO3knVerqt?bC`ub#4q)w8)N~J#hIC&8rB^)B%05~{La9pax}YiLI{CI zgA@WWis?Y)XvMLd4lJv6+hkGY+FWx*!(B2e+Aqjt-bEcu+est^5HWsPF}}-8ca(5a z9|%YfF;jFSgo5q&m?>eTK2M{TH+23qL(MP+T}@JB(T4MGcKRyxwDYnjGnQm?78XFa zZt^_(n%B8Z3)xu;_=Tuiu+PQLS{Q`L`Kz++3Nor~Wl^{1joO|cAkW81YP35)mk3oi zUVle)C{<9G1)2RyOLmllV&tB{NffJ9?d&mBH5Cugzwgx&dIAYTJ9zr9E@~KP35_aS zK5SY+>B;i!ag5U2v@Vlqw1mid9^h+SID%N!Hcx^Mz_be#Q3Qc2s1(Qc=dJK2cLsHR zO#!a7II8j^yQ?x_l>;e5XEwg0pxW%=fiXTwjq{}{v2t*AWlMU+MSMerkW2SpxG<a# z?q8(mmkK^L*ysO61^->{Bh`GLuENqJW=gGNDVc6-4o+S<Aq~jvgeK9IMMJ43{ppm~ zlLn0c<LQpKM*Y6#{#sM5?-p_?O_ZZFje+rsk!R&rj0&o&6gc_;5!ygW6TFpUwu2Q@ zadU%`;;2L|aTytCokvDZ^?!M|wP#^>+=3yW58`*@Xx48G>-b4Rc@7C(<3w=$OrPXy z%}M-R%kiG+JDw+N$K6JXc?<5B<?w@eVee+zK!;X!jRUSa_-5oi%O_sZ(;~B*%_%O@ zYivte037Rl`_~Da?nTmb5Ila8Re%?M)da0-eM||1MuPz1ih9`s*l;miSv77)b=y7O zt|Aj#bP+It#|G*2q*wzS$^JXAl-gY;gKX9SVKJ#lA;l9}osWn!C|KGKI^<leaq-*7 z6v4EzzvzAk%(?PkjdOi|^%^}urn8!@Xuvq4XH#0L6V;$JZ~+$&dC?KI%A~wbLR9Ms zCuj*wnrAkN+LTJFn_nfM`>d(OhzGfzW!z=Eu%Hg{MmsRQ=M#yArSQfA+91KCe*p^y zCurqnZ&d%Gq0bcJ8n@e|OU<olTZp|s>hW>wcB`r>2owRh$TouaLg!yFQV%Ib9N2g8 zO-nz#x(PMe3!*(<);f*~M@gDdEG#Yw7~#(PU*Cq{U4cUve$6w|S{D_iuzH8@{I9fE zgabWw2Y)*zqPykjq-E9`y>6ufllazly|mc-Xq9xw%1)tf6Fi_JucNvlqFOh9X}YVV zHOuayqaOi_#rNtpeMXX!d4m#|l%@9iD<wQU$mDo5hp~5^JNV7BIW>>rr*_;uOYxby zZ33d{9T_R0l!$n;KLG~j_whC618?A?-SjG>%Z^APndSlhJfdP?<~NU5Was^3SVM)_ zjTtCy?B%T6a*5sO9J0w`ZTIFY(ztNG1t2H*_`PUYRSPM>+JL^X_4deRCgs$Xwr(%# zrMWz-lFO*F{<ZJLW}T=OsRjFfGRU6@_p%RY1gsMJWjH52^rbH2<`vv1Zb3eciE!A{ zw15cD$2gDzxO$(Mn_#QqoCQ0EQ7x{kVE;o%I;*`(6#Efd{&(NaI*uz9@i^P;8~W0k z_G~$U??V6K=a)6e!M^7pr=54vUH+=Iflh6zDWf6S;VRTS{!$Fjzw3z@-)wCk>j}6| zC?}OONEO`pL!m{tYSZV(Sp$jdk{oFpx%|yntP;b_;_?9hZss|vP%X{i4pO{gc7-}J zJHeYXXn!Rv8PS_EtVEbGm^>YeE@?Gp;d=9}zrSfg#@$lc$f3onH>hGs2m#qgkzy<f ziA|R!k&21$2*(cg^gwn))0?f-SSFg)Tiza<vX!q%tz=xT@je$fN6{=X2Ffcb7Ym9V zeH~krsnUGNfOYB@97i($eFy-^2wOyhwht&1;$u7PBL(&u11cCIbcf0zeuc-8eJQKI zoMjK~8jXqN8Nfg0;-CJ%jw>9J&y!?k^cR-SlBzHe6U`~RfNC+h3g}_)k+mEIHw)%} z$`929icNK;@%?2U66UJrdazmbE5m;jx<+4|Xn$0gjWp8t>9;&;m%QWF{U=AYqDz_h z7n}6!ZE}8T8-K4H`98GuJ$?@~;CT_&_?FqtuIU`4A$}1&{w-$4+0DknM8_JjHCfS1 ztfx3XiqBxgGRhPuD$lwMiuqO4J4?=USH(FGiP#LpU=t-#97~VjwJ25%F}t6&G_!Xb zOluGa(#k77V<u4zixEx4+)4A+)Q;{T9b=EA<t$)fq?zM<A1G{kTrAFcz-1tp<L==n zYNytmV-Ya|&-$DAv4{FWIE{C?OY6rC^=#*!5VO?k&ij|B5(ZEaxsF!Ny#F3UzVgb; zPDDUl=Mqb_avRV%J)1UXSa-V56VG7at12^dFbSyZ-h68?-{bXu{qEgG2>m3c8rJ03 z+QiNkozzyaV*q<xI0f}ZXQ77Z-6}mVJCF3edF2j#OZ@<*No-NcnDU*mabyT=l@`Qj zqI_s=8r-7%SW0f})zQ<dp)bcw6=Iq0j(i6$+8ehY-ap7Ebirfb!h2om=h~2UHi1@8 zl30@yD<uQ$a6p%?rQM03&B$=X5QCd6ESM*u)^srl%-Hvk$Y0kKsU2Lq+S;(DH@}nr ztmp$Qc8Lc2w&iQ9;zUYH{@>!3Y>ZmEGbfrie$LuW)@G}0ReSrM6qaPr2u~gWY*DPI zdi=rmg-TA=)HT9lz(+5~-d@Lizy0S`%BL&KE2Ng707#kp=)Ao(1zpv|CR{fsd~K9! zIL;x!v)pg?<SiCSXIg(VnVegpWD7>?yl(ZIW=x0g)`>ck(=LNM#=vAIvq8;t&mA(U zs4nV=IZhukzr)C8F~KGr#X8V*(gk+j;oBTO={rX|rs$`K`S>PFahAR8z8Q69yKHk1 zKH}Tdd0^sE^|D2fm6RdO=Q@D_@Z_8`AC~qPNHJ%&B+t@$YWfUutuOc3?{DaHtx63k zu5O0HH(!H^ZJRn`nr$|-g6~RPn;pWFu@On)H0yy$$eQ#KR?0dVBGNaLDzq8Tju#H4 z4=XbR*ne0R*<<W&*hBzVS~?2u`D9m62A?E`&K~40?O$n%0uvNU)O*^i|A?3K<C~4F zu-it$B&f`;jdmN+x&$+|pR|4IaCwb}gVSnp3@QsCF-i^%?P|*VbaSfG+zgBIcM;j^ z_x+a_^tbE@dAZfK!At|#yS!H<Q+-NwTz3P$sJ|7vaNPTgw8CU|SM2!y$o+fRT+#<e z-vzCjUi<tfuEdrIf3h8)NVop~(E0w1Krl8j!M(zA-Z3X}gJ`rZ?^!1^>bUAgF~NIP zj!wv&Tg_E?RqU8iD#WPQEA)B2vNtoC_?+fqw+kTvnf9|`93!onrdE<+t23Tf?ep*d zJzKy0Vu4k8-YmLrz-wu(e4h?hPWSpD_^$ajVDKY_e1o&SQTIe(YU<e>y4$5+IwR+; z*3wp5(s2b6^GiFkWS8Pf-lAcu)F6B5P~h_k!^Um=%z@16lysmskR;Jym%TYIH_~bK zyWDrV7_jAwE5~L134kpz%=AI%^VjE;Bj)zNzkUt$+qgraLF4wdgHGl|4MC?Q$*Yob zC3h^}p<*bXXqMVLrdWcIrjY>X_oMow7xvt&LBkan2836iwwP}ypxjt!v}MoD-KpvS z9)K36PRByh$8oIUR7{Nd0;&GX4oM-0VtgMsuP5I4XYJx?{i0N^6v}Xc!&~lJ^mjiQ z0XHd(=&t9&k5=?0^<-<yzhhD&ZIOiAzNUC@%+qTBJKzk&>wga#23ykGzXo_-8AfL* znPv@YNM-Ezg5y3-aI0_}<*D9H6|6hTs2&~<uquZbkUWR$RW&TprJNm1R406s7JLs- zsdW6${f*)vXs|<&aZGgUR>4^{<Bf)KR@34uE;O9s<<(TZsY+3!OB5~qx#tuCte(c1 z-BvBqc{02>Vmvt5vB#hxL$0YIA>%EY%V<5j!sBG2Z(!G^<Zn)i1Lbed{)Nef9n9!F zxDIHe7%<bOXcMKC?osREzwJnWZLs?4e-C`C-}l<l);LjJ4DM|SIWM@wT`h2QDSyN* z#gOwO@m{?jGAob0uZw7(&;=PneZmrtGUZe!bs7&%niIa|Q8olEx}&h=-t>|1_@G6} zmpl6Ra~D}*gScX>MynJ0&~^dj9^N`ZvykJc;dtcj9>r5rzIx}l{_=CA_1)SC6;blS z<5A^1Zf-4=6@NgAJ3}x*V89Goe(Tc$+%33mPeqDVBU+<Ur1mf?U$IYR-(8Q2y`9h6 zxdwh5k*HLn#e=ppLj8@;J$sZrr8pM#uXC*iRUzFCs55n-G*QPUJ4(gZtN+{ZoMH^F zm{6Smk+e~JpuG&%pend%`D(glb5<G8TlEZ)_50GjEP1Cv(U_i-HRayjfNj#pM5)ea zcKQ)sE7?=_^Dg_{BG#qEqB-xCv1}7rh&UX0a*Oo%<>aOM;}1-MwjMXvN55&ap0bqM z^^n$nu8v9Q;l518N&QrR)r&f+emOoz<+HuGx6xV5gA2(4u^W0vH6q6_u8zgtTE!Io zlg_ZS^UBN2M{jAqx2A;Mzp9xVo~Yj199>8ZFUwR(xyVQezxfU{n)<yF0Va>-37;@{ zd5<Q^jn~Vh;9jV(Y8I8)8=p1|@Klr@6R3qeB>Y2J;O#9soq`}AMEB47ufZ=|RQtO# z)Tf*3Zq3lfZ9@ONOYf50h~kTeB!-AGo~>s({?WIky-t!hfYCpuN8BN$lMb;a!REc@ z*@0pPR5goS*Oe_bS9E2B(HPSvameiY)6c=4`2`6;s?T9*SIu{V@{R&sjqjR%e{bA( zbQm&yBVi)w>Luj^bN)RX$|Bn>Q9Pcnrd$$<e++pnx9Ipif)&F^07*QRgKom9|5c6@ zYB<F!@ieiA?U_@jfVecJ1RL<MwBkuo4tO&>W!;RcmZ{^ua_?-63cV|abD5|13QNw* zyFP;u?G8>%9dKwZMX|(iO5Erl5#tonR!6JYkobTk(_@ASEn2}7@<N8hqVqA;{qAX? zXYKm|(IIxvKRHGd=MuEwBNoMPKDcYrGlDwNBbpr_x-@zAb+O@Do!CW1;p|Oj70VaW zsj3yM*Pzw#<CZq=%(g3^6vr>@WBDu#AH5~|0ypc^HN3gVel4cfEQNLr9p~o<HSuLA z?HWB_o{a5<UD^FDCaP7;$xQsRh3))XP_LxL7RcXvm4CUGK1JG4*?`;fDv%&(v5Z_2 zZO5{e&ab8i!4|By<sL3%uTpnm>pheTS_4vy;K}Cp)ZmN2n1_n1zfyXA8;k3umwcyh zNMWJ-Qhi3&b`IZpdQS7ZcMPmhOxD*BfqzzC^6^-I{#C((o_t#4_zLy~{*CGo)x;vv zd53%Q)cFG!KE}^@3yT}#&l$+y#g%$inLT6Q*=Zx`gWC+s-lU-bK;kw$(aEyY=%Mjt z>RaM}o^+8e2l4v-^~(*51g^XdD^aZP%hQGJr)x^w@f5I!S%4&7+-HF3=$<6^P8xsa zYv-*8whd6bl%dbhz80~a_1f(EzU7tB-h_k_X(xp1^T|KYp5+=kVJbqF*5=EMG_{<G zrUgS9YAW6wZqA53YMVVT-!N!#jvsEj<Tsi6HI_w}ozdo8xKO3Sv4;4en=du(>4@m% zr`kB#FLLe`51Im$t(v*Oi+BH93$89sCI0o_bJmKZvl7{d(;_i+n;1`S5*H;2%WjzM z+9jW;BvTqeO=(X~E3~%1>LlwW^bcdzBZmWstFc}7VzyS!mR0{nWwvdbM?-Qa2Rf3s zK6;m$vIqC&O4d71lRoc_*sP!Z(A~0IFxQ`D9WKU@sy`04p|XpGQF|VT_K9>K7Z?Jj z>#l6ojI+MktZxM}rz^GjIiDZGR!GgI`?BBR$;iov1_*rcZL(QI>LPqPDC<caLwt8Q z&_dDEY)6!Mu6|L?E8(_yBd8|##!zXM777K=o7bwmV4RZ%h;HRmUNtcmFPWcLs-?9I zGx}d_11m!lsXoI~>qKl6zu<CymU}H*^&DipD{&QUw^Sf#;0e-aFzBQ8RqmJJ9>oVB zNxgF_SW{=wi1-S_1vzH0kBOgYi_XMB5FQTq7E)SMJ~XmMOC?ut0*Vt?j6p|HmH^fy zIBI}7V|DZYB&2c<Z%)k?7YC+_4Tw+Qt!iO)TFimth>OT1$CH}3*B|lgw6fCPQ@#>L zJ7vq4d%9+y;;WBS!rfE$uCjMT$VpWk9HOtY8drQk{i5$g;Aof{AfY?VoFMhmsmh(L zGN<X;tFK95yLUnkU>E8o`iun^1N|rN*+YR2ETO!a!;3?7sA<umIJKH)c6;|kEnVHY zPBJh{s+i?3uQ7S;;gJ%^)=!-Mu@TbS1_(6x`jV{syOzl+Un^DG&H+Q!x*FZub3&m& z2E*|XwsC8CCi|}jwXdhKn<8y*cmXCt{`Nz}Hp-0n2?A^`vVKs}tHYR7085bia=bB# zkoM#gjC50?tXZ{;xyg)z{D{AbB%pk@f_J13tXYz&tU24T0F8zP&r`6S=O8)8Ao9f1 z?h}!~_Q?W)d0B%Cu>apPYY!FLY}ek<gFv4gpvZXMKf%Ful>9NO@5CG^q#|}L{`KwR zznehA_~q@J=<gc|5Ej?Ep)r%W<D}Sp+K?%_GzKT}w@&Ums(Lf^FVd6B&)SrwRfqn$ z25i?Ks4LS5EH(n382-9)U4!KLlC}z>wTNoy3m&y`p?c?SVtK57EvPpVCq4xfHm6UB zTnxFHvg^AeD5LKR?tgs>8YEv5Eh8&on81PPq%TBmc<9u;Q{{e(hpINtitYlI=M^LM z)7vdPvysOI(W@<Ok$<fhnTNH?K_l{t?M;o>=4=Z4evbRCbSa3k!xLP^EAm!>4^^au zi=FJnys#pd_lx6({6SR2ea2#kUj@zWVnn5s|3#^{{$A1#1-rG2B4-+Cd?2!45LZc# z(dBKbX{ya_7?ZBp?Sxx|OVin-8fnYbHtvsYx6ac7oo@e>HdhFo&S>|>N-U~>?hw0l z*q`#T1=T&>4wg+XSR10nSwiKVAHllNtLvVZUoIXmcZf>H%ohE*GFdjQ6Mi;+$o9_r zItioWC`(w^V4rmWFlN04$5Y~f<MoTOGLnOD??;&X8@I}3VUEsZQor>U_-6II<pK%> zRf#=&z2zd^mV3q+GAU{}^Uy!H8i3HNP<K}=dmY;>Tls3*!16n8FrD;^3?su~qkAoZ zt+aa$o821*F(i01lITyqr2B~4v{{325WuUsEy5Xn!dQqMaXa=?0jrtU3)gbHEV%iS zn;H57WxXO#p9peWf0vQb(3YHheB0LXuJg(HE01J9RAPOVhSrxX@RhB^+iqYmFlnZp z&ioB%c~?{Tl<uY-(J5&e%f!(Li(0cab3rFW%-6KD+>eg$35u9F#gXjgwG^{a?3hzH z_M8-O_Xc`9{gr4CagR?)tRH|;=R2d-Ln0>II8E>JM8T|vMi7<+<32;+y7>D(U@W#E z(nW+(Q_Yz5gidTLcMDr7EPQs&7Q0=;pDLD4_+W-t^BvU+1Zj3^^60-mdT4r;F*c%T zJ!DY>0d2C17$Ivy`}9LVXJ)rLRwh1Q-NWCb>iJ%iCb|1kdk!-N$Ti)CBl~sDcgime zhJ#eipp47dF9+QHT!AR#q9Er$0Eu{py9Noqkz|PFKB_L)ROH9C)?b+A3k4{wEmtUp z6|ku+T<`~i=|+uj=c@}UHT}GefFj#9XYRSWJ;9)P%Xyv^im;}BvXSYu*nJ!=HXn1V ziBy4zySxYF)-dkL>MBo9-|(T0fQyQoYqp6ZKmCC;jD%)s7W%h3j@rw9E|a3JO9LK{ zC|%qh4%~&Nn@r;ZsY)0UXi^uAC~Z0E@Ad|9D$=NXnT9A8I-NiM+HlqK0d_0ZBi*@s zIzMOUAjYx`2RfS=H>1<3jw?fx8%7A&^}i-<)}GEjDGIZqtFn8%FhM+j9c$Z|B3Q6W z$OI$oUjA8U0TP2dngC;B8)SEHv`5ODG^_eTN$NXdmMC+yVssB^munRV54Q@C?QU0b z$7MZoL}d{Ji8io}py`2=#DJ}3SnxA%t!f~4ejaxqylN`vi@K&;#P=tle6Vppkw&)! zkF(pl(+haF<tShYRO|A*8$C6lLxUpGY=N6_tE(&rj>1~!35G<KezZjg1o!3`nxLaN zEwW+S_n_{RsyGwo29@l0dZExf6_3j1tGbA@pKgrRyIYIDTkM81O*a{S5>*;6cpL<9 zT`M3_x{ztAu_Au%K~6iiXMVSti)yjPpjeUZYIivy?4~&JjKkh7iX~SxkLNl!Q*Iz? zx`3?JyX*?Bz6f-u?{8K9ep1$^C7RXB#T1Ao?D9c|NJZT!Elg}oXnhz#sLmeuwb;3W zDyzTje<zSZSm9xMhz?@-k8@h@0e-d&?hFc$9q23B(#+@;wM7yhg|psoLh13>>}zV{ z*lA^xrdr{m<0nQFcgC)+@&2Al25WC9E0*j}`(x~r3>5iBk=Rvn-$M&ONKtR*h>f#j zKf8IY|L0u%;02qyD(G&=7nnLIYOG5PWtUzoQMCStA*jk?<$%^i{0-8dcJ{J4DHiHv z^NU{>lOx~LhlU6*IDir=ob8Qpow~__CI<JU@Rq53pp-H1o1{zofG1ppu6S1p*9j>= z3HutG*XjxK&Gzz*V+(Vye=4ya5Xg*-<E$auf^FXmPT;(qNk_obp6pF`E5s4hU<<5P z&#jm;uh(2rqro+;9_}Am@lAk%*-QHyMAT-+NPBlZRr<Fsd{I*<*U$vW*%eAhuY9TT z=D8aGu=}#e>pJl_)3WGC3tT_vXFjAn95s{y0=j(%n~Q1>rG5#e^h4!tZH^+J_QX9i z788mLk%z)J%z~Jy&pYtM3}pXB1sk6roKwotyFC(-S#gA_`xaWj1CoEo>`MSv2nC8| z=r<-;KM0%AaFZpz`@<XZW*ZC2s6m^_7fA6&B4}9mc1-fw+FIe0>rFKjbwY>wt}XT6 zawUd>FU%7|*L<T~&WQ2IJR{|Q9xG)2dr2;^q~n+7_p|LC)W*QzM#1XckL#f(gIK%X zJe|W)TU&+3`0wRPG)MOu?%85>6+6QyBwW@E^)#0&l-@3P!c%yM<9PqMd^7Ko#ruKt zBE50e86MUbitT!w9%4s%f@nFD)8$9FZ>{0;ODKbgtu%U@`1R+Kn{B4*SpCE%R|b24 zan1w&%k9k;k$6)RhWx533k{JB;UX4$^x!WKW>$FPk&eS;1ANsl!)VU>hrcGx*CS?3 z{8T&JE~ip^&50FB|N216r4sX9fXD89y@^5(vcYXxA%&~_+9(l&tz_o+RQuPQE6YAr zR^50FWqnE`xGUi1m{?M34rHPL8mUC>irIgTs9eExz&wPmN~J7my4{&`9EZ`?3GD{D zQ)i+mhkQ0?f<ry~B|n#0AqpI+>c&DsD}B|1pQ8k8v(b_B&38>r!cb_*H;0?jHvhJH zU{zp$A5qvz${vDpmrkLgsl%9_r<PA}=g3eqf>!Bdf;Nffyp&og*UxZmW;A!%W=7ns zx1hjR8&!A?l|NqY;Wq7``Me_vaZ45Gel3&WE=M8DD2g6n6ZH4s<RMhtF%!!vFL+>{ z)!{EN@bdFQ_<uW^`x!~aB+r*xqr}ZY;*Ycln)n&!8O25o^lacZyy=*fv2|b;UZzTL zr%G@{R{D-2`XdO*2<0reOIooxercVT6ua8pPbTHljZ~b=7|8rfdDX|B;`EURJn1Fy z6lc~aJqY&S0hAZ7j$YwDr<rFfTQ$jbXu9PHxc6UzLJ6+G`Fn$Dg4Z52cyPq|zzyn; zqXm7`$&v(kwIK!D<PpItci&u6ehsqoBckDv=4K#enxhd8U--|%Ger&aE!F;bIAv2S z6TZlRPXimnjAh3d>%$q5Tf`d|mLK)J69~+05u<Ql%XdGmIpcjxzPWnl9RKe@v~y^^ zH}Mgle(I{WDkcK{zXuQ?-R{njNK1m)G{{$2@SlwPG8X!|MhuBuO{Z;GN!DD=MNwex z$k>sjy)FKRL}7h?*LC=nUU{lWTp$Ced3zFP2PplW8-f9z4hMbjFhf}nXTzp_YDsHN zzXMXVUPtX%C`agG4STSDHeA_$>ydq%maBK3BLVA%87Gd~{l%Q~1gdHAViJ^zy`t7W z*`??z`oI`!-_%?GU2>CAEXi$Fj&J6ZO7WKyM(){}rcLoz?<|CCN^K-$VWajhlbEk$ zFsa|tTxYx4oTc^Qg^Vs9OF|7+rDjRBnb&xyZ6sceW5w+y)Pw`U0i)u{B4P*4GRs|B zk54F<{S5wNoAxHAub|qcx_-<gc&`j0?>)??Zi{w`EgQB<m60SG-KRyF+duT`6lTsG zA%02G4G$;-J2YIH*bMfsNd(nW<et5Dzn<DZ|4-W33JBc1cE7IqrO_&EhjUkPFRGUu zna-{gL7vq9NRs36-<zz`KH2tP?k*r-nCoWmJ!7#=PL>Tu|6;hOEOck@^2>O?e}J){ z3v)x1ON@vcW7Er`^G`(Ymgm@JQ(A&XX|PEyK;UY7?j;;4J|!?eI7#_f`X=Ph<R<5@ z?UgBwjhVc97pul>qrr$}jy8w}9Y$@ctL9<OgVVHgD1Y=P*XMqvGZ-6V%4mtcadL1# z$(hT9GvLyXhb%DQ*03N!rRv8{i`nQjXZB2nFsri@ljIC}tq@NK|IOMfIF|V|7Us)J zL)mcnZkbU@HR6Ew%W#O<>6q&AHE2|cO6#qdm3|DF5{)Q(2~wUPzmDH^%v)dHA*zBI zXNGG!s`(mQewWprJr@-!ou4)Xzf>P4aC>#wPg|Tng1OGB-4}O0BgEa;|B0yuU!LYB z&ag>(nl5T^oF@w~037u1TQ@871hj1f(dsC<7Af5a$$`v{K{jB_{M-;fn;z<gzc@*o zc+lWegKX?p>$iW-ePUs%rQsQ2ufo{OtC~Ju*9I8m{pgY!7Us%jU}|K(ZytWj3qO;! zdZ-l?nx;eidx38%p~#gLY%bO%Yx^^vy<0FX#Gm(WH|W2PVH@WnSy-GeXuzcszgWfC zZ*$9kxHYJ7ZFujSMZfv}AMGXNNAbCMtjBE1AAde~m{Pw#f??X%XOo?I2{F{`Xt^_G zzs%d+g^uz_r2PQ8E;|KaXb2@PK%5*gznspwcc|3sR5&iKlh`iL!KA{TA~_+uiHJRI zgrq+M7sT&@Z<WDvQ-mX>4kFj>8MtCP0rsp|$+Ki}KFY@C8^WJ87vipWcwXpwGH?og zjSN@jNVUK8q}zJ3@|>Gnug;Kbk7<LZ{|qEZp&PPOn>(7>l?`iFW6q*G_)4~LB4~*F za=iE<RcWIyuj$^qUy^FOC9uL`X_{PYABS!{<W3ZD%P1SSx{A`<xs_00q)I3T9W*<D zG0_Zl;_9dm_d>^brE$(alR8uT4}I)Gd`K{GboH~EYkF2rz9c5wddi>c^N;V{u39bT zOmq7l$T4=AHwjf8H1dJcu?+?_his{a?(6sZ`6&pIJytGm?|+meCMJ(YHia_&J@J-3 zyUzRKM%z*1Kx>?@p*oe*!f;%-OEhw+^d*oi-2*eET`%{02o+mu`)|qfA4bM8{w6oc z^M`^BA>W4syyE8guTr-3JiV>GrEFkRp0OTTB<pf|dl)R&4KuhOu(o*-1ZiEXRPnAs z3>uq03By%-mW#Ya%R0TCFWX!}NxOQgOqa3$osI#||3`6&`vW)?4fqFJ@FYlEPax2J z4;aJ8d-jk#CZJ4+HXIN#spRU|W@qP3tOV=ZbS;1njZscL8`!rQ)SVGgF4B6RnZRn5 z{NVadSi5tT*gQCO?H!dE8`TPKtMsXBaITs9o2-Vapf)+KomS35^meIj)Cs*VkF7w9 zN3Fy**?Zb^*@B<D@urH?f17`&1PL@w@?_g{z_W!OiJ`jPN}34g>!7V7eGl0ZP6SBf z&u~?)UlQsasMr@@re!>=8@m?G;I&RPG#@$HVig_Zv)!k3m|J{>)-blVeIu)>Bx7IF z7LT_9^-jg-PwOqI$^X7m>Y)>vcSx{KBN}RRpGJmc7Rf@(OIj2=T33Xb%Ekjw&RF^$ z6AgHn^YM~T;U<s$9mb+~J&+{iO=Gah$vY8-ZXuE4@M7lQhK-ftHN~I+yKZvg*(+Vm zYzoes&k5~5qo2aYi4H_YfLd*^ldP=9(Y4}lt<;^(cYSGPt&>{f0}&~sN<k=N=H7BA z9?WW~13}0~IAf&^t=T-KjuKQE3v1;jo#v{EKd`|+wzV5-7{1hs4;q$E3IMk{7;v`8 z;wCsy%+v^QPib~tU;+s8LPFobNjDJd4Jw~EwIHD-CZz}EfqG+s(b~d!jc5*^(;e+S z16NlYR&H*7^O-I`W(*h}<H{PXqhHsIx3d#aARN!>iGT9(8e5~^RQG8~>zyjHD;i4U z(QM5cTR*My*Thbaw>CY$FRRu-90Q^vJV^|&N}|JAcNpdjIe9$uL3Oz!ocAg7{@zCC zfc|3!BuA2?ZqSeVB<?KwK$|qqvQ^E?S@v}=i|1iksSeAdO^7kp|D)(U+}V8FFs#*9 zTU52BX0)|q)uvWkCAOmWs#+yBu|t<FR8(xL_J|#^H?g;<#EwyW6Z7}w`ww#DNZ#kY z@8`PC6S7t+$M>gxEW0KC{>%LDyZV7bxmQKEZDYA9`1!2ZFPOJ&hvq;{TKHdoPG3S? z$&ItF<`(`ge~&hh9-kWu=I=cyTsQYF3ue%ao<YBs?(zTtC!UWl7&y><khoXSz-w9P zz1e#18o?jf&@WYr{+92*`~^zm+TJ*inJ05{VkdFJEt4umgNwL*Hi9$2)g<GOTx68- zquZE4vF~5xLfp@%x>5spO?%=>ZCseFhg6Q9tY4@nNb9bkVi>QP&4CjCIAV-?&1icu z`N$6~)uz<a!J{YDt^>a_pv9w?a!cuoT~p;^5(gl=mLNN==Jp~YzFoKzZTLuY8N>Cm zq*2`K&_~La)l0UoqjUJvz-U!*aFaRL_kC*v1n0Ed{+W&7%+77lVUgrD#pmtIanhYg zm`Md>?_dL?ZW;wS{A7EU>`(e)N3DwF*xTi0Voe)n19Nv7ZYjM<&@mTF8ITaY?a}1R zToJivPN6r^sNl&mP-5_SoJF!($=Pw9@t9h9zF(V5oFYxoC;%&xH|_YRVyk>sV8F6D z_Tw;{#Fl<>07B($=k`i`47G1e;{MlMID-a^3SMpi;Rd9Aw?MOo=DKEy^|K|v;99}` z<(C6XD|dBgVfhVC>0!W~!{=r<m#VrePZ*4r^yB=U|M9_V_6H}zdJ&p+?C}_J7-9Gk zIMKg^$u_sXgZ11_6(iUqC3SQ@sdOvvob^sIfw}A{G4Vn{`@rWGpSy_1i(~SMV<ePM zHKu)Zd)rzjyOm#C&nSouRk7!i&f>Onn7e@9XZj~bIsN;P!|1g50i_oOw)%yLm_VaA z=T=dqcNu3Yo9}6{@Mk?`7*%8??|Pj1ogdWLNMv<Mw21G*B;H)WmO0tfG1^*g@Y9Bv z%b%2qJ#98$X;&t72jnTcFyqFX6Vf;v_I*c|RYuWqtFOQIvc=82x2&wuaPc3<A;T~I zZeI%zxy`{#MJsy<m_zh!B}lR#E^kddMy^jtuW4bv`FdiQ@<Lob88d0HcCd38>gQa3 zNYXfcI^SsavCs(`3|#+BRL$#W_mlVHH+5TcBWDHHH0=GMmS{`SY^eVzsPVlVa2(j1 zJdM;8x_9Y4HfEsWij_)SHJVl7xHg;m<EyaL`D!UyVEOiw^iknUsj|dC*S&K>`)QQh z3plf1okrT0d}!*QjYJ7JhC`BuCGMvWZyW1|nNWpJ>IRgg2a}Q0q(I;qPHz65l<i@t zwyi%N4BT97!O7_EUG|Ne;Aene$ZvwyaP?kS1=~9=vi)D2uC>_Ttn!vLErXfDPxw+N zRhd*-b4dNX8?Bfocf(itmt2yM!V|K;(evahhyvC~F;wDl-uz#F2hqmE+Bb}5fPl4J zr~GiIM&9hRc$K0Yn~!Tj{v;6}ijO8)G#Iqkp|;Uij3#?$Tqjp$e!CRL7P1wFP*iE% ze(yiUMuA}!GzU(P%_c89M}CP-tkEVKW_^Ao(l=^uCaTI2{($Xg^B0{#D5LBY@b6r( z4QS1r&LQ(>_Mge_gyW>f9Gv=tAlC*xN0VEx(w3Ymx3{DQCEuadot0`T2`x<m_g6#+ z2}j1wgD=i1;%n<;5{3db_o*cOpY&8TRF(BWDUd$($IGvLam?~|Ac7f9I4VN0WF<x= zvEL4ub1HUZ#o?<EDeGCpjEGxF;^Vpddx2*g^kWCbeC16)D{5B2s4vYh96Z$IvbI>7 z2+iy1f9Ak(MR>ZSWKPsy*tDckd=*ZBJE+ccDTK)Z&)|Ot+fps=?Neb97TW#Hps#6= zLC8~iK%+NRU0n0Yo7GxvTG>}xzyHXd1)yKDKA`r=U?N66sB_T=Ax0NG2l@WM`9Oc5 z4IVRO!?ZorL)31;41s)Bg}#oPgP~%z5x<h9dfL`gw#&qISTAZ!;T~5a;Gt^~-y+<2 z`>DZxrCitUj`iERIZVqUHpcGJ_nF0Nq&lePr*Xe4^V@v4PeHp3=Tp@C>Pllf;vv^V z-=wVBcW+$k7fObdBG*J2I(7YCmtBZC%&}zZL?r)CPD*2BRuC@Kbx7)2C~XuHtD!m} zg#eV@%pUM%G>r)fJXn8jD^H+1Mz?8)w786MWWEno5NPqH3vXjn+Z3PwZX%zjHtVq8 zANS?&DmuE91(`|R=FzS++px01M_T#Z@>f@twiB^lAv-E_CL%BRaSjL(3!}5a>NPtG zMKjystzGv!ajYF$4LR>kWIYur#XPYsPsN{B9GEQB7oI5w)8sc<j*FjZ1iQ}7dF;W< z|2fj`Wo|#JHn>QxicuB;b9ef4RV?s!r7wF3G$sS<`p~t7E8(7^<5|Q-cjWrRE_VkO zm`j$A3u&!@ZBQU1=1sk?M<-|7#F6o*N5~%^o_vRLPCQa1FJ15#?&iy{BE~^-O0fs6 z?_XvGoKGD5%7e-+ym5gfyBH^b;rvALhkS;#&f0>6Gadao=#P%eY_gOh3K4RI|Bc;y zFLrSchPE;~r^O|zUuB8&CR=AXJW}el6o}{<CcA#Jl+ne@K9Br!a7<y1k{}=PD%|!$ zG$|tnqnvuZtgy9gw*x=dOb9F?mgwJauQ<;ld@!=!H=8Kl)W)kP*esK1seK832^pAQ zflgP+dHc=9fUI0qu)Y6$V*-QoOvgk_Xk+`FD{Uan{=3mRO$ZeX(1nmZvmDP@YR=t% zf@VVG*G~b9emj$Yk1SrAzvs{_HnLhi@eCHyw`F#9EdTp>)6nZw6czg`P-h=wglOk+ z71GK*e8glw*E{4`_D$h4wRQ*A?Ju%Xq=RME=9yI`Chn+AOQBLfBel4Z&uz+J?B=zp zTkn>(i6BYC(%?X;>gtBAl)OtZP`vYbMMG}c(f9F^CZ@~To0&37>`RZLi(cDD=;rje zdO#gk`sr%4n?KVTVsmk>aPPZDyiRR{LCTP&H~>KQX1pxO-%v5<dL|M7^y&_yf!O^) z(aYuY==)mFnPLl%0KY0otyt-MD{ITgW%B!_(KS;v?kw`=jmaX`rMm~fvi4mZaK6h; z<Iwmlk=Ymbx{Va1X)nIi-9P&Iw<Af%I^+G8!E3k1vDFH1#X!l$OrpvW2|Z>I&L^^n zPsDf<v56hq^qX(@y%b!G>0a|S3Vv8EyA)}uiPwf0--_&fRlak#bRz%-mCG>`>1?Ro zjcG4VeS;auC2Y(04N*$K#o-(r3o-W=NbJ9*<4p3uzK9OUV0sJbLh*=Qj#!$%6lf9r zjXj0aj<yFD``Y&!)v-A>F8<30co3Yu$7mX|-BU6-jZ||-jSe_u-fpRM;Y73(WNOcd z`Xt8~$|?&S6>Oc~>$CbS3XG|8)9>x){f~@gl2mgg9*pZv(2p(YUnuO=F{?TS!@$HE z%Pn)=p`FRT@&PTVPJIxnqSwZ5`ciQ0*s!s@RyoD#<|+9K`-t^H*^B+PFPW`DJm^Y9 zKuC<L>U;Se?8kcyyO@JA&AlhD5Lu<e1toJ9(`s9?JFHbC@3-t;NDHj`Ev{PLXWB@O zQLEc5%?)&LQaB;4%{cWubld_p%l~ai@?nHtW-6NQAAr6k)Y*b{P{jP^O<v8crUUmb zh`&#V9CwGmtapm1s$>%Wr1#KiH#!sPh0UO;s;!Kf+qi9;_-#vy;d*^rt0yPN);Dw( zvefL!H)~4p2`nX@S<g-7S!Tgh;HQ0b-jy+zhBpXMCfCr!7aIebevX#?aE-M-UAG%2 zr=|Edc^-6AeFQ>tq%ZqcFlF%Z`gy{D)#YoVRX(wL*zMvc#oUFIt;++YPaD^q;0y6_ z>^oR?hl|}xg+)TK1<q9SMOR&{;9o|@vKJ!|%~zXC)XS2z-Tf=c&*q1uvtLi_UOpxG zl~ngIFV`O6ok*>uc=MqsKbM1h><}wSAc%dPXb7KaqmQ-aJT7rE_-7MM%ANLfeI_ax z)YnEhBeM_U+N=-?!Y4&Xynx&y9P%($6qYT;y7_~cxQE3Z;MBvj_0LqTVwyI6+L>~u zBoCk!#x|{*%NaCza_jQ!n<pns!n*Tfu$7~o;NC)>v-!ouh<UAjM-)M9n5B#<Ti)P# z{D}9a1;P3cY07vTeS%~(xN(rZE2&|RKPY3ZCAzbPU0S<K$NS)`IIOc2ExztGbXNIV zYNs&P8TG`qbV3!7Vm-es-ySD^6+%(J1%W-mVos{keLbR6at%|#i%=ICZ!m8XN2FWP ze`Hz-zvcvt*tWy7d(uDbZ(e(9?hlCgrh?EDV%mb>p1)6{o{92q$p1bnS~VDnu~=;` z=B$ZxgV0n1O?qnMRE7@mY%u%j%Xg7WLk`cQU+TqbWbIl62NcbjgI4BAsWpy{t8u-5 zCXEKM2cT6Dhb_m=Di5fd4#@qt<-L6J{&vkF3TX<Y*~D?GOmRQ~b3dLb?xJfbC<6s* zJt?W@o9*rNc1GE3NB>9m^$PrAqqj_)5B9qnh@p@rh~*p!^6B+eBdxrK!zCYPmxGgg zA$+HA$j=QSWq+BQ0Mc1(jnNTNLhpq!2c>deE5XtJIU=C{$N)>66cZx**Fg!J8Gupe zAPh^AtH7TFyn?Ruxq-VFS~0VtrFH_*E+lL*`z7wF?BmR9l;UEq!F(6oq~pQlC&nqc z)?&0ji$C~P`#`3BA}^X~$St03e}A2gUhItBj?eq9(-rmz`A7s2ja*W{vxg2}_6_=M zClk4rL82{p2deFT^NsB5H*y}q<A&Zv&XmBufR5=l*q&rf+fsK1doy~sTr?FU_KzFA zEy$Z;sRJlxE|}+~@$kW*($6DddB!&G@U6W1@ET{ACw~Imhe^J-PHiq@!a>+&;IohJ zF>l(gAw$<gyC>l;W$ZIG2lV{;2iK^k{ad~Akr#B{>%`CdQxxAbhmv9+UuA6zcxm1j zhtqP5s~^-Ze7n1A{vTP};9GF)eO#wCUM$Qjwf@U17N~TY)YYHWSQGTvV*I^l=|(j> zFMSpI8g@hd;e!sY5ULC_&qAF{Ge8TH>esNr9yFSE^Exn3^|8a-CwFw>;VN?AM*V;* zdBq3VumUfF!q=lx$;BL8;MdgmDJqZNG2i^AE}?LxkHr}e=W%%Svi!t&B}Jp}x1OG2 zWT!YkqqF|$#fmwNz9pz-Y)mtWbDGA`C?wc!7)ZtnG$=P@%9!yi`Vk^Ggf2;;k-Nt! z7!FNO?%5BK&(yvM_ZC`VZ5l`E*OA{;)TzU2?gS;5+J~4{OIu}Gr-VTh`g#MLxpuT> z8)8Ibva!{OC1L3gA>L@<M!+PcHnaMYj6>oUJjX4qBqnKgOD;H9-I-&|lC`FfJx-aW zf|0;|vkt6VIm)8XGfhAD5l!XoViwrS;-)aXt^)&YKa@;7bdh3|J)Z<uJ2xOy?~M6G z+xsBtB{rEL8=XreyDK7}|C32$^&!2q=+IotY>}O~Y0_kp%LcW{1SuCDezI-e`Y2e< ziC!9(8v40Xl~gKdFA*x@(s_;;%xjKi0OoV2eb9ZwKU~%CI@{w%9{L}dRI!^yPB_OJ z^-me5z{mWWO;Il0w_k~ZXE}1^Gb+_MIwR}OCcL|xOg0~Zn3V2cudx)KxdoSbn(c<8 zOpE>4FIXx_tqe#Hp<sj8xlxI$ayl-^$+<_CCfMXCfmaNox2pE<pKCg2&Bp=nuNgFI z`Hu>$*IY3AB#O_m+CSCLc!8i%cC8i>`TOx3)Lg0gbLQF%wRX{<R?7KHFyrEk50`sD zl_PG(EU>uRW<l5DWu)?r`o|L!HQ1zDQnn@9Gv?AR6>{eWwAn6z1Rif+m<#WH_j`Bs zRnIos{>ImZ$p&!fW8l?xN1m^^vI@@V@7t1!HF$rk{I6vPdLv@nvt|F|E_<Fnevjxl z-`VZtZ+WvF(sD5UOryAMP$Hvl$4_6Wye=70ge~xQ8r!ZO1+An^Eg>bwSz|{zvG^od z*rW8$eL}A46ALfORh!W6d)L57w%NW9A}4mo>?w&l=y)Cd(DCv6H+Id%)(`0zW+Uu9 z#%06vchc<gjH$dg7<RTyFD5PaXoU5X=~bpyE%i225JLxykyZ2u2NE%Z`aKgRhI|^< zv!oVbYR1>#Cd22S4YU`H@GIOCDUd~d-${05ZA(S{<GVHpmgffeZ>rmw2afq(kLw&) zCKLO6&in=qVT+2Cf<d-C!uT{S<j0}F66VFuMm|NZX-~E7`ygGFZvXo_aFrnuu1NiF zOPU3eqDL$?lld_Y^ZhZ(G0MFZa!tUy+{VlU_y*VCt4IuskLCe_keLhCLZZZfq)eo$ zmLuA^;EE0X&*G=zhmQ(T=1Q9Nm4pGE!>`>?Qf7Zrchlg2-Ijaj@atSbW8TiZrx3;J zYAK|yTB$FaUel|uA=Ukp`_!)P8$X%s1|dY{jaCH--rJ!cBeK4){Ipe)v%Ppn{rE+7 zR03a0q>t8^sBZjB>9y9D%Au$b<7O8f#7pj9u61m_@>vCO)Ev;oG|iS-zX+GMpzQvk ztPopq&J?S%ck~KY9b4}lnH<gYe_qV+oj^hDr>4|;rhhHob<+QvcVi>L|0lh*!wgO6 zCW5Cg?9e^)b+6ectk0(^25kU?RfB&j8!J#otFUZXZ#QU;F2H=0vvxc?Lz-Q;N#B>l zFq;_FN;~r#y5Aw{A<{_W*xj)A<R|T8-V9rX#%XT-lPAFNpq|6v>i(NW1AVRD?B0&_ zDmb=!NqPcnF=}7?+Z4!mczWjr?90lYho+~YiAUSBncU!pI1{DW&maLbSH<2h(OJ`^ zvd2Ro@7)Rp9%WJo8l(37`>mla?DpN$j|J~g1Z(VDsQM<-_pgfHo^Ra>zAyWCwUSnY zF}1+?N>d}ty;~KqlH<EHZ`n9~lG|t~ZAM*`@psp>m&#+VIH_HT&F5@tP+P2AG08Z~ zR`!XMH1a<(>OhMrSy9dgKe#!FtxxCLdER8`!*Y$7KJBqxx~xAW?Gt|pKE|;bRa6}p zw7bHN^ewThZvR^Zt*6XIXxNgSSp)vmyHZ}7jbEw*o@WjwyBXcK`r;3vyH8V?FH$i! zK;_BE*x+eo!8dMbNYV(&*xWiC4Zt>aFn*kExKYQ>lIgg%vm*ovAW1zG>@~IppK=yW zsIH1Mf))kXI>+CDPkNE7KWQIfxJXaCFIddCW~TLK3RQa6smEpy2l;FHe+S<^Dh&+& z>`QJ^R~s{+lI3<FvLiJtCD(F)v%2L`SLwfzInY5#>x%!vQ4t_C+mr{-RQZQMcE5XH zB7}Mr&nHiY$1o0x?Cb^zuDPSrVt}&=@Qo<$bho(6I<v#t5wX!hBcj%8cn9UZUpzNh zJw!K+O}f+F7b&@Bn-`N-A}@>b*DVt5vunQPX@H)w-^u`n3qaV#%8RSRif`x*XansZ zU!|@({Om()WmPqJT$a!@>0vMF^5<@|S(_T@x5C*EdNJ-6B{lO6F}&=S{KuAyU7&qH zhkC`h^VGmM=7>8FZw$>H3m4!=5>+Aco)gzh)siB;cO6Jh<<ryBRCVI?5+xt4BOIt4 zv9imHuw{(_{|+5vlgs|uPX+W|E0!EFkjPp{vTC%u0O8ns`?hi2)q!Qkj2ksCcbbLf zjD5f1He3ZEdVL8uf`L0nEm8B1jRqv9m&(pvN@;0*%hH#(-Jb&JD<_>eY7SB)9_=az zFKc?CGuRtOtG!SuSe$0z%3Gc5_hj9|6Gw&PS*p$X*~X@L#}E?<Qa@|?RgJre$2&0x zN+-M6ER6qN8MW`Y!QM(EqRQo=neCU4Z`jl}0wwpmpWC0voH2R}v%~P$d5B_<?7o1Y zxTPrYrbt{)#LDGw;Y|~RsU_^htr>iM+HslK-brmeCPBPPkcNRGe%D;!suQQ2G4;sI zNogT|!{0#5(4SQe*wOslF^?lgYWREr0Z8}`wg(hei<~S2P?i@;WxF`#PZ&9EtMSN+ zTblMBEebn$&K@LtR$2lEl#ijt^qx|92&cfd$97h7^bP12z6{7*eDKdJTh?T%x@(o9 zAsSru52&d-ii|8JQ28+8zr)E$o;IGUpZmL^F0!iGy-Xd<&dwV&d3^mJiS7^&8$6|A z^<`I><GIh9y`@>>vslKT-hjDdZKLwg&dMlTeU}!&H$^b59|vY<+B%~<V#$q-5+ebV z0e_9N0VZ@(%g1+`f9!{aY(qi;w)HBbG{3gH<%;3WM0L(i3)|dm{4<t2vcknD;ltBa z{bErql@{a@llU=|P~*E(D@k)r4i&c>pTM5RdmQ698Fl(~+KReYu}BY}Ylb>fL$@Oy z;7frNw|j&4RWJ^*5>fJq#1cRLfXGiCag!oqr?{cmC!_chcfx1oHNbylq%c*a5UN;K zr`n|@fSh^r&qy=(#@zk#8sD5+Gz<^CcV>EdF`-4h^}+a<?ULWNF79{gN>EIn=%9AC zZ{+}E_o_kcMMs)pza$%zc<&B&a|ovDd|~}&7+a#apZ^{`X`LK16~sbdq)V)_8->f~ z?U631@QIJKb{O^dvg+`}Nd<tz&y652iEXCCI<@GK7j?mReJ`{d_rS9t_a|V6v&iPP zxY&;^CU7=dRrf`LAG5RlEhj5@r~k-KSY02?Wy#!|S;G8#Ty2^QITDg08E&Xu8=(Jw z{5A#KEJa-@cPAUw4$52?{~lb(p4_d-vjC_CB(#Is=yv5<h>-^aJ&8~6<88c`?f;&S znZ(zuH4Qr9avo~~i<KU7)X1M50op5$@P(rc_)2^c+&!~t1G@Q*2)R%O6&g3ejz%z4 zj$?jdD}pkSo%_RGn+<rPp_1|QNI~Oo-)u-XivjvMZJGc=zV9D>Na&K>oKJ6KOpDs0 ztX=l?<KU_@jgy*6XJz&f?~ULG3B!RRSGg?}xxNq;+#b5GbjHsaFF%Q0Kc7o2=$o@$ z_B7L2RaQEy%J5Vik&YJvEjF0Kbm!&>0|(PS!f)Vf=yh|7%NGdmu55IulHFT<hQl=X zGi>75>P^$L&aTE@y4TMhI1WcGT@N%I(krPx-MP{0>Sze;iSGcgC901vqCYky?LsJa zuua{$EL;5$X2H26u7c@}_;+zNSm(~Ct^H75+^_8buW3R*%VAIcz&YI?;D(|5>|c#> zo|k#A^`_|BH-6$bap>e~<)6O|-h0MRxSRWgmyK(X9(AhAruZzsd#uIDBQA@RV)r1o z$RYc4QE2LzZ$(=}Ca|c*e4KMvC-_n4aC(D(kiuBj{(od0e42`yG2mR&GLGmwtnvxt z#2^Fon1xJiW4_dJPKr`9wX39XW)ns{)rn3l5WmFsLmN^!BN4&G(ZRW>hnFiJI)3c; z+YxR$*TF#p&w06P>FVp#jtj~N8l`fqbYbW4DpMd{?R_Hs2nQkgxcrll2ESDOU~J4% zb^iOI_Z5fc35TXV-U}{kDdSc3DaIp5Gw$mtUHe+`&>TyK92AKwBlXcRmn*JNn_X~g z=e?Hp9`>L`QFJ!wfv@k(#>3=&)<$E5vh|r^;V_}tNc`?c^hCD(C!fQ*_cWW90z@Bz za@HS{UKd95dl!Q<q}OdK;;Kwkhj@qR1LJQo_qKKVp?#~L&og#0-?hi5`bn8G_1wOv znBi->?+RTcC#_M9CdYVp(@VF(^^^lv3gci_M|wmRi2Kp9vx~%WmzSdYHKwVhF=aNe zK>43hZ1e2RSWM(lm)UN$&=b`qHoDn4LO=R$K?V76nL=OFP22}(38}e9MIBWAc)885 zMDyR!Fr}xGK-r6Y2bJp`{~&X|i4>lAbsUMI6bBm5y_X8I4%x?i-$FGBsz{`ko!DHI zZJWhZTnG_^JLz@#O!6{0zIziNFlx!Yvfe9u-!yLSn(QJ`w0+~|eoB<)Pq_}o_6BR_ zFm3-*2QRJ<<MRGt3uWQg)EkEu4%+~vjrFIxGc7rqtkY6UOpwGRWbjSO5?xiugN`SD zGJYG{{^wEet)T&|ISOLoD$x7_)<Mr}_C34Q0&N!fG=^%lhOYfEvprT%TCd_TG3;7w zo~Wg8bk8PQ@qjMKC%{m9Q3z*g0*1kd#z?fouCMVaN7_`Ee0#gm_Klgk<s=3Cig3-} z)`iFTmWfH`|H!6OJF376pDSx?(Z-@7vH6>Zwx1wMQ1+9w3DkPfpqOy4eF*H&G@8s` zf7aRvJ+-y`IYWgIpPt+{=+L&8slG=#Pp~T40sv!MMxhMpQi`r-=80+nz6(9IWC*3N zo+t)Z#%7^%RA8YTsfD$LT6PmU{Oi9mTnK8>HruVu<C^R*oC6K_HikA65VnjQ2QNKn z*3YK~Uo|%X3T@!@wJFE3Lkw2${cl*5k${MFgZ2y55>r~J=4LedlVDG@OStuy=Emi# z+YWa2UjByd4J}n0hA%7QSt9CGb|br|WStA<F5gWEATKNO+gzUPx;Fktww&2lyG!L; zX3|)f?Cf=AF#4&-n!|T4dByXZu5hVfSG*UlDL4ZxF@m!M4$PsbtKKD)4r`2v-;-@% zj*+cne6vQf*B;>)q0Ry|D~B(7wRJL3hrvJOC1!lVU6i@R2;H$c5t6lv`HU<mZMCV! z5SD{#9xI(BB>NQ8B)hqH2OQ@zdf9sNF~$GWsOQJ}=v-x$PJ|MqG3c>IEa?GpI(Ij{ zD@SDJZT8x0w@&Xaf1gVZ^h0xHPJQp;{%YvlOGhx0HxJcV3zuzl7hXObkHjn6?f4E( zMF+nAsqh#1+xDVcl=~U&P*4Ijy5o34Tt-e=28PCNR(-9JWW_9I@TpyBMe`3HDzivD z2}(d_JHR&(wA1Z>goSY=+RYBNwqQMlaAB^a+qA}r8N=T?=8=r6@Z-|Wx9F+~C+D@8 zIi9(fhWGxS{(qFl5L?=GEsO=4CN#k>tQPCE)JU{)wZ73H;7p*vg<J;eW>c~J?X6%) z)zz+szDG3+rmXYltf|OHL0@UM5cgLZv4CQ_$@C+QF=dRaG}(p0@BN&3Q&d;INiQw) z<kud&e#uJhRB2-`nZD1}Ce0#6*5$fcnPR8BP;#U6QUG5_jNJt-{yD|+!C%NFwbvXo zHhaR@N6^BF`uFjAPnqI=;<w-E@d^&gfV;YtcNm>(m#0E}UFi1Ek%G=}%^E&8z-U_9 z_bJy!ofol=d#LoLIoQdg!8Ox5X6;kcxbumhCcRk}B<xf2&*E-jvzE}n4>+I5oRohe z?ZjKwJA`up3ROrvpVz@+ml$tlXnd2)&svK4C?Tt#W4ck#kNa*?{3;J)%Yx=k3rYy{ zWIM48bzTj{N~CB|*I}sBf{e@Fj+Omx8O{FeeYdCM+4bWYruO{@2&_l@-k)AqmgJ8! zf!X3F!k%8D)k2S;q1~IR&i!Dq=V=eZJIG_lkPb>p|K1rG*=Rgh=xp`MH(F=!hl9>i z6u-H5&mTtmB4m06=;c~PewcZ?-J^b&{X1JgOQ<V|1zkl%J5~x#3nAlj+$YNiM2S>} zpItb{%u7y+K~HZV$Xkuo(nOymo;34}m1*`KmRKJcrIEEYyJR#%kmM3sOY0m6dib5Y z9Bu!!8Ob+*PXbaTyiB~&CxxZizMy1ss>9P?rzL0NU~n0O(a!q}wZQe*RB36<N(Rrk zILg^#PTJ6EBaheg524`t!<Fmn7_4`rtvpzHr}45i2J|o3#9!bBMU;!7<yaZLl+D5P zx7$O^-}uu0pBA-hssa1iz~4OgZSnVbBKU@|Cq8O9i_FV#vC<qJ1iU3NhtpUhldH8W ziT;eyii0y_WD2<6>*{IlOd=Cbo61y^uJS9@7+sI7gvzEVfMXo6`L3~6nc`ITH-UWO zenp<c$w|Iy+`G)?c)@62-B;MqI%n!j|J>3M*(7x;A2NG7_GW~<BQZ7~9V07{Kj`er zpXg!c1f-Y+YAYz3Tech7qW4BZRfs6TFXWe2;jTT)A8NjOIXG<*%<ge<8b$xqGCeoI z{1EFEYj9RmO&z#UYJ-cDGwAyLN5<Bj9xexNH55iwgPTZGrY(hn$-0Z!MTDW3huA=l z^Lr`FAnlf1zu<4EsMK_=Iff79jMDtUKOhPT{_u^T%EhY|B32dEf?H5+f^lEJXXURH z<<&6Hyf+TdCaY)P`Zeb1f6k{2C55rpq8A8zMJF|$rm~Xs>oqv#i%OPCYiaI@<MRpc zS6#V_S2Kf$4;pR|&apY_u689OXUH3Djj{<Oa;5DyZ3$4I&kz?a>Hni<Rm$MKhfR!J z!SXSC`8k!YS<-f3jq@PK$As2R{H<V<mK){#6-9pnr*EB}hz%<C#KsEC6DcwGg=esI z+>D=XfpJc4>V782rR=`fLx#Ut4ua1o)q65zLd_$~*W3cF!p8SYw=YGlS5)@;%6s(I zVB<g<?WRo3UWs@FXLYi7QP1y3(-(h_#MiKS$gB<>uxI8($&NTrV1ox;)xnD2pjpM< z@no8Cm-n?s@!?B75_Nbv2=aT3<DJN5DU?PnbjkM<$8FB#g=<K^mdW3wX;PbeeLrU- zZf9+Ed0)>|yyS%<-<`j2^c67MS}}d<nG*kC#kH8~%trU`v3Uw6aC`^WN5(~vvEv;% z=+N4In6%lQD(&;q-x-ukPu6n2L-X*@^;SnUoRa1jiQIBNDRo3VO4hfKt0*(iPGj2O zs*?Pf@aSRr0&I;fj4rkqk9qZ{yARH@=6<G)K07XZtN#cVH+eTF>Kss&7plqu9Vz^e ztXcJVS9f;!$vRi}htK#B%>TVmCHZ?Lh0kkac)X>~PSVPcioGR5Z8D6L8ungN4Akx( zt(!r_O=1FTI1Zo8s`PU$)wXR-S}dQ9?LhxpcfX4CXf2;93Yl?F1Bf`161#9$-HI~z zltaRk<hF^y8oyHeM2|BtBkp(F^2t(h5zzAE+Tb<I8e1lD>W$}3d<g8R=R?Z0(*nCH zqiuHI4`(6WTFS!afFTi+REv#)!Fv7|`iga)32XT%#k9Bm9KP1y7`4qNH;ZZHZ4G80 z?Rnza%d?!3D)C@Z$+`6mC|_vKix@w>iNdRtQXffjSI3NDEmP<aW44^u_(Z^X4Uo01 z5*hb(^Zkq^IxYk=@R#F$3dGOrUAN{VkSzl&)nmtHTPa%IsjrynvW|?#zYOg8OWuAi zcGq*fNkSUdj)(=`y;O4GwS0dPf;1uJLYb9izN1^tt`k@!Y3oC~mu6ma7tmQ;3?S%F z7^FA5BsJ{bATF9JUm1ABQ}DsXlW=3uv6ruoS5y7_p5t0JMdLF%=)^pP(zzb2uz%gv zpyiK;DpPA%d+>8*GK+ES&X}#S0+&>r@2t2cdA6;8ASjRTaJZh?wRi#C-?^n?`ODDb za>YiVEO#y&)BH~um&M*EZ=QIUpQ&|CDwA<%4i!F2!EL$@auMQU-XQN)8&tw&A~>v= z3(0P@XZrtx0nlPAoaK{Bos>*yM3GzF^<!N#ycy19$LR88NOGABgtVJcr!L(dXz{%f zeJp$5JH22qj}IhLrF^%W#_W7@PM8>h<t(eI&|muKJ~T-ss-zdptjH2w`PPRQL;j5? zcl$SB<jk}CTCRT29+q7J_T52p=~NIF(LT2fLAFbH*0(%KJyv|tp*z|xd;<%iGUlo~ zf(ik?n7aq8cwY?Nh_BRklj|!9**(!OVEoFCH!o{q#HEiT6SIE8!`uCkZYY>3Ak{ek zv7(#LKEhylbF3=R#JZB%&b*>WQj}+nRqDy0Onaj6=l3(FZL53|-aGeOAEbRa_{##D zRey)x2Z99pRfXcxe+Un+SU{F$IoiBz%)6zABq|B9xjqP!5^N%^OLYpJ<#BY6GR61- zl44)Kw8ir(lRCa}dZq6>Ng74^6YF&@kH<!!dOlLFv||dTmxF<+7JCCJt~)^kCJf4k z<cApl(^LiO^=meC9O*<v+<wv8o{3a~oPcjRP)7$Ott?xnx{)*i#|Cl8#|rjdfdsJA zsVHg5`T=`+4FC(s%QXBj(sv`{j^DKyEckcLy8kjp6{*imCQ3$E`%eT&t=<M;n{3A{ zcf4q?9f%IlS1Z~Ovh!^^PTr>qFnq-S?#tUl-OoRRt=jQ#LO}~JIY>gZ!n|ps3&FWG ztx~afrp#>ey6OH<QF(VWn9TS>XCUP%P^qq&3v59Hr)v&Xbzatv%c013Vw$fY&gV>H z80J@cUU&2~@?HW-M{7QM-?mz3@HX;Ng1DIYJXmcl=!GxMo5^D-XQXw^)cd&h@INv- zZ=^ZH&Nj_1dlT(^;56IYj~w#iY#riHt^6L*uM<C&;QqaLsJCrOZ`mP4-)LwO?Wi|z z2^G8W<@i|wBr}km?3!?j*NZbyJ`0yt@VWxlr3fX~72bilI=IY3@ZU3o{YgaQss`03 zrL!%<d=pGv6UUj)r>zwDAkvs8^>Q8TbjFNU!7X2>@M65eO`6OMF@=Fv7bD8*))g3} zgLW?F6~gvl+V7U<SK~2<c)pU6nl3iC&`lGZccPbmPHmF2Q(%#_f=NE>4Z26|wsF(m z>W`uexmTCUA<+ByE~aRo$HFv@5`XB={5HUqjWzG0zsv_5iYL1+cnfj#^E%J`!073L zogSDE1k6*Le5HbmfqMVl?RqChDT6tCPSpXQJ9f1g`HM&IGQIr$jlr(G+S&S=7LN+C zabWn5tpDXbaY2!PQnjeUK4P{ax?*2$MoTT>c{dG9Br3btHBWW5r`c&Vn(KI(<}h+( zU)G1Iw25<~rsk9M>yI3=p)5DufTgiZ44)=BLQRcjmp6gDHm+G+W-irsx+-n^F|}yJ z{hmEwcYpQw7){STU$uGjdh=S;MxQEa7MR<VkO&eoBE2B>bJhujn&-31jB7=)HmX0n z{g{CTLYFVzJF=7^r>I#UDkpE6TN|7GtlQnhdg&TTX==P_FlGUAT8z*;l#m0djg3`b zM42XYgwrW6W^z-ko5jYMhZa~JGS(bDgK%e5H>DYCWveSrko>jaj%E(5Y#jHr&G31h z@|f>>Mgs0CWy+w=h~O%mWaG3JYjXC&nQ4P>pTp|#^eg)<L-z%?=qa28lFFIUfg${K zr~3|+Pg)oJ9%ivt=li{5{!=45px{*L>5yEk(*#aAUMM{OLcjap;t(xJ7brcDsP4)# z_Gp|ZNSj@D$~?b2bb{Y8%aA-$x*>(H0$X)P%kTcRwRNee-<tXo?za*By8S%XzkKDH zvK^*>Q^(<y(mxs>uyCXI#gD#Y5o9C#2~s}|bRZ;qRQwbNoK;-u%(@`yiBq7}-tjJQ z<pcLV67SdoHJ<&ZnYG#ItZIE%sXlR#*%+X-G=Ez>p(ORWky`W}i!fX*-|)>E<SqCU z{0l*v3;U5^81zQ*v|?!m%rICs9s@{-D-D#Xi5ciA(sPyKD#LNu0@XcNHMQFfd*wF+ zOhZ3k+>+x{_#om~?~bkwRr1<VmWabO$D;Q<HsF3R_5$47uie^HNIS`n&#qf80;Sty za&=_97i*<k*ouParnti=5~uWuw)%lx8{{lDx|pJ<sIEtW&8q+W@1JvbworM^lGakf zPjq_8+AGTjkFL$Zo!8F;<>T8DMI_IAmR;jw9ZPNOmPT9l4t1+)C$kJP`_O_^aDT6D zi@K#$yx8a#p`spr@v29%dB3NOf+TfzTvKNH1#H&nJ=k`F)1Vw3EGbax%sMC2xF<<# zA8&nuUTsRhbB_lh9h>FgI6kO?`sZE29gz=wF2d2!UG3qq#xjh;9r1!)uKIL?RdC+i z7R@Yoe9AFRhyvBKJpz8#+4Yr9@A4iLv}nFlw$L@XWOPagRA+nZXl-*OhA1Fz>g}cP zhH}c=*m1d<xTKai(*G#8I|~(&nHmEK5`j46cl?aiuLB0?vV3=KUGqcJb;Pi}nDd%* z@6X4rawMbWKz-6d)$roJQaUybv2D*}2C(?#F%UqySuC0g^}0Y>>f`f!`Z=EUcKCbh z&R;S&qH2AjyheF?r0;9X@g>!MJJm{rCTDOCNeX)I>e-yo9&vwH_{`AwG_S)R>MGDQ zqN~v-$^UoZTKp3YPJY;E!ltiErGvMYv{*{9*;iV|TW5eg>h7DOEXI#N2mbEmRh_uz zca%%cv4O%!!_ZQ+#d8~_AKeGbWZG=$UZb2DsgM`d8MbZA$)0J3Jtm-76g54MvCGS- z@6l`GTP+mVoYNZyVFQ^%6N1t|E0+C(SPRwu<v=VMs)?8Si@gFKBWFXuNk;)d8pGPs zUP!d>5a5jLj6hjwQ2j?HY?6Y=rq3^Y<C<U>p)vUV)U&nN#HrZ~uj-8XL0*?X=w%Q> z=_&YS15Gui-1>z=M_-WBd*a=^Na^-M%nyHqsVJ}R@sj0~#TFl?Wm^5kx=>Bd4?%|> z2kyPOpZcDr3=C~m#4&Me0922WO#nak2tkIQHWr{<Ya9+Fn@m#9W+rC1o4!)o5|Ro_ zdr&+cDXq(mSfz++W^uUYX}VB+_h_-!p1fe!LVBrXde#eO|Gv$Y^OuOoONQQcOGU>j zrTi|r?%ml=DL`JGCX>*%xte-ZjxqY62-KH9bqTCXmW`9OCZWNqu3-5%W*vjnLA{l# zn>R0_4O5BP9cX##{U-=Lmk-oG5^wR9*_D++Ht$>r^^<a~(~Oj-!S@d>SuQ#1_T3)# zKVa{Ezvgb@o@(b2QX@Oub}e4F$J#MSRX*_h2Er^Ry?CseCZZ-tc#MB=V($+=eT-dV z<|nC8wY=ImZ%MqpL=BKQ&<D_YNQAbrPi2tuCLJ>lQ~pYaAU{$>Dr~i9Q%k40b2fWh z=$>yLcFVN<05|{4R*STjCK(1FWEV1W*s5gdRdF|i37HSf9lZ?@o7o%i4zS2_r|D16 zVar^9OotG&#n2!aDw)jj@sijY=zca~oUJk;x3g>XjYL2rF-i~;0uAU~O-O!ewjal6 zQPuYSrkaZ>&P7uGGS$Y4shAh143)v2q%S3?N9F3$8CNs_Na5B@e@DBB#G@7}(`jVq zA?f4Jy3NW7o2?AN7$$Z&Vit2?5py}qye9<^n97V<^(P0eSh=AaNCoO?kdKq0H+E>1 zdo0Gzq2J35aHrzBeL`FXtuklZUtj!SF0`JR7k9Fs*iRlEEkv=dV=CspX%aG)groOl zaDo!j?2k&v-|i*;{5f2O&?vx^|2Y+jeqe7>?dyd$X0WPk(3UO@ZZi;uxg!CyA3?et z0^NpVP14oFHE+jNBKz`LVvfU>(gnQoM8yJr-Sn~k2`$#L=<K^-lizH4K!3PIJwN^X z1L~>k2y~Kh7(gtuB?c^}3tiJnZDHx=p9}Elg>sjY2x%FLOETsPUAVl>?5GII&M{b4 zQfx|nCK<8UMM%EAoP_KAYUAw`;SLfNUD@#xo>sJS>np5OauO7c>>ne5d4)=&`KZTL zyh~pRF<@4~*%R+}Kjm*NsVYQ!$@$0bl>|p1e7p^?2d_(7xCc~LOj)Vbqx@64F`0p& zrm;YKKi4~1H=DLTCM_!sQINAmDCFwz6;3uknulhPSPx=|e(}cqoyW7#bNyg4U&o71 z3&EtyN<TgR#q^*P>@xYTMFrB=^}?`EfLTa)h=MYbUn7RT;{;Ka`oUm=-pD{&qWr@} z;}Pj<w`(3H0840eTR#N7tcAj!U*BqLeNlDkb0NOo4773wvrn6=CVtB1<vj&lqZWhs z_Z}b@`qz;zPF%G4vmTN+<vgUeO?Z+w0;uFALNDIIxeuAFUjmnd@BK$cTH4br79m&R z<$aQxkAcb`4l#^nnL+fMhO`*>)i)>MlXMzR(hJ9TnzR@5yYVtI5E$|@#HqlR`O8|_ zn*LyaEn05Ps2U8VhATa#tqu%T5b?U!@3kNbX=A-8Vm5eokUI(_<%Qp7N{juz1;&7s zqUu{m2g#eyCn8O2TfV=qL_w}_#fy7V+KNX=I+b3UgzNzluJyiSCe<-zfVqU9sZuR2 zPp%<D{Fd#TG7WTdY&$ltLstES?`!9B=4_1=_4ZUsQ?W^#+>C|GZt9MNKU42MORNpt zkC^e4;WM5XhO+0JD5$dAyyEK0f&B_KdpHw$FdQ*YgHUBpd6=E`%-d=xSdg!va$<Q; zf5L}q0H=ATk5lEEja597zT`7ChEM6p1a^t?FcXH{ul@dS>xI(X9|?4dM-3vkL_mHn z-Z37vEWtq3;+4zX*!7~##W-|?B5+ER5KE5lEfVVrtVw<_E!--;j7ypK1$9x1u4Ea= zbW7RFb*Tmo7aoB^k5vV>WH*hUxZLM>+lUS%)j8&|jY`&B-@Obh=ad`LRaQX$2SN{s zt?Rv1U(OKYH-`Kl)FSzIpJF)s-{zW}9~*zvnLH4UZM91&95FDE+2l<=sxkU2<_S6| z-%hhW*PS-Kic*Q$Z&{i9Xy#9~FqIZ4wQsu`w<KBBILlcS$ISE5{pj4V=(9ob!;Cpi zBojKRA~Wfg!t<7N$CA-ZJs7bgM<^m?bxz{_P~0&2noM$#>w2VR7~lnok^E?G{ny+5 z?2Z@0XL0esH>U(~KDm-0_S&jYCB)p|Y3sfIcSas9=`tPV8b}ciVUsqolCoc<AYyY~ zyjZlB$L9eb4>R7l+>ps%<fq+!rLo<oV;FlMNI&S#YZBqxO`*M*_^ti1`<jVrvSd<< zh!kU&#lBMIT;QuFKW3)`Wi_fb7YgazIsx&z_yuzV0rfU)`AjhKn=9|bJ>!=u!{fOS z`qR(=o)@XhV8a)$p(09dq_wp`pw6Ad6KLT|>9p|Q7>Z5vsc<jTVwl2^k|oNSGx35z zD&PN>Dr2?m{SEf^4+N)=CBKi!_Pz~S-JzBh=m7S>Ty)Jm8^~K0FN<S{u?_)z>$rI3 zX4~5Puh}H-C?KdcA7qImGNvlNiai3=e(#aK#kN;+R?>Qq`dzH~Sy-RJPqBOlj25*Q zfN^Rml(Io4;VgYGTG{(}My{x110e}`Hb&B+n+7ELz_VclIeC;sVh%n(+LbHWIPaJA z>lq<gJ#Jm?yK`5Woe1HZePa@1eg4Z!O>ZslZNo|#hMx`1*fX$d)2(<*4AVpke1aj2 zQx@OSPTaT-Ry#HIrK*1kOFixBW5`^RBjvEoq#`$7iDY|{dO%JK_v;pJWIE1=wfp~I zQf;K&`VO!bm6(Yph({Eboj^;^7@_13CYd%pEpfIkWgLbiOBnnW;gT;FhyTE<tTWM= z*gD8}@2TTH!s+8$G&wf6Zqm7Q#f<OjaycVAUyUGcu4@Wjyfyb>v~2c%%S*tq<J`rz z&!$IMe{{jsD4W-L<Z6Ne>eH%$3|P)`>*dQ31uV<U4VLqiKc~?LA|;N^dgRqH3>St{ zr)Wy|*cy!nkH327AL?Do+_G!}LgNf&(C&vm1^PCpq9=(no8nRe$ZASA#?<$IMt#96 zNoG_x=H)z%%e97|8<^Kh9kKY3_U3G;4%on$4IJt@R`Tyu-m}Wq2LBVf-hEn6xtW#4 zI)RqJxDB(|9OZQs^81kN@0mhmZgspnw{_4B2fs>SsGMH2W3Ej1y#L4?aA!#NZhRdd z$$94~ABszP>G*!rXOKF2&~2pPL2W<z=23o4s+cy{rg7>D<8$r4S6J=PK&k7e8B6QA zJ~1DuJd|^d1JeEvM;}CPFy)nTxt7w)b!m;`P^)mm&l@m?+PU*|&dSQt>1<aa3M&d? zLlCP&n3uaKsG;-$jla0&^XgfEOqA)r9ol%mP!MoGjSzQsbW~*UDjOQ#j~n_sB#Nz_ z)pn>D25Okrt$eK^tw{~j0L$Zqmc#e~Tl~<gqr5@rRi>1Sq{<KK`Hm^>Gb}YC%U%3> zs6u&KkYbJ-W#6AW<fq(yRnkwrINRq%odMJ|w2T>c0)9ojm3&D`B?7-Bgx-%v^vZr1 zc3_7cxZq=?Hq{<^j3o6&IHZP8Cgi}CIV(oUfJhYSYHAB#&$)41`$lJERD;Kn%e>mp zYKiimu4X&71W&c?zv;#n8=K2R-o<e5qrB;vh>x9-_}qn$N2f*SxqW7h0)XX^4<W<4 zo+;55n1{1xak!!<`o~ZCxEy5BpMUM>%RJEX98a6*6~VJ5eyz%YZq%V@F1GP#&sYnf zsVOaIyl7xnn8C8p*-~0T4W_SOL=FB{-fV~L`=-9i9VI31GBxKFRChX4QMCu3pbziy zHR{t4^}gS@SYXW)d$^JVzvyQ)>s{wX`$W#LzPp>a994vPJW;iWVF$>Z{KL~;M#~NA z$iOk}z0;{e;vr^hZrS$@f<D`Sad8ojEhu`GzEG*~>`XY*!*QkUhei9-Kk0+RCPfIi z<`WpIreH`oI!Js{4PNK|d{oHv{dn_4!8NJ*DpJ4Qim`Mz%&M<9A}OFDFp|R4)p59b zf;&>1qkAy=a@PCY4kgy#8=2$TwF>&iQZ~nUQabs#9wzVeiCHPW)1Z%0Uq9$mpFiP} zw?i#%o00TmB=~4#BosR5wj*}w)4iIFbh8X2o@C@zK8WzMbp}?=xq!I6@^6PRNF5ax zGKgo5THar(5nUVM5<$<}UO(R8LDq7?77ZY_pI(uVMG{WrL77{b)+^iWZHRJ{*JC-7 zk}L=an;^6~A>V4Thmh1|M>THG|MX7^hV4;xf0^K<{<aRWAC_|k6*dnGlQsSQ@1(!x z085`x_xvkAbQ5<H{ZEzUDC0J^q)~$-Wv~os&jR;(LQbL|E;Ru!I_AZHj0f#st4rTu z6`cVr_#5VR5ttc`_3exq>z#`Sb2^YFqWljBhVD}R?SoPaIX|rh`pDXK5U8*fDAe(v z#)A8mYoDby<4kIpyi*BD#z=Fd>!i<Zij|w00lDkEoE@svO-JQ2&p*mL#r)1R8}}+> zFm}Lxl2JF60S|naH9q^YiI%UPNql31Pjkr+DE8&+jH0TTrM$VU9x}rryZGx`ydp2q zyrw?cc?~XQ9nHenJ&AGL;FtAtU!qUp;os`#X(uHcWfy+B`Ri*xzND?%N5Duh?)mp- z6~XltneJo1OgPV|0MExEws_W+oZ0`#ya<#j0i~&rFY6PU*M+NHSi$|(3Lz%Zr_JUK z{AxypNmMouh)8Nh(y*Rv1*{(Jf8hlTa+<7nKIYm^UoG4_A?Tq6=-ThrlMWw+5L<Mc zy0aROt&c6v2QUC_DjpV;wO^XQ*;T_lO^Ei=CFh~@9$q?)6v~3DoQg&Nuy%3Z06C3h z>pa|^*nmu;_5`z7n-fK5EEWoDqUo29djARUn#wZ}-MM13NsmQGA(r!mL%+&qA3uvP zP`TnBS-HXu0R80JL}#dJR9bbrWonR?rgw@ErZBhWBbK(ZRwmdF7Iu&|9;cIH0*KGf zEy1UN|D9ka?_TGh>zmsiT_h(vTPG*hU9**muLkc`J2Rcxz~!p$;MgrXPlq)O%{}*- z)hf|=x@8fyRvTW0p=^X*+P@94T4xu2(N!fj*EERy1R?`)J=B<NV({YA-RCir=Y}_e zOJQnDvsv{9&aHmHnZqG)ZCH2Bi3t<tMIV}~K_WA$;)u>9Tia{BWPBO_T*~69+=gd? zcyu9^ZH@uMvox%H@~yIuRceFGz%>V_ZNO0t4MeQjxt^RUL!D&@(2mIYJ2r{>kE~LY zg&(#myv9yuXq;nmCULK>L#0EyR3Bx<)e-Qy^0u_DwAsYi<(ry#FJV8JNHkEnk(6C@ zl-`p6AQZDp7|)@7cWX?wy{x6Byfi>_F9#7h$O7c_uux^*l`ghmD7Tr|5fb7$6y$cv zJRA(*K~jTEzKDWWMbO&6JovP%0z?60ec1if?c_t|ubFG6??0csf)pX^yL}*18({J3 za0m~*(Q=}Htc4~h-&93V0>kd4cSzdueAec*?mYL-v~pNgiCAUZi7}-MbIyZSvJPZ@ z*zfQ_jZt&4zTUZC^5NV*B@#;Rhrced=eTcjL}M58Nt<FLZ?Q2o<TJ$!(YsDGuRYDS zPeb8&3v_gQ<-ACuKIOOUsf@I#0uI&e*LII9V7}Anv?+xkt6HqhMCsGVJsC!1fo-5S z`t;|?wd}(X%Uiu1x~j5HuwFac)^odZOh;6}zXYr{XW|-lgKXppQbwC3t^Y<EaXc>? z-Eyn`$I)2^G~K>!7+XmZ=~7bZ?huhKiBTg&a*Pe>1{Fc1LqJ-jV;emhB{q8G=p5b6 z$miYv{k+e+@9VyP=W(1(2jv4M9YT{GU8US5Q%8|V{`;F#OslD#4Pp=(&U$3P_iqnK zS@&@*X2WexAh8yum#rgvkX^fw(<#2+!GQa>RNsN|s!_*+e0SuG<!@7;i?(E;HUJMF zN@JV{Mz!_b)!-KR>;>bgGrtjaJNnroX;>DkVfc)e)!Tujcs23mTe@+RziV3H*Dvcu zum9PzdM=V;)gpuWoN00;{tl@}YkXMGDWEJIXh@np-?asXFAtG5(T9`k=^NQ(AM1=} zqPafA+lL3cm_(Wd536-Y@|J0E*wZ;!JR{&kQ+VsMsDs^E{pnc^KH;A{1B7-|<`^x5 zx6#8J=>qWTLZ4SNTVQkE@K$4h<ptf}+ge=8e?+u3qRSW_><yQh!lq%^pugi~5bu~L zneK$aTlPl#gzvM=U5*n5W2yRmA1d;M5{T}fD0)}#djaann0#kj7_o@0I^)9`rrWE` zUE9CqF+8)D^E{=yajjs$ht1#SQ!}Xx9Gv-sdU6aaAx?7)vWV}JWY2lHBFa`xirCp& zH2KL%!0yA{<)YcmYt5;+xvnw)!kmxQe%{p%8dR*?!k?w{(?rI}4jv$rma-)1sm=0! zXb^cy4fs@Ue3~;CI57-ez!u}Fl=Q)jVm8eMOvGa?W6yx24A-Rumfp~uvbQlMcl4X_ zqFRl}=SS2<c2W10(u{K8yfhN&BSJo&D{<zQYMmtHSuIEi>hbv>)lw|?A$e8ZkO*Az zLrlY#p61fvFaF#FILDkDJJdn3)46@SYAd~Q3BbQ>v6z|a+<&Oj-#<{ZdwcMxz+u%x ze*Rmdb-2rE8ts5}3VUV%Rxv_>W^xvv6<Eprv*YeFq0sRd7hkI<zhi(DnRfA_>060P zA#6+jWcj!?+l^Ni-OQrB&A<Z+jZ|HSaMo%|55oN$LVSp!xt44@fd4LYgU;9yeYg59 z&$~mCLvd3lU!G<!-LnM_!-xF=_Q*6JmM5sadZ4is0n0P!GnCXt51w6ma*aYdM}Vke z(+^(Gn4!}k)j>0s$?jIYffmLGZdR)ZUqh9{#tQ`vGwNV#eofqbrK{LRAny`u#T22+ zXiBP{hq2!U$1Q(ol%JNN!&LM&#EIFu;~dh^yh#^tb^!&?-O>g+j)-5;sdQq_Di#!f zNnt7xsr%Rb9z_;4Uqx;U(^wG2n@MFV90>^+=2ywGJ5s$fIp)_OEa@$?6Mx~c03yp+ z9<K04sPk6&wA}Uk<>`pVO-`|Tn{zy^iR&^m?_aUFNFS^u_E@LU@!R58jc)jr7CxZ} zkLbiAQzxEH-uxtspyG@;MLQ3u<oS;2uyioWrxZ4&MV`ZgM0F)4`Gu0~vWsf{EEmu* z5?ViADv6D#dY9biX&cH0hx}cjN=30SjOPnCo6wZ@(NHYd4mo^f+%Z0Um|N@{igK8z z&ktbqySr<=?82glvx>`eI%pIr54QMq-{a_pSM;wrq&4f08ZQ@%Qlj4c0A#KgVj}zV z^>b4<ooeV&x5ZSsh)gsob4v@D!c?Mei{^<0-3%0ErH4}~7#)z9yHR`VkL7By^(w`O z*?xUvW7MbcsWjkL%-JYy2=fQF7mwg@Rwhkf4pcs9(wkW5Nu;)q-ZK_&$;0<Jrs&Ai zM|PZBSI0RwxE2!{%;UoV(mlAy=jo4+vhN&HE#=QY8^?mhsop&Iv@*)kL@v?8YWaoN zjGbI*+55Ob51Vo#rbqBmof0x$KNB>dT8v26qkh{}`cv_BD=9qfvMjTv);5XaE=kZ# zo@v4Q%nRH!%-L>a1L7Ni_FqdN>nCAyF9$c|lO;ZqzW!U@Vu%wz9T-7Vqf^R4!=MeP z;-R!Vhd2;}w7{Rl!NEnpr2D_@)py>=w=tl{<(|zmwI11v$bB#29m!#PcPu(4Cwy4A zwQl?ss}k1(;5$;s6G|nySR)SM*(j-Vy_#?D7hX#(PJDG%e8@i5EKGWqny4l={2jm^ zn<Wos{oD3ju$irDbHXhnJof!P(ZKGO#{|1!DoY1|et(|k(C$*oRND>1nwBy<8!o;# zt<a1#cOE#p`70&o$jpo5#YB}9{NRcm|0!`-w(gGNck}IArrY6xvi$g<NUNur9CLbb zVMBznidbAe*CBOw4wy}=&++FyLWBX(KfBEe@d43sFjMRJwME{FO*y4|==k_N_tDPy z6O+S-uK1rG>QM)RW_y9EL&uGS_am(Gt-vsQ5J89Gl;LCmN@IOqlM%<dm6~%9Q*9}c zDu9k4`eS@b>bpBq8YqE}lL$kI1;0Q-B;SutN(kJs++HBW?gv{Wbt!%CDNm7=yNQiF z(~M=z)(z5e^2IE*AkZNXdFm#;cn#N-Us*i$z0fNb{}cJLD<hZ<A6B@@aCa-oLN%c$ zEIJRmfb#9~03Dj6m&x+@Xf=m%e7`O}Uz%iq{v&$Ote4y4kBsl|gHV2qVm$av{yRiz z(}L+%y#7F-S}gwJ6Ae-F>&)m8P}HwWy$=5j(9xy?a}{6T*P_o4-GSS;;uHAb9@w5h zAxN&<VU>-2FVPQ?-AWbsNykA7yOetjLq3RhJId*pN3c%&)dXCm(9>*5#OLaE6PhHT zXwRTKuBFP}VUX6XRcZOhQt$xN+AFWqS*ki?r>~3f-4;JM_masEaehNfhj7!CurCRz z`1dTe8{SdO3lSWHatp5{<xx5cAIsf_0wsU}K28&0zK}pJ+7^#&HoS&kfdyZq`%Trn z3g2P7Vqi>kG==hjKfFmSU5AiW@3yHoAVMu`EPgQ#ly;exTOJ3bd9Q~UgfRH*>AgIz z%RPL1-hTdRGD9}XK^kQ6!DO?`pCVL2f=sQwnlEyjL$Kno;~f5-(3_nlixL*^jH=sp zqgj=535i&1{@xjUZ|wTc(o{P3NUK=uuCic%)c%E6K`-LBbHI7{?MuN3F`)H4cdthi zzR~k?LMva7yfE8h##Hj{>_m?hIX*)n>=R^f?dcC%cU)#pdy8^=8|_M63Kf_m>CYn3 z_LtKE*_k&-^5A7?D)U4b6n0k4mvGA3uBL601)6^eVFg63B?Q(GA8CG?Iu#$qm!TwS z&m<~4>a39v6EuLEi2_@}Ho_mM>{*9=vO3UxESjiR_!>GOp)3c2X_RjcC)@Lq>~XM= z+2S+w>afeP^i-aS0v`!P8u0S`8*95U7m3O7l5d56xJAH3rgQ5{Qf=cS&C$1kwI7Oz zJ-+gA>Q&}DZ<e4oFI#gxmStmDhNo7-LtYD`aHGcvE4<HA-}cis=#QEAF;huC*VTW~ z)N8H82Lspy+=JFeW3y)=Qo?jS81u`ILgMut=|XKzly}iXKH_eXTlTNPx$A8d*NVkz z#g>*^uQ?=Rd?(4Je7kY!vxmX8Zj0MZQBl$y_LFy%Q=I-S-q{inwmi$QaeWXw+UVc{ z#UP5|y5}9dgm|e1GJ`aMCz)wwk)Y}tnG5q6yk>NByKi9Gx5k&)&Ed_R_e@XWbk|$~ z;kqnHanawlZK<z!F7oIU!8ytw+*Pv85HgT_k!;<Hm47rep|eQ#R<$y{$6>naX%AWz zLul};T=U^I46r!Z-e~k*V(7Qc)FeLTA=i<($V-2<WE$8e@`y|I3hsyA099`ravUjp zU6X1i44n-C4y|D1^;{K5!o&Yl6eBK=NEBTU^Q_cwKyS7(AP)v}xJqofFUMmZ-%s97 zbUS4&@VB3cSecNMhe%|@)_5Z_g;pG|(+_803dbF8XpoD!j)2*9)y~w>Orq#+=0vIQ z(`E$<`}qvqr+-0einw%jcjViNID&ZlVD48q**Rs*iX+0q%B*C|q%I}V%*Cs^nbXF2 z>E}8(YZ?O3FvfDZ4!X#G-2R%N@XxL+n!(r1zxn7YtHA^K^6$Y<7KP?pfPmzSV*~@J z%9pXjpSp0Ms)@N=jXS~ICtYXYrrF1!yN9inUTNdaEkF<zWV-b_zo4&c&8#t(xZZyA z;shqI45({8$UH=CpM{YSc!}gK>67IWr*dW9Ya!Dm{1?_tl8>~$X$>8=*P>SAwl7<v z`iy64_An)gCwRc}qo%{V)enScLg_!skm3-v0V>V6N)FGU(?aTmCNy%1jI-uW%Y`?G z)Ia%9^!f54CNs76AoG~I?EADPTCQX(UtdMWX4+n?pOpE3MY#rUvVyC2`24;0LSSI0 zIu_Q*c3IfFsSCH8kp)>t`8V|I^QFlggQY%T!w1c5SQh@od7QhN8~ICb`ujL|kguGv zT{;sMxl`U%_|ZGea1`d*i0p*O8jRQ@lg@`%B7QKM21)-%#8z%*In#BYmtk4`cFDF0 zVI^M-`yMqpVuXW`I|R7bZ49uCX42pJOLtZx*73YbgG7}W4v2v224GXFou<bTQ+5tF zXCt5LU&j@g$7zh#FtVSyiFX~7A~M=b?$KkEznESz@{`{DG=DX%d<Nd6rHlF4Cw<j0 zD<rz*?mQ4p`^<8m=jq~g{aNuYc3rjl2VAZpeO1Z*&GcNX+M@GK*X6&oKgKJzp?^=Q z_2ZOTjIzTar#H=H$o~DTsr77%Z4==8NZzno0-2J+0rv>~%T;D>u2ign>^~OrHPL<O zyFF3^ae+-0whO1(zQ{Zuq_D~Y!?T{B%h=p4Oj_>Ys!F5|S3T;vUrIAG>3A0geC_nL z#tBxz6dUbqDKT(T9BGyUh=<teHUCGne)mrUh<}exJ^!v-=zOy0V#~1c&t1Fl+1ZQo zb?DqwJMPP_!HhErF_gHxUop(zBfW3DmJa?0>~_@aOGKV_eqEXzn_t4@R<}Bb^2f2% zu64<7xzB5P*t#!hYVkrjis?3l(*??30t44Y-2Sn8MyAgnk(izfOm;BYW$w!#0&4G8 z_BBd?=vxnN_X+XFTJ<7kGS1RxYEJgw2<`B?OS7?K3b~>fhVXt_J*D~Lxh){$8dIFL zW(u<ge=Y!U@hkE1`L@N+#Zl=~7IXD=f>b{iIJ)6XYhA0x-FHld(la!;X#$0LKb|<I zX5)Pg0<NwsXD%n*4Z~(1|D)6C?-iQ0BMx}H_d)AJWFmZgF7vAnu=W-Ae?*p*rXQ}1 zgPWM@+%68v6WJ;*sPM61Uk&rMghXHzq|idiXQfGi@w3MmG1iItLxS#ZG!go=RL_m` zW~x4Q1^Sy@p=MKHD)mnNJ^?rI8l9r=^-qB<elhjqng96PKrJMM@ZJt1$nX4r@XsbH zZN=;YAZxLIdF><~s>_F9G*kF(@~3xZeD12Fo*O4*mOEvqzRb}E&b^cT)%vkeo%wPE zbonXV_yLj{G8^eR5$oN3w+a_}U1GesqSrL2C^J~_E_#&>$f%mAbIpF&d&PU-z+$$? zBQU;F7T}f`Y`mOX+u+FU5j5Iedj4rv%Z;U{qB5&j;^YkGgsoTY{2|^_rp}pW0wNGd z)c$LGjAieRR!j@@bA*Ae7mHZP+2?cem|DR3T@8yBz=mhga77YWwWFABz#9c(FU)Mv zY}`%#HPrnNDPgwqR`J(bofv{rcc|Pw_?C$H_5jLLv;b4%Oq`kG1BX){CxYVGV6Edk zpG0GmdjQ9xA#gnh?qrbLF=Nn*Tl{K>CQsvoNd@cfVZ;8bq|@Zd3r013-jX1lg?QcX zs1H@7^s0|P1|6p36hs5Xs}DT5a`VCQR+DoQ2JEjyO7?>O!eEL^b47_Gldx}`)d}pB zm&azoLii9r-vs28@v^G^_pqb9Ehz+)2jf9+u^vc&Nc;W(GMO&TU~g5~-I<FpI%wMk zr714kLMz^OIGHMD`L^a3YUTE_*T?*s4&KhLwGrbQ=YJQ)0ELFix|#4i_5bFq!7}`? z>3>Mjyr^m0nOR!%npdExkHVCAqiU#^Er+mrqBE6^5?Mp$3BCC7;)q-XRxJJrZCrBG z1mK|0to6XEfMX3OEYw%}d+q|KnEbA!wz9N1dp%#7ykM~mc3ep9R@3g|b-vwY9))^Z zK3v=BE|(<P{e^z6dcpM+Zfl0mD#Gw+Kt5@yD}3tfP2UM-!0&4}8j2x}E2}Er9z88m z$i#|7<dsQ?ZHgUrk7#3$)Pq+llf{RCcuBo6BW;Q9a+&qWN^+PZCu)k`Rg$#)J>nN| z7FUEbJ7dr-DaOY{m$4)l?a3O`&K?CIZBFPf$56&H)a8!&vcKs;{SPIpzk^9#2}0<u z56TB9GH$&DQW1?O)(OLPyBMqF89cJ%i0DD)t^1cmc(5&gf_9mL%F>r>E`4uaefPN9 z?FB-9+g`%)RiQ^JE6M)O+W`m%70)`0XFz3k_V~l1gG&gnib<l>T83=z?uA;5w*t*! z_aQX#*t|wIAySY@c>e-0DF)2aIrI|ov$Of?WxEMr2oD~B#!=QEFxM6NSBZr)=kYy- za*rOAXDN5Mo6U)!5FA17z6#^JESv|-%`A2)2Q{wIui|8XTzXh=t`?RRSoH|N9Nrf7 z=f~z{+IholdDEmOSGuCHc&E<zwnzJ()Dl^^rZS4Bz&<W0d+qHbTMQ1!fGVJfd?pd& zt;O&Zlg&D+kgTOTMBR*Xy6%y=0ZnN*3pfsKieVy;!IzO8q*Q7U-UlJ`iA0FEb@(qV z8BV1edF(6yRtSYQ+y(O31i2WpQZDT3uS^9B@hM-?W%+`+4zmGAh~1u#-{*L`tF_9X zE(Sj{WFdyA>7OZrXN-zz^%Tf}JG(Q-2;s)0E`|qPs63|BsN*$N+jv5xR`WEZTDf$y zcX-QyHHpy%HO^HjKEP@ar<bwgGw<@@1DfxH>m}3Jyu1!aega_(_BiAmM20(!c~X|! zm|TOE-{J>?T+7k~r;O*~`XyG1@Z%2;GKZbr#fGmN_#R8o4FD#@LKG(KKEbCL|3p_| zGZP#LzF)Yn<nkQ6jjXexogMidzw$xU+}t$+*Bq0Mb?U90?__DMJ#O^<2;p6g#GNM! zti>h7x%v+s<iwnk5#MC=L86XIaWIyy`_4JKzE->GlD&s7ml4j<A8U`v$EQUI2~sjY zM2BKjs(I#--<eAvG0|V4`>Zy`wfoZ~9hdnKrX&rgilnt4@Auqgi9`+S!ZUmFtly7K zzcZ^7ic#xsZCwEX8DF~!P_9{@X5xm79ltBEZz{;P#xm0PXEeF+lwC~t<;_e@Lyql? z)i2XabW9^)Iy#ctKuhj(;`@nQzN`f{TLeg^!+gOn!z8g(W<noS3Y<-$Od+PA-v^wk zFE-8^y-sC)h5KTLQmv}&nw^}P99T2|Yilfb+?U>y+D<vQpd<G0yX^RnMb<aGwG!ot z$TTWRDMREJ^=#_c#ap~IGXeeGaz1&N35e@(-Mv7kL|D#%T$^%Ge-6+8YDLK_dPc$+ z;L89cCEldWiFNAoxw}ZmY7IDfC2Jwe!@sb>ErfY2RTR1Z1fT-_e4?+H2K#DcD5nxk zmtjx^oar7c7eNzIUmBScct4tP!~W^Y9^@mYVCo&vA1#6OrZjfNS+wGhqA90dYz)&- zURCDa%!JtM*23V<i%|0e%Zcx`<k4ntKJ-~W3Re)>O21dFCiZp7&_ScS%ilV(m9BO$ z|5&^;Ti0VHVJIlL7PFaicV%on-9B-CR`7*z4=-S^wnPr*0(P>li57OEgsqk*>UKa0 zuZuuj3LM!UtXPLsUuh1hM!SU>%avx=_HQmcDIdtEoCWe_8{TW8pABiRkyEmDb@<`> zLM2RhDfvQ;I)?|y;GsF4)%88@q+vNB{c?^*Gz;@WKhBCEp_IASADM^nyO;?w&@1=J zJe{E(X@KedbK9B_6?1OYkOlmh!N7U%+|paT<f#JI`M(Tq%__Ckt1mD;i+dR8HYCu@ z%_T@fZ)^RFvgSXcY+ec_{MFLc!ZXO6WcLi^oNfoknlMxNT2(GZWl7cW!D=$8_H}Cy z&T@;)Y7&6Rr14A`WT*SA2<wy0Hww+OuAWt6*EpA`SdVq4pal&pElsXCIwpO3Tz2ge zVAA7g*i_vRuECii5xr_kWz}&Ig|jfZ41>j1EB-1Ai+t-=+cr(8{p!uP&{}JlaZ;d5 z51?m|AFc|VI+riwTH8=5y^u+4cB^PlR4`UFKPec4EFs%}9*ud+gMS?w=iHR;SOClU z6aditu{Yjz#bN_)_DIv0Do3`ACa(V5a<qSVxN|;TnZH$!KE2yKzSp+I@GjtoZEcw8 zU5_yCZQwkiz9(au%oNsIK(-RkB$J<=Ggvd3Kea^xCVelKZ8}BQ^RNMVP*7JSswGmC z*l#K@uLB{71F0jzV<Kjv{jrh}w=btR6KcZ6qr<10W}L*v;-N}ji;UoiESP~9cLOzQ zJDBKpDEUvlWo7Y7z=R3m;Hj&woQ8Ejx-_B1xkfBFjL~pDlRKu0z%j<jZ@#ujWn}U$ z%9|W0)pBGK?yexWrZZ;0Sk8I$m1YwQ;@gF@#oc*>)+^HGtr`g=YK+Zkyjo3P(%Z|E z;|dD8aaO-&ayEXd%;fQIsCXmT5I^qW?68bs#Q!)r+4R4%G&9v$`8NNSG)!^HBDf&v zOzUU5Q+}Kr6_OtD=X9SKQ_$I@rLiW+BTKvtxn-WgXS`3-=6|7Fv#Lu|6WvJpDmw_w z66f|?Coolq|LmGCfH=&28t-#>?}~Doq(`nyTEXScc#8%+61U`#QPlY%?kV!EM=ZEk zE@)}0Mn_W}ySk2?`!bWDr}n!}0d|0i;B&02PRKV_)jtQu!NDHyom?%a86z;#ldvS~ z=bQf#QF@WRzORpAgAcRLUzd%xl3knY(16(Mj|I5m_t*5Awy{--KfT0alsEn(st^<M zn|H4B{}9ZIEuY+o;SKABt6H-pqX@rI?YMFX!+W>@q(+L`|Id}2hBq;-rXfq~o=9yQ z?ouLo5=Bqj$UBx~=MJuKZ5HpHgLCk;K_2#ts)_UT55_WV-;jG(yXABcED~L_v`FWY zS_9!PO%pBd3L;o?1Of=MsiF=%vl+_%93oTPjY(z-4qE~bJZc|i^vnjGm#I(n3HPl0 zN2G^p>HBx)4!ZO-&|nwcc?6Zgl1JtHNqiI(><2YE{vqC}xq0p4LTRqO<Q9D-m0Pw0 zqJvGsgqldBzGFCy^zqy}%{M35VMWEx7BVMurIo3C^v69Z65Vd68E|09gm`{nPbPIg zv+Gh<!D{Xi?s3`QzgNxPh)4L6E0J0Ad4-a~!B)F~{FJ*2AmPE_qLJ3*3J~!#4Pm=Q z$zwRl@>;DzRLOJ?8KKHsb&8#L@vD>YYUOeC<$TU^nWeyZo)Z*8_rnnSsOSXVh;BFb z9?GeH`?5YO*hK%l{)QJm(Mk&nmaoa^3v=23WzQMoXW>|~Z}DWjS?OT=Js9{a@lr~6 z$c|1nh~TGUc(P@44LuOeaDr0*YN?9Z-SH2RIYopbB`SS+WMA3oi^J+4XmmK<Pr5Wo zx&|C(Y?(`Qa)!^Zsw&;`v4ogMwfpD!dV|T{N;{aYM9WlM<@?a>tMo=`<h+?TudB9q z{?P!;ZlPDBhj;vYw^1>0PhgYeq4B*?E1$)X9}<^)dC)42$8kHWv`mhfw_Z~qhSTO4 z)>Q6aM#rHO>FjLtP0U%hiRoYY60WP*_R)x9#54Txfu7Fcw`29QYV!pxmVFtH3yNSh z|I?L2ucE2mAG85>L}bu^MM`ip739xYp=fo~o(#5Ey$9WJu@gv9;*`yv-aE&ct==>J z(eM}{hdY1~=y|ACmN~Dq*!eSUjp@H|b$a>W<dc*62T__6wNGLiFI@g3s>j_pp^1W? z448iZYYTANvn6r$diwXmW1?2w{Y*~wU)8p`LoPdLO={^okFj<ctMiE>QJ`M^*tIfo z6;G4Uw-ji3OB)OL&v^5_!XIW(#vON&>m^+|45}Hi?DKhF?j;+4Om_-R^qi_1xzH!I ziQJOa`{@clEZ^$5jR%`HH;_=Hb!ClV-~J<V;C~i3|6)((R-ACb-Mi&>rWHXmulF}; zLfJV#@1Jg7OjHR*V6j}@mi-;Yx2&4QKTmm_{HdJx-I{{uc60;0n2bym$zaM7n{+jq zD@XG9O-sO^n<&lNnK+TRb{|^07z&Dy#w%-0k`^9iJ11#p#ZgZDN91@TXgRT7Nyc2W zeVpH&d5n=-&RWu&`j6=Su-Hsg!1ii=SiP=rtsh3-kI*{Zv3=G?Z`BxlyaphZ{a|}B zp+~1~=afHFbL27o8*Wt;r?!-(x3sz=aqBrjlUx1N?c5`w=NfF=PJr;85A)qBW;3FM zsW&_}7N*&jxqN|4D$O^0vO#2i<Ru8n4#kL1$|b5p#j||^gjBQ={k6a0y)m}NaL7l1 zu|tBTG9lgnm?`df)9h9d5BZPi36(%@QK_1Egezazns)RNZ*uKn7HlDcVM{i`d!Np7 zw*Jzj#Mjn@HlgfoUzPSlA}<2-_P&%2R)Bdle(DD=%+N^}6bR68W4Fbt8@TOxSXCZO z7;D_;8Fl$pI8ZLlejPb>81hZ5MGpvQ2s3_d5`3Tlxxk5|eg7j;X*^KP;i&uFJ$y{% z`NvAtnLB@KM&o(Ri)npEqI;v8rUwgx;elSFb*RYg-`snISwO|{nie11Dp+9(r3Kr{ zKG`w}FU#g=M%Eu{w>4s>*k}7yO%#4!l!JQx6w!JNA??(-s~{^*GDq=$KQN`)6w9I} z&HT%Nptp(~$rnhtufm_w+hKnW212I+7cx-1i6qQgc_9)POpGU#uB$kH+FbK{(e+wh ziHQOYC9^w!-KV^<@uzmog)3v#y?#)MoqO~M@%oTEbg%jKq3rI2WFn+KXt?8=I6s=T zFY+{w*v#)~59@rm(KK4o^Axjf;kwJ-IMR#SV4YX}Cy85q5vxQ%QwiC$+=*5OlOeBH zzZE>R7eLXW|JGkntQz7ab|j+b&1~dbA5y&cm<^^*J8<l@o^E_xo0g*Tvs(4eqL&;i z=BPZ59{dc1x?CK%Ngw_lE1y{%?P0nzfS_%__8{gqtwhz27zWqm2@44+v^C6hY?osw zP*41{JYd(0E<r%v&}RGMV*>?^wI#^kz9yASaymbnJ$#djJoNB3c{>;aFS8-FvRX^z zSojis7=7#YXPoX-!4Ka~Fp9MDA2s8|TX8QqJ{(6oq|9SwA)*GYGb;p>VEsu@Xs)8> zI6i5qr*?tXO0{pT+_BFvJHwah=7H975W~A6LUm!IQ0^SCUM_@hq@{*u;&q_Jp;w-7 zFm)_-3iwOIb!9Y^DYyaQPFPCTS0d+8Qj;%ik<mm%in_d*Tk=4~x*^!@*x}5tmG^2( zLlhI@TZuC>J*#oNo)*uZpHi=XOr8=Rp8FZ7RA@2%_$?uLF1@}VI-1_oa8RCVfEw*& z2i)H8VO=lq(kfQIuV4|Y?W_UVc`d-`|HzChuBclWNx-{RUcbuwBO0enp-JdSj^MhI zz&?^j8C@PY@0C61%DedTt@pR%d5AYs@LKu7m_FJS+~N(17iIl*t}y?rn7vu6><N4H z<CXXeUyn@N`DF86tbJn%FH=o6TSBb}p|KIo!P;^HkJ8J6K8MWEE50I?S}Rp5QVtN4 z&FK62EH`dWzB0ksK2~ZtcvHp2Rvt`dFtp}Hy{GKvMqh8|9p{|Y(7i>7=W0TXv0GfR zoa6;04|mgn2y(QaAGdMhN3)7gWeGEz1`1isu%guJJ}J^~g7X#t!<M}#T~#C`QOPN; zf_=J5FSvF~WkY1L56T%=j2W}v{C!BUipsphDs<Q~NmQVZg)mH+=VD3h&gIebPSGMO zj}P+CH!X>Myd9lakd1@Ki<rnAParlH5H8yndQ@%eE#Y`iUiRb^UcG!5lz!<7*7D)| z{(Du|_aF6&u&?G-r%ZIJ@!2k4f{o$5<on*#6^#;=i-@NeCR!e(dUXBT!Yq%sDC93n zG9hETMI1PXSPInH5m$q#`Am~}!(+dTJgM874LPX^^?OvTbEF~7M1=W#2kzPAx0bHr z2;!3crSbK5>^A^oP3+UHyj6Bty^mmej!zR&4H@9PdAg;z-f-9Iz3IgRMbZF$$j4y| zId|5U<5L2b=Pz&dst916y4uYbaxc<jhJPFCN9*ktFQlSvm)6JJPX_F$w(R04yS`6r zmFdV7ELF^%yw*CM=hH3H66Qt1GV?mwemnk+;`(*upUZb&M&1l*)Iet9G6*Ut`I6qq zl&%1&o?mSc2}9&BSOrC@d~412fKBuG`@BB1HWoG?1{U>$w7#ZWNxHTO5lDUz_g!uq z^Ex>$JM7M&s*IaiA9-VFM}D|Dx)sx(C@tyuKz-A2&a$@r(;xUMN_6wIEPiwMapG&4 z^;HKsp;G_SebUNmo+=!Bj@3zlu0)m4PlK2BseygHUxt$24P7|ZJ6`==F%kuSHdev( zbx>^*wC*!_SHb2VKf5Tn`*##C$9w-IRp#*2_W`5)lIOyGKII5fXR$Shp$}FLWGP1) z<sCZ`rnoc6#!M(5-iPeSZ<CK)%4WT_(_0FvM_ag=4`!#68(lp!)%dQnAf)K)56Flr zh>1%9I%j*B)g5WMdgHFv<IbE>fm3O|(`W>Ox=Yq&(9i0O3Hh2S2I-9(i*1K@xE=AL z{(V=@MpeH{_~+h~oNs|6^122=pn*Ru{bGP?#CrZCEL%*LQAGyz4j;<u9Si+nj~YSG zc}2o-E9g0Hn4NN|dPcG_r@i#ciQ>Y6Vhz50!PM>0nN47TBZSN-hOvmNe^*gdk|X=) z(Qw8WmNyQ#>>_3`oo}qHgXt8|<vZwwr?~U7?}~as%;%3Q;q37;wkNRH^O`&LO{sQT zQaNNX3+6m|O3Z`I`EeXRFZ2PuU=S<oB%TJJ#;|-*b72?AV;evu8|&;8C=N4IP(&7j zgEN9L;jFPbo>ngpbyE@3)9NrVwC^wH;0kv!#=ngsTtGaAIYTdnKHsM4lUpc$qG(q( zi~M!wUfQB7#TKoWTZy%(7@yXUd<%-vIP<^wD4H*M&iWxAt%HhISKdlR9qwCTI^!N~ z_mqpd&-fWga&rV9Z*H5KOC$x64RVk%!k;Gw>jPDHtyX%vJZ1MEz_Mc6F>Gjd;aRQN z?{&N;RyEaQ(Eb=#Cbo~ypI@j3>9x3BT5d+^2bi^C->N%ocb~vpYMn-PVjxQ*BE_?V z9vHYHkNI!Sbx|DaqY%64n-a*h-mAd=&#&&u>o@{8S*Ix_r&ec<)>OD7Pj&?^5GUU? z<^od&4{Mml`6aNuSTo8Gu@*O2cG(bOI5>$%(1Ul0qU%X3?SRLFPKbCW+V39y+|Y*! zGs)f8HUv$ll9%fm<$3ChU_fl6Lq>pjR~Z{6TSAWVt_5pU;5~_CZ<y<v4mm+p&Rwfl z9mRF5)-r=nM|YX~q}c?l?b7ifZrx6b%M;0hrCs*nf6_i*u*W}ne&b=qX#X3`V5IPo zf4qh&uzXl}ouz&!Xrp3mubCb(vqdKUFPvUv37E?KZ%zaKGuvUls7SIy8d^&!k)qK1 zGEgW?EphUciK4d=c4uvbP0=M}0s4=QIRDB-vfy@DB7F>dR`;~Dz2gCACv?EFebfKj z5Je4W_=4j*Y1Mb}9La>?$D6+`7JBlv8f@phxb!Ulso}?^0@=O11q21qS)3z_FV~62 zF}qhmA{qj6IWqPJUzlw9H*a{kFgWdO-Z7P!*bFfrv#FQ%7avc#uU~t}Zaj-~s|b{? zY5A%Sg+X>9AGg_GS!c{J2Z4Vcs<mH~pNil1HHG2sMbzcwY=DuiBaUq^;R0sqLPqf2 zCV!9EWaV4RuDS-TC^M*_V8+)c{FQ1)FlN>GJY8=2fP=wHc@~NEdFqQtv(kZAmq`{g zPT)cv&hlxWG*Q;m=*R4FqttstU~_1w4RhDPNHvaC)}3Oc^4b!iw#?7%`EZ(^Sr=v3 z|LYVbb!iYiL#^pOc0`y?XEh3}gs;3>V$!TLwHwHT8n!K43b0uS^NQL=S~{j=Ibnpr z*fkZ*iZ8x{^jH;^baar{0FPSS|H55QFabL|IT)y=W;Gf4k0z(AX=?A#wo?RCv+Gkx z3&xJ8mR-NP#WaK1{IV*We3UHRInm+J7qkW?;f_cDtV7Hv51DZrb^oFRaQ`m8To~Dw zh^ZFztwzbwS|9uwa6^VA>XLZ$5Wb6+;(e4dG!CB&ij?J>@yG^&hr|P95wsfjX-c!T z(Vj_nx><LwuEu=kiNUWFFh%CwdwCCX@IOumOhiS`f?}=C#&fYWN3U?R-zw;&6;lg5 zg4sv;UF|^`eInYrixh@dxsZd=_YI@o5i7tV3sFa6Q9#I&_FOG;YOj1=wC&a8Y8xeh zxpT9+`&zU_W2r;bton^l(BY6t$e%#V@OP$r(Eo@=EH&t5)mUzLFcHC2%1q_O)qD{x z=w9>$^%@J?LFZ<vnA=RZv52w^X{`KKrXlAXOUDu>0y)p-ySp>Sm&mm4W77lgQ^gim zgdqd3bm?%>H{ie5{2=D!dK)i4vfgaDI+Ws#7t9Z*_Y`O*nBZQm#^~4=@5sJ=y%m&W zgUZ_qut#<h_%gFR($Y`8;G)rHYj9cnaJdU3W2oRMg7yG~^e6=xpVJyBF?A-ru-4Nv z-;sL>pYr_*jDYPu*MT;8-7mRYsJ;;mk6j(+wsv5OJ}sZg09uNiQD5Yzzwv%2?TYx1 z$f|k?^de|@)|KuxoktU^p1;@($i+)f1~M|+xY*tCS^g1HOm&9?V!GjB**PHGp*}UK zuu-P(bOhw?FT=d>H*jifo{s4bm+~R<vzNNt$eYMkXK#NI(Ic<&Y^Z?NHlukY^gp6< zfIUi@IwPbAIQ7CVT2zvbc^kBLvou?j(-iwN9bDd+U?!KldW^Y0LJkd=M~0?5U2kU% z^SZM=%0V?`fwhyY59P4Sl+0NX07A82JdPvhjp(WP48E-k3~?@v%=Tbn`;Ul#o0s!4 zc9@H$91ifUuhm0#(evCbwA{uHeFsOp+kW>%IubsYOa_4y#+$iILH?CMQ)AzWdmf|^ zgi$Rr*71&Zj_~HD2}d=uPw>%Lc8z}`ZuVe-CQxCl_OUUD-v?q*83DbweSvkEr)<^X zv`sJ<Uwna?zl=QJ<O-i24yQD_m*c+#cge>J&~;qpbL>d1v($pp>fuE(U>1rD<0#gq zm|R(Ubu`WbbIs<HBJ&eQTz#MZ!vAB-^7#@XrKk^NH+Nf^0S~UZvZhdTfia*sKGfUn z0)p4{bmDUI4r6QWIAXD9M`H0`JNh}?MjBn8Tx*SsOW`8-^@Do2yUU4s6i%_e)r;F( zx&w|3GsiuT5K9)iX^UkMfg03Vr*&hqB-HF*wgGn7uWOF^zJ&v=Jia=f7j!ckcgUHJ zn7&+>^+AJ~z^&xTg>{MQ)4~ZH++S|ptWNWM{jsCkNPB>6Dk9K(t&XqUW$z@dT%|Ow zR`7D|s?W56cPc|w@_z>qdGIK0HvK`f@g*w9OTJ$}Oe6j?#|ftG7%pjw$GI&Je87~d ziL@69@j-6OW@Fb{Y)$d9jy^mW1b4EC=9dMeZgTfFfi3?j^Q~HkY>mEkxzRSqU9r7X z__I0KR;J_Zd*a&J{PY}yy}TKUUT?@GAFr$dmZce61Ee2aoo5jCDHJd6Og9((Q+&AJ zEWF%3Fy8j7|A_(Y2qn8dmSDA62zrLGW!QgTkJiopSy1?o1zMOIx@&HB-BZo&hI!cN zU6-JjzQ-0-{HVqKGH55=7VTO+u-ohgjBy`*k*K|-cCS{ep^+Etk~%^+0bQD|L}iIL z@RBOoTBpSdH<r)wedk^q^l=>d^JS$z+0Xv;ytrwD+rd3s@WAA3?5jE^CI9PO95XnA zFxLLV?|Bm1sa5|Y+9drHDi<uiYcixpmWZmXsaAKRLo1un29ws`rA~i0KgIcY39R0e zM{n4Q?ybf@TjqBL8|yc+{z{fFwFGt;I(Z*1^wYnjdt(xsb3_)zT^z_cvYM_nMIH0+ zeZl8;LWPh3K00MOI&mY!(bV><PP>D38U`^^yVj6dQsWj(a~MBbbfpsQE|-@AqO+Ze zYj3i<DT4Aro^c_=H8S=^>O}D-Dck<SqXoXZW(1T-(LY8|8>~KL$;&-WZtGyx7GqLP zkV>&!E$+vpm}Aq}tSPFK?>EuxNO$Ms^<iDhesFQJ9qp?4m=_my>-Sh@gOgVqx#FnT zGLGxUS6FXbbV?N}mu?j18G+&9gQ693%D?4~&3Xxze;tZqv9b*)-1fVy9kUSuo-r<N z8T{QpvS;+*r{LT`U??q0klNSE%f3EwZ9$rh=i!Hds|mO-_gTv5Y0HZzZNsioCTfq8 zV%4vmA)F2RIm$CTb`VYVsiw-m%<|jnkFQr998AZq|AtT^6b{<D80~!L+Q#cSBsuj? zPvFUcVCM6I=LhY-R~xR{mH>lwEYU-4&0G(sYV}Q{V<}i_(Y_h_bA?s2s#VJM>b<je z4oOCldQYux3Q?Qc!|XE^Ayht!y$v_c9Y$CeEis*l9>Bu6H3EuXPQH5Pvp{hw&uvw$ zQ4R?Fg-Hp{L#&#GFg7#hZa0#qKD2>||DLteKSEmZ4qm?`&s_qt7j2%iHvjTVH4wV6 z=~=%3g#2ji>dK_SLV^XJDV-Z-OYh0viswW7_k8y|VX9i&uXZNDYEL+Y<ozcknXw30 zuq%sQI(E#)$fJTPeMbP67qDjblWGz-I+E8q4Ck*ka{6m3@cBYbw`E)7U2N`Bm+RA+ zYBk9zyDw@f<&*OlODbO06bdi(3gx?CGfmE#JM0GNRU-1*fA}cfrh}QC1an29J%OT6 zXec<TevBJPfT8I*W}jRfA2SSMeqY4pQ+3Lu#I1^t^^rbHcqKS{#j1G{_l=bbF;9bR zO5if#K+Qe28b5lNhAZpq`4f4x1!DhZbFZ@faJnU9$t21a*?@FfJGK+fNshg98InCN ztRt`d>ypb-cN*f%7$O7>bJt)Y;N)8Nb>9eJ*N;Ip|7FiIj+Q#)7>$ZCRGt4C;PL*@ z97DU$;b4yo{agC8i6J@AZ)w9T#+g1Jq}JD4@|VLO`|bA8XrN&MpG#?fS)JUG8nZlD zQn#5QR6E#VTEQTMc<#ViLq_9kTa&EO)oHHAk8F)%y!X}8_aA}3Y{Qq;k2-v>a@%qW zOsnw!K%`4vPjbJ1nyFFrZzF`?70nOB^FB0Ek9ki#q4K-RaLsI~@<T~qt~IlE1=Ef- z%epzbmYQ3ru|F$ZdS3(H{wgKEvD(0_S9Hr7Xfk?j5^`o&|1M?R8=Vv<u182CHbs#E zvWn*F-sTnATGQcWJ0VK}Kj<OXb8vW7%1qq4Rol`+T-`pnQNl*N=ZMq{V|8(IUclJ3 zWfiA9bo-1})N*dmp0UAVy=1`i5}xZM(7egoXZVj<#)NFKiNHFc&MI|k>r;t4)(P4p zil}Rk2dBSHVZgy3gFZQ_kw}5xFe=zrj&ZO2#_;7u)fOXiskJ}&sKprBF5|ne0h#LU zYJu0Ax4U+DRy1~9<=I>K$ZKAq5NoAde-r)O2V*cAyN_F)i;A3nn{SibH?t-E4xsbx zyoIsgqD0KPDtA(>YH;#c;LFCw(OR1Dts|9s0HYkHk+7UL-%(&U)u0V6tPfXQ;9abW zEme9XzTV0>PGvp@X-37${(3V{-AWi|b>|+f`1^CBYRjs+XPUb;-WPp|`;Q1<AE=MD z&FMJ%Xs_U$Rh=2&b{UPu=J?lP>#9rsBQpMvND@xw<lELkbNh0XJ6wIN{Id{y_@l9q z9CIHMCbbU4eGJHh{CBBMIP^Ws)V}3laz1Cvz*wSycC2>Vx|iFf;t$9zRa(t<j{tl( zMNoo9QDN|RTrMo<aiI2Spn2+Ddeo_+Ok1x<QrzF=>g2xYrcAv~Fc1{TyY833C!&t6 zX1e*Sv3`u;!}Bj%8n$Q4kI8L5pHf}TQ;|)1uPVAb-LxMw&s<+Kj6l2$YpX&ifb{hY zduAU^q<>#5iXdDnPdB}Fm@+<^YV)n{-)$xep*SAkH+Y?oc{_TV=6U7ia=Z6NbT_i$ zkXBuf&X;&gYN0=oH$?u;Ubn~fk8-_TpjUKx)hpALX`H;;NF(b*=gMvd*11{Lzi^rB z{E%?x%`sJvNVViZrdBPjixdSe{k1;<vA=_Bfw+QBA1j_A6O2=CeKWbyCktCyy-FA2 zY)cwff=F<1VXk~7ce902T(C>=5xi;nMv~+RI4yQqCj|HwshC?DFw0&Nfa(!C$Q&&# zA64H-$YT<?os$1fJ?^X5DXK?8(v6*89;6Ppi_3gy5zZQ4+UCd*7naTVSuyOF<9yXE zj}y{6T}-Am^^>vROZ63-5uLnyhr4(Hd1vU`lp}gU_GFH**aNls#mtF2eusD3mUyoC zR|c3wI`dbeKe-`K5NZehbIbyCK$mBJYON2Yxtdd#C&Jll)1bsv4bc@YmsF$I=OyuC z0sH^JyoygZ+(Z3{`I{1|=`r;1s^yVaA52s?9uo&pjz%8tPgO%(mZrFC5>2ygDYez+ zjak=E5k`p@AIE4U>`iUiM1T#KJ_Db|OrAyOJ6LT~@|B&R)hV4k8p3Af{1C(QX{nEB z)mF^-O$%@C8Z`r#P_@G4iK-QtRN^Aiq9V;QiZGjs(dPP<v}rHS&lVLJZSO5!x*@Rs zm4Hdfs7Bc|+V!~`50u`PEn8ilSI`LiZ0${heMVxFFGkxTjV#|E5-rOBN*g1R@Z8M= z@D5Ca7Tm(@F_5CelP(WT`X#;5JnE>2sgj*=j6YtH-j5AIm2Ih~J`JDkF8%b+cfi&f z+@VK__*F)*d=HjCf-3S<)t$!_q#ornhA;1;UY*0h)O41#sh!4kTB}vJhlasBXQu-+ zm;ExC(01+b25rL2)q%2qZkjNODm+HGXHVVLcMY5wxUbpc9FJBD$qU^6x-Q*1lu{=0 zPHmW0nYu&(cvc(kBYSz~W|PE7E4qhE$r+h~6;8v4BedPFn<leq<An{jE*B>Gm!1h7 zo!fl(!JU?T%U>;_Owt~!Pc^JT+9O-dIIYU6KR>b_DYF7k<4|uew1401glO`4)zvmq zp{UPaKQOg7W%(U<P&WMMUp{YneDz?#TAZA!(u@B+FHW~h^^Ke4)t9Zg!We_zI#$n) zC}!q|ZUnU@OIh%3w1LQbl6nc~m)V->(sYyNDH*awtFRgCz8B{#DaZO&o;PY*VvyF{ z!2c(})+D;LCUParZS>2~rEyr!rM3av>RSroC{LDT@tK+l*@(D)``O++lI-ME@6`Es z8FnNXsl|9*Ma}x&756`LS@V6ljFNnFvGUR-g)M|H&zx^7pm!xc6>VcnOwIa8d&?JO z7Q^Lr)y!kp&A-k7=ENd<vn0s6)K6g>CDw+TKH9Twqv>ER?{uy(oVL4=H3yFVQvW`7 zc`PW|0R+SJTj2gzmhdpQRI6l@5}CzOS+@6nP!l1Spbv6o`@wNxH@D?aQD6yhFL)oY z<$az~Q58<ccBHX*%Nk|^xY?T`?k)GuB?;GUD9)bhT0Y^)`hM?WVRhq0-o==G<jEF6 zUSYnpU4og=PcNvt$+C$FY{*kiWo8^=4IJlXe8$gC+>{nKQ15YaYn^3ItK}t`QD5WS zrM^d4SHBpqelC%E4{AoQVR3m0aPNfj=2}h}Pbm(6B+lQn4-`IUE1Pz*U302KuiIsd zn8<HwARj`eW@mQ^PA3(z4rPHc{-zhU)74)5y!5@sLs3`Mo@Gv|Ykss}H5OyX@XNp- z(<%U+5_GP(qiOY+*ycN*iqgG1<M*J`kGnC8YSfyv%6Fm(y6Hai%`JOwx2k?++f}Ah zv?jviPWF=8^$8uv86l7?Zp#n%J}CMsUpi8C^J8tJTj&Y%kK53T(NOK5j<fS5;4Z^8 zS?_6isWP3$buiEM<W>D@+vSOP6CILot}!82X7mpk<7><Ez`uhUn<u9*KOGVp?*tY5 zW7Vo&SUl@*h0~8tFSG83PjQ5JNgQV1RO+U<`LP17rld}uTUvAv!xv!;vE;G=6YuO2 zUxSKg6e)lan2g%YI(Nc98m3|b-Xt=pY~m$d(KowtoJ6<;>Mw;vG<xT{QfKGdlfINP zd(>YVkTl-}l!v-fybW(Z<cPTGpzPM4G$ARz#jtQ#!W;=GKQCp1kp7OJ*ec%a@Lq>N zwRlw0OS<Xpm)Atn2xHIXGl?Ptbl%p%wgRUq9Nt`yog*oG0C1Ve#uw?1!30)fmzVPE z;xCHsMPJ^s)FS*29ZiQ^Z0ja!z=Ry?-=yTZ*y~7m4)xAy(+AYJT8fa?vxSjNK`M~B zDp`0MDQh!8_Se@Su<<<(cY+}8y5U~ozW-*RFwDuvI7-xyC;!9k&XRfgmLg@1@9u0h zF9&}GE8q3{P)H^~TEek+!jMr<O;=L=?{RGa04A#fPI?(@9CP_K#Jm=U|HD`e$p5Ci z{?aL*t`AoSCTDC|C6wx<!Oo74qJ^y%vUCd*f(8WfDqJxp=O}G=&1lvFXRSQ(VWa7t z0*~zhhuJM3iTCAO|8i|J5eISpZA;d)Xx|aPM2-Nz9w`j`m9F~Ctor1zC#L$%HWzBv z=fMsS8E|PeyNv{W?f$i>-r~}jJnv8yHNB<2f~>b6e2$=BuP<ZpLFw?#@_}2K(OK)% zn%X@mzGFhTH;{j<nQJPM#&o=blUY&N68+^?!OH3ElR2i*Y4Hw;@Wro?(=tMaZrMKJ zPRxo3*QYlwi~h!e<{@FHMYJhMnkv0`%>AN|tsbM-XQd;+G%#}vf+mpA8wtrx!BQJ{ zyI(aD^1ukAQLh^b5Uip)^=4mgZ@Jmk>c}S1G;kqR?iC%%Z}Ftd*3=nkMcD}A+bfL8 zh*ySSYPAY4?>qY_gdTE^=Y%h(+edj&rl1G#*#uLHThw8!yu|qL%CK~;uYkGR%Q%}G z-l&5Kw9XrAHfL=lO$)0#DFMP`*gRnlX`fE{Jqqk%j#<C1KE4c~%>3*u4QVK<u_V*7 zYiZ*d?W*Pu1i!kd-coZ#)$m8Brfxq^h*(7d$%%0nW1}01O0;Qb;f^7{T74BY;n@tv zX;3*dIQ2f0q`p@At8DNdRE2rqGw5YPhWnSV(&b~rfj!tQiB7zNttZi#%=aiSL1HzI z?#j8h^{UZu&1@9%#bNxo*a@=!i?OQ3`g0EpevkCAn(_KJS{*MpzDNy#;E}&)IYe2% zb-dZt6~vb$km369f@)AIe*JUDr3ok~4}_FX<W1>+aglb4dQ+Z5I*2^4Lc2Lv?JzU0 zJ^GJm9MGTg?^Ww}K<<_?*8*jG85hxgpA#66ap5G^TNKwSRn7~M7~JdMjd;5!@wwTS zWo*Xs*}g`ML%KR+-})-225Zd6{h{d`p4lB3_kzIMU-=4N&8;Kpom+1M*mOP6ny%Uc zLh=d6ochI>`%r8Ykt$w(@Q0vYee-Qx?N@_4G|K8lC2(P`bT14qb%ma804dO!TPX=2 z+1Gv4pkr<tFTVC|Is@jXvd%9iwuLDP#&S0{kgRIZTZFc#4|suXQ-Ika%X&l-IUaTM z^h}l08eJNNz7kpiLZixT-9?`}3jC?-{vb<`o{EBplFpN(1t~}9J_{bigGu)VCBt3T z_eQQIt1_CeT8^w{>utl)0C87C`{BLjjTNAN+^<-2c{1<9$2A#g=3B#N9`*fY-K7lK zsjfH@uDF3P+=owXojO))P<|KpX~(Eq9r5(b>3|?jtZ)wJ&rhNld5_2wJrdtbG%DS_ zrHQ$xv%4?+M`bsmXmf=Yo61VDuL5gJ>F-RFTrYGUOvO1?H@ONi%Ko6;|8oB2_T$go zNp@LiKw$zd%Dx$>j+=TxM@qYYOFhatJ)fVE{Kbd^0rMqg5xx>m#PwzE$tAu_kbV%y zOjvZ6;dO8U_2UR}jcJE_b`rgB5^gYr9c<+p#CaeYinjKWcw%$j_#rzv%FDYkY-_2x z9ya6AuS=4nq}w*Zb!b&9N-aTIL4;;CkRRmzKL8;?-o7_b)nL-DVo9TuYVx2BtB-Pj z3ZZUn3m@$}-#w$w6A3Hwe=2O#YBqASFPCr>aG2YguQ!kEW3pK@<*w{xb578&t~G1V zGDzAOak?-;86KvU>}dotFB`Rp1+86M89ekg1AJ4lx^`Ka?a>&W?l?7}uIb5mj2)Ie z$19GNgAaqDR&Sa)cb%YP?|vPsqh>`$(V?UGp5MjR?LE6QTB#s2akzty{kW@^){rUO ztgZAtD?ZoYRP#l;&go;0L!Tv2$`97Ke-?NTT<|pVUs^T6*w`f>aP;ZieQR4jhciu{ zobJ9`4%p`>6_y8;cGy*I!vulI72xCI?};=GX`;KCnmMpBIuauU^#FA5UV)<gQqk{^ z%c!I+j1b_iefm`E)X!tSj@CCt`=^|@J!_RZ6q<*M?=QTh`#fkPfGEjtR;}GOc=dY~ zk{gI*w_%Tz{qtA!yH&O=BQkk$bF`dMDwZ^aTN|Tjg{>9t5tO$I81M(Mrs~>kiy>%c zZzTp$dK%IG&|OfUB#)QnBRwkv;wOx)yd9>(@;=O*EPYy2>^lB6&&_sqMixb=FX6h4 z8tJg{uwG9M=~4K%$67~+t=G(GT0*=a9R4-oUO(|3xvpHa(cC;y+;oa2ASXYs*17#k z*ID}mTuCd;6@yCbcQ8Krts_mnNcM?neHm`>t+>2x(@!wS1E2=1*<8xWBXFuY3Qu39 zeB%$s?Oq0rWV(<T@S_9zSD<`7{h{MCt+muD(v!o=LX$+3i9XRDscovwB-rv-dgm?J z3VV2o(V9K#54B<sh^eUC%{P*^>%c`V%NokC)gDB7+z-5QgVv4KqvkyaPDa#i(V9=< z=RM6c#Tuo)ffGt%X&FbziOx-9>H4JCx@wKST!W4dF<keHz9s426xEi_=1CfC2O&o7 zp!YQ5C*1D*FRmh$xVRs@03Lsb@T+&%3#i`7Fehpbq<!P<USfVSXz`fYC6U@=fLU>m z^Tl+~YHg^fWtDubp@!F_?R`fZv!S}wVta7EF6ZL8?-Kkuw((80jWiL>BPJ2?hEesc z4Kq#L8dh)NA#+h_Qct3^%{AAV9&)+<5&Y_wn+{P&j8E{M_xnmqcDLA@wt~l&8UFx1 zE1<ggUb>EpZ)q~B3wFoL85loW^ovU^+S1%KXLNvIAK@P6wC-QbzgSsEmg|%9)yktp zMv7;Z+k6=Q&x6m8YeRw?a`mj8Wi6~5?DH#ItNg1X@`vgx*mavI?W~WM?egFNPHUdj zd^c;Y#L&qSv0^X?>VMCrOl5J(osSaLOjeC5+({nJRxn3UbAwzyuf91`W>>gj#%t-l zf8mCcr`TIZCA>0RFe(|Bpgm1_$HWhW&vOKZ%tz!veozNK^}JfKgrd(o@W;eE{U+iV zCcc_GH9t2wz^`KXVXPfwNj$fUC7sZ~kiK_gpgFEbLHJK*`Z~4jY`dG5^;~rP>#O*A z@Y_$(wQ#V_JhrIi!~wG&NXIpmM4rXNdo$KF4-(nvIy*$nv8sK-KZ`!~PgeMqr0Dv5 zw|{JgSYzXAzE1BzD+9%FX}3CzT6A#D6iS|Kg>n^#I9i&|;P#%HV@>46ETMOWBPgqm zp6A^9)=JBEY~qUgN5mZu#Fz4=yo(0o<`r?b%x*F(meur&&l-4&LujT&^Dt!Fv=3oj zw}O5ZS=>L`p@QBy3t?Lvk6)!}{6*2%!P*kZr^2muBY;6{5;~LmezmflwlJ2b8=?FH zlIL1i)TNEA;p7O<E`2_p_2?SM!W|D+(;<WG<z6*DRDrNp1HEu}{y)|<n@H|j)?;hG zYZdA-?^>5%7-65nS6^mnzSh?6+1ha!?sHSkC%9Q#LzU8eA8q0*yNK^0^C1Uh2eHOR zL8>kLE{#6@t|R{dO0{k_xZBshYo_>AXV=o+X@O|t;2wb2wZ*2#dttL`^vL6-XqzXN z=g6Ki{hlt8?WM8%uG~lc-&|Hj&w+K{52un=UC}P=spvkn_3~)2+g-Qr*LQLUUrNi@ z^lN*t!6A>#C+EoOJBlSP;q2Msng_)n5_mH~v1{vAytcYfv9f1)9{%|Cu7my-q&M~e zM&s?1a3OQFq4dpqyLeX4T|Jg)A^C;|2i^1)$ZNj`w9P^!+MZnMODlnf2iG+=LCVq3 zcpJrf#2Wm9@;M`c{ZGoEa0lyNioP%!0|}Nzean&)(!ATmmYVOw_O<h&{?f5rmy$92 z%y!AEz68|Q$Eh^Mu48ZcWRfr4!N)&b8kgi$PP#7;O?a0Yqei}U$=U~K)N}^5G`&$g zi3E!T(X!=34E5_=?&);<7qPh7vO8{2Ka6KJ9n`<*>*cSO18ptW287KNQ#l_Rd>4`R zo6G$!NYdW%c(VzG-QW7-jw{UkW1!8Vq%5koyRsfE;gJ10^It+iFWMe9{{WsR3IXa( zQTT)K^H2Dhr~RI2M0b&$(cH)Pl>7RQYSql;9><b=Ch^_(fVJ^7k+j>CtE8m-%Z!X> zy_Zn9Uln*S`$`yo&eBchm^+;Dk^VK|K0Nq$uY5eXhWB${SjaXc<0k}v3H0w>m&1SB ze^1jcEbVn`Ss_&fNWgAVdvQZEU5`reufzMR{T1~nW!S2DP%s;h=U#!}Qy!J0M-vvq z{KWb(?Oc4H7i_gb9NKFy*e*V1W&5mp9FOzTyNv?&*6zh*1zA-=k8L>G#VE9DTw6A^ zWA=60@RPN(_fOOHuLJnC@VfWme~oQ5?LJnLCYVPhvFHIkGt==k?zY$Re1)7Uq2ws~ z;<COrcz$0T_&#ki-GGwv77F;z(g$C!rD@BigX^iy$>M01D}VKn$ueb>x5`a=C&SHh zFA!+oXPLi!3Sbk^uNeNd^52BKZ+GFXC;JD*3eev}AWIpfQ<(;EK|hu&+Wr;lt7)h! zdAW_386Eh@{Q0c8ns#OS3F8Zu@NbNoD}ZIU)L1M;uVcpC`x=wPzYetduk0?SjaRAw z4&O5b9&y&Ue0Qe9;$1d7hE@ATq^4MYoPR-C*E+G*w8$jig|}j^G0>k%wyuTLv9B9H z5$TPmw9LDZ#<A@`Df)ExuO5%#%zhF&lyQ@5dk@ZxhYG`!xO(Qj-YbY>g#$vYe(3cl z*0R1KTG{HF1pffL9%>a-Aalv+eZRt$l3I^mhlN_+-X^1KCz&S8fL2h)hCZUb1HxLx z$A=3#?r8Co>J4Qkmu-FV1#RagVU9eapupXMll=bxD%RI@4MRfKnj09B<|(5r8O{Kx zOR5&VO@AG|zlmVc^-D<=yty`9#(wbmfgjejyg{MIcM9FBGboMXAPn%>IUkN|$j#ob z;rmM_pCN7;ywDHI4oM%TE809Ss>iE%HqKAEkkRws9OksYaiYGFr^EjM3blJ*DuE%! zcVL>Qr0Mf`hvB`vE`DoPl=SPhn*{z}ty=Jn`pKf)+mpUeGDJBXV4RQ8)^Ed)5>2Kn zS;&WU7moyh^!c-l{v+}=NUcj6qz3cBGF&pWZww@ogSIjK4SB!DC>9?KMw^mNvIGUX z<o^JTdXwHRm!kPIebi<W0y3Z%0B7nNyvO2Rfex{1&|7(mS24-XL3C^b_=<@~u&nnw z@7a^X{{Zle{6Aay43Yl;Xk5D{;qu@eztX)zd1Ej)+9QVHRkxur^y81pxc>lv(+~Jn znrwSmtb2n3cM!pwC-FS}E3R!q8C9c=mt!0fc;>k(U2JIzmP6QD>oBbAx6B|bZyz@u zIqm8ARlOqW2z3^^lGR;8l}Of2s}Vgh*QeuHHyX5-Qf+VEZaYEG%b#CE^{Fnd9$R=- zRai%s3=cVMcl;|3X))gKQ*Tu9WEz{=%+W-iT)T+bjNtS*?bfI~c9&X<GstF#1cG@v z&w9t3!%gBiStGb;cMeK(-~RyBS9Dz->qNGBt}Yfy6tDr)?|^tUe#Pz*rne@TS}vfM z3uO$m#(qHlqP2Bj_?RCu;e5E1eDQ|+qM)+Y79CDMF~8B|0j1j(?2p5zde_&qYaiXd zn{_0HY#A0t-MfK|amS`T>H9Zf#b|N*hM6U`+_Fb2!@p<>N6JT1Dt%Vvt}P>o{_aI5 z=T<xq#;4RInmd+9x7#we@pRADs=dUP>b_zx&60N!&0}Pqqo+M=Vy=+)Zrd)K<xRWP zWVb%QO0jvQuA*(<pOuF0H)K|ZpQ`CM8m!jv&gSJ;CNRTb_x}LvRjZkWlu+kx)@{6= zeZQCKOWGv#GpiKdg(>v;w3~Kl{I*iWu0g`%w-uOW)vfP5o7n#V(4;EsBCa;)wtXw6 zlI9bYa!T-7dU8E0ow)G~*Ef=^v9qF*U_yRV>HMgam9+;eM5ldmac`*IGWn7$OTav< zbm{ul#MR;!Uucb)nSo*n&ONEN`eoJ0mVYs0jfc#KsTltN>rrV6Y5H%I411ez%12f{ z^@Wl#=I%_MBa-sYLFKbdglAyRRGih@onkxNILvGN#p>APj^O@PO4cc5EMrshsSH5s zD#YFtYv{vy+e)7?R2{v2YgossH0DL<?owF%$y;_1h{Ap5=BwIS#eE|;m9|Ci(Bq~L zuUe=5n>Lkh$suCO<bry)AO5=2(sdZ@Z`GueV#xSy>6HV}<N4Oq`L-zw1*+Mn*_ERR zj9Eu)`cp2_7+{i5GC3RNI9A37YL8cnD|>kw6m7e*2x3MlEZJ{IlCi5SiODDOKgzR| zxm}qqNeqH^f0<ZeagsZ6(xTZTnB$H;(l5+-=siBY>B_5TBBKS2WG!BgP*k~<w(V%Z zDp$R7%G;Q^T*;m}tmMkGDzM34<x$*U&8SQfNmbeiARe`9{^2HXncI<q2WqErrpXo9 zc<va)pcN<Ar%KK;mBkrZm#(gw-^<?Hf-W()tyNpS@_CBb!2D>{3tR2vNTaC@S?Q=k z&dN9KUZD4^B`dp=Qc1I38>zLKnn@&Pz{VM~+ZC8(DYS$4h{!&bKlb<7{LkI122#p# z-vX&cs`=0;*|q-ZZ)z)DtC1+H7q2E&vf7*+^UXlA%$6Yk01t6d%O{<c+#A2vt=puL zG;GoX11|~IohYVCxM>isr2bxTy-hBjiyX2mFU*HIKU!N*kh@8_Tg-e6cEwz`o)-)o zh5(Xr{OaC?+@%cZ6tbU}hwGk#k~`+Px>(hQ);wp{pw+Jb0MPukhb7M}v_clzSvD@z zDll8=>rt!JH!a@9GR=dP<D&GUs70>)otx7+;)<O`%3xh+hT&CEtV$0!?OJfzeU{Kd z$8!OKeQNAdd4XC*U8$X;(y6V)msc(2kGguE{`GwB_e18f&3M=0#kY)XOhvHW31r>) zV!Rv1`Uacu`%}2Jx6n%5M~$<&W`;xDf&DA#YpaE^w%VUDkn(f)t3GW$8^h&EXKy0R zaQoCSBh==*saI)x$4xouc6^s}tqX?oZ#3)6c;s@y?YQIE5n9@JhBUt$+Bews3#lZ5 zcQjMlkjalyyjRkGD$=ahY<-^Ht>XRI9$w}hxcZvRy7+r7{eb%<%cQY9DxiFif30iv z#j+_>SJe5w9|uW&a<Rj3(oGxV3fN`*D{kk*_Yx4W$kI+ZCPw7?=DiEX9un~ef(^`? zPM@qSLoag%A-Di>&#%x`Eeph-+cNobX){_)5W$jM2UF}1^R9^0ZCuygYeNG>)h{h0 zYiTX_h2lmFo_?L`malVXbE+(I>HbQp<Tf^B{{XvN*FG;dn)=zpr>T>b-zgX#=Ze6S z;jW>lUS3Z&p&*5ZV+>1e&nNP&BX&fcjo$+49vZs35?)0Nk}DN4vmSl<uGZ_o-VN2H zSpNXCY{PX?AleV(UKJPij*%mIcMBz}K3FpS{Acm5n?mtD#l?z^vP?TJ)AAabQ<~Y1 zH5XI9o8T>l)zr5deTJ52kmCdyBTt~|`3g->;S?SfwDT_GjZ~@M<VUeF{Og2+#`>p) z-KW#<B!otHG*~3JuN^C*u>GLs@hy~*>dY<BE-;|B{{Ua5OkGs<HT~O1HL7U(9<eIN zXMJ&RJ2nDmbb0isH9v$J(Y9c!jH)*yGjRTxuEWCc_(xLI0$9xo+_xksJAv!SJlA2Y zX_HEk!)<kyTpZ)?4`Et+ZER;MaXxEUn!@R$W%-nlLke!8s3OAK8PZnZj>5e=#{U2g zZXmgvQn8LX=FVOg9OKjvTIMvU^jqOHcksz?a>rvALIRxg>CJD<o{Z;o-$NtAzZbQQ z7A1x|$C?FPY?J24(3<wI2z*Mj*StS(JS&L`k1+_r2fsDo+V6&JZEj^-OX%iRVib>K z-mmyeU6)UR?Alo)jr#3lxcxs$%5-Ag&_+!jx#Dje+-g_N3P%uymmD5X)Ym&_;+wAu zYH}=6HN<iNL~oV}k3(3gsa$F0JgBt>hXpeveS6hdbxX&&WscpZ=O>JudVaK(G>YbD zXRP?{-sU)ETX}wB2Q7dPrafwSz9HE7a^q@4B#z61%fKGh$lK}HI*dX?WiH+OP8Weq zz0*?W@LRiiGI6-GVy}`Vdq#CSSM3dN=QJy0By7j!n>&d7E2r?!h_AjO>S9%q;<JY+ zk)Qc&amzM(V>|)%uRp)=YUz0L6f)y+90F?Xw3FIfM7HYa(SXXK`2PSs>p4^YQe2-? z)?l`60{x+Ho@OJU&(gMrn|zj=+ErgHjH%?Y^sk$IL-8lX8fL1}HQmHAZry;#*0l6* zjr#tnt-^0FrWTR&A}Zjx`qJc@G=$=PD`3_(NgBy-ZxYOTSis93=iaDmx=xFzz9e0l z2WbZc*PVD@;?IY!ZrU5Ao911@;y^%BKZJL#vAkoZ>QSRc7HBs7q;T2xsOFK=?lp6X z)kW8b^)`&{SQz9CZX|me-0;7O7VB#K-1X0DyJLH!c)IdSc>e%+W6H@3gSk&n^MhQ+ ziQ-QNT*%&Bkw=r|e5CFjhJ9;AXSs(pndwoyH`Y%aimsAyPpxtKr^8jWy?f|xRy9>W zyW97P?hRG&*NN}1VU9@QWmX+rb*`e)NgHq595kPJFZV@O#c3m%pTHLP+It&_WSV^L z&UvnP#NP=fxzZl;-7X{Y4nh-wkH)=9=Uunb<5A_bvbF-EkG)8jhgXAT(rk^7++XWU z+G<y^R?zTOzPi#azRdg8j~=8Stw-UXh`OJF^_IAfHJ^GFQ!IOz>t90K{4>&ScU;`Y zjDU@(!wL`cHHYzI;r5Gn;mx*ot8Z|uHb?;cu~*Ebj(I`E^LF@~s$JV#-NK3cr!O&I z`DjV5XW~!9Epx@!4JxsU)-!~+Q;Z*T-nu<I!%}!U&8Ct>pUwojg!{jZSQZvndN0}< z+`}UrfJfdGa;331eM|oU2K*ImeV|+3YEnsYGh#<Zd`BB~10LRny;=$2mv8T)Rp>eE zUINzl7FX-#w$+f9j3fSh3evXmCbwYaofFGZkDPtqq4lh4Q<HZ`L@P!+o}1&%S{*h) zZ|7o087fHNR2~XHZ`mf`>Ax5!Ij<trZZ&;xSdM8DYnD@!fN<D9(z}lW>h~TWzmLt1 zNR@dA2g{RGqT-C|ROWgf>uU=<VjPIomjwa9syf_udVP`e{Iy;_@%zWpv(v?Ea5k&v zY;;<$7Mm>6{i5-_=>f{A=@+0M<3wiO=8>nSr<MF}_;z*BlUYS0g<{1|)2OdBvG`{r zB#ewwML9c{`d8IgnmcOnbMmPeKQ1_|El0s{Jkg^dNR(ia-nER<+|E>cA2Y;mE*2Yf zxVn$*?n<!va(kNXygj16s|u_-uBG<fyNqoq+Q5HKYu9z3g;pBIj>{Y|ouuq<x<zwq z@W$rA?v8lYF~J+KSLsSqi`bP)Lp&_HrkP~XA}5=SGlt!_@vMIsXdl}4%w8`x@E&A- zTj^cZmxsK)Kg*7GET?t={<S5wrMto!eX;L2R8f-H^{hP&y`Gw!4wLZy-aR@uzEupX zoy6cRLjE0(#F5Qo67IDACQt_a9+~_rypKeEV=?(bquqcTpdO~KSa?1?A$G5)QNrix zTE<VQn~FR)RQ;b)E4e2zypX8ei5qghocF5p_)AOF?52fmVTO3u3n>L%Prq|s@2u!T z-W|}$%-HB#<sPQEj}>VacG_#)t*y<>k`k^VQrW8Jxtpih^Ibgao*J4%C5$@Nx+n@n zzv@8t`c>T<#JaWR%+Rirac;zK%x!?Y``1<Q`^nTV9uF(Xz}h2VO8|XyTD~CgI{1IZ znq<()x;X@fMd$$A$LoroWC|?i?Pl>zlM@x<+s0F9R#B3DO=kF4;C1eysodOZS6*XG z#GR~JocfY`SD{;kntzpcu|IniUSAMjXnMo>n{F+@!m126=T#Xb8uc@*egZ-)+suii zOyB@>#aM^oZO4boi)*PP5&%~YatEd>r?vR2rrJRqcMT*PkIEfRTASh@iJD%X7UDpx zg+|i9#CqfDQ_X&b@}##jbgffTiuP+;h@_GzS1T$U?p`yvR=<ZMlTbc$Cg>RD0T|D{ zb2=ZzOFt3Z$^Mb#LS-??!EiC@_}6cs_`6HHyGUb}-bnGaLZ7-vujx~^qmHHL(5@$m zSpuubayN1+GbGb%G5LJ38)V4fde=gAi&$a%F74CEyO9COz^n=Ni1f(jc3+-CcKcMf zb7;heRh?s!SNV3RI0CbD=p&x$IZF@}?hEURp%%L}{IY+mRgC24r#_Wz2<-m=)wcPh zT&jcI)kZoQ&R5YHz9+q!<5IYn<z-Km2W(W9I%UW98p$QRinDNY*A;I=(->-p?U2aZ zQ+k8bIULtXHOUrimgRS_z$|zl{;JcO#KtY2X?LO>MVdB~%Y_aR6m|C|oulb;csg}3 zuJy?-0LfrSTJE&p2HV-gxsRD6^<&U?;<K+}Z8ucrFjaX34DJ;dyET<2wLEgi;{Ktm z_>%3fEz;dY&LUP)q$fBP-e`Xv>~wt>?6O+V=CI+9Do^-Rd_my|{7rpzacF`TZ;@Cp zBkB0pF5UxeKleABxF8N{+#>fdbsE@`>*Kzmr|a>xy_&V0BMXNoB=^VCx;<m!rN4?S zmf}eoIJXsT{{Sf<dmqa+!)h8vrDp=$LvGR9B!W}&@h7%=)yX^+{jF!Z;_@*d1mKPV z^vxWLp_{uqnS5Dqso2eEw-78S0l{E)40ftl`UanQ;c}LfMJJuKOwl;`@N>t0)xheW z4U*p48%Y;;n0{uA=L5BI`j>-sPYG)7)^`&|s&__193JEA{{Ysf%E>;H@Q$7RiDM+m zgoZp59zJYi(!CeMo+7us(>%!BFvkZNC-AS9d=K&VJt{e))z;!$<{~}i#=(vc9jnzo z9Q;hu^*FxKCED7tO~x$r9f#vf-bKXpEkf~?nU|>OJAa&2RlSNh<eF&P%(^O(f^maf z{=4IgWUy(PMEg9e_w&;|4H{pKbng>SY_|81yF<?}-yl<7W}MbGjpfWY2rd+|$Z{BT z9@weX#msw`mL9atZ&7P!Sw2#W*J;i(Rnt*OH5HHeq)q1oprpi|$7(vXNiDUig=r?> zspzJ$d{5v-(dYiw(^+k<Bgv6d<&IK&W7eb9^~huKS#?DWtL5(Qdy`vITt|NdF@5;i zgJY-|=CgOXv!=Ojc{h&rzY*NMt@YNIaUa>#?PXoS9yvJn9qX(3bK~289%-*`%6`{w zps>a_v9Ca%QI0VRvc}0KM%-{~f$`khM~3`g8%EID&wQJee(7R3&TB<u7|Pq4){?K< zJgvJnoE-JdSkw&KO8)Lo`1s1@k56%2CyF(;(q&tVd0Xw+#Au|Q^{L>Giq^jn^y!mR zXzcFo$WJJ)+<Vh)mF~09d>sUO{)P4{%Xs9030<tYQU^o+d)J<8-?O!!hx~Q@tsSga zcI|LHs2KdP?!e@K5C@;iyT1hLO13gXYjGUjS^MDb+&b2jnv?4Kq;{<j?x1CoNjm4+ zoMdAtE{B)=O#PlUUkygur-P2=Y?<sBj2`(=c>F4_!9R;StQRY5e5%b0?380@U&HXl zd)B*p)>dX%QJ;)s9czd2?}A=U9d!*h(m5{X%+kiV21Aa3^vzZ7Pc61PEeFK9Uabb{ zBw^-os=$n6uQh7JQ5X8Gi3nKjt<bVD<gp*pye{wJMXZv+rO9n|r`*EIWOAe|ZQXP3 zabB0A>mFr|qAM@&85Fj8<Db@=lSL4GT=+Q$#0xvemkV+i&9{+9%@l)?gXzV1kHg=H zTDOKgQrczJ#A_&WjSG6FbA$BezP6R3Ung?zX+BUf_-4Fs<5%qKZ{oQoytP%1?lxxg zM+^WN>-tk_;=g0DxA7PDm5Xv1O&R4+Pn6bo!$T$ShP6W^T&(U0Jx&x?oA@J3)cy+F zTk3kbk>G9d-9*owqa$h0rFv(CejsS~dMDZ~t|5-b@yjfv{p|36BiHFuu;Xs0L8R(m zZnxbh4y}Rtb*x{EJ}I-%Gz)d}BZ_P3e6U#K7|H(tKU#N%b@;AUNEStAXFgnq?y$+O zYxauxKYQZ+5*w>&yvvI)U&{xKb;$gv+@@prQ^a;UpN;K2$)j!Mk%sO;+IoLF^~*gj zHPB@eX5-~xgdCiZa6X(0`7gt|hxTWWEiWT6t-*b*6AW^_N2X6|`jg>yyY}5S;we65 z4Y^ND<WU)GVP8U?h2gc-d>ehHNR2Jl?=~?Y`H+AxbNT*tN8#qQvs&C~GJKypv|#nm zLO+#v_d0LbZ!RwtRh?t|x%<`S-W0Q4OT{x?JevxuxBH~9I5l#(qV+c*cywP8Nb*du z#=x;t{6tgqxvX`M6zWFT<w+p(bD!f~r$3Em{8`kZw7a#25gS}gc7|?>J%3vB{{Rnb zSKb%+j@A-f#L>%a(z#6Vy*hfF;-wl&$FXWs!+WmWS!`*dy0rnAe+OQFm2qAsx?MH~ zjy3(`$L20aRv>2|ujO8krubRmee0d`M4^d2y8e9E2k{cg>~$IJV^O)+a)#}Jo<5m1 zWL((zG2(H5;9GlG1To2Kq)0*Ulgalr)g|egF&CB^Ol~g6sPA4c;C)(859$*vG5K*! z+gV5Pk^X;L?lsL)Ys+X_868kA*8ca>xg{AkYfY}FRROiXW-zE{##%h`2d!>sBHr50 zWoBKhnNT^#2^g*)LGbRWXBuB1ZzBNbf3Hg3lGE*ab4xTa!z#9Nj(z$HwN0C7&8s_@ zp|WI;%Y{0Y=mD(+{{V@ZC}I0ddp8ZOxQu?h^{!nOJIIQvNhah0hVDJ{O5P(j`m;+4 ztZ|~?C*1>#V~RNqd2~0fG%vJG=Pv7ZP$SqzILA@+?@%<Wqf7RAnc1cz%iccsJpugc zJI@@)D+`N_zEqeQAeKhs`I@hF66#u_IGZXLmm`&LQCUebs3xpl*6-GNnnVresrkVj zPfzJw{<gATZB>u$4=Zk9Mm)6d&)2nRUrQ#Ls<KU)A)QB-z<i+dpT~-V>sE|iZP_2l zySL<k-rtpR$yu2FU7X*AJSMs?i0&?wzxqKqjz-SXGsybpx*bbXTUeDE39fQW01rdd z{{Z!>(%QI}d~v8r7pI`>MfJHBs&@_vQVH)^N>1lAqT=-`+v-bxcLb4hzzxPf3azay zcIxs+9@0Q;1K+(^wVffi+}nO!;GXrJscSJ#&dkbIGBdS!e`;$}D>lt5%i(hxh4~nu zQZbNlG0){xTHq@vR2$oXI|1!gt+jJK#4_8lWs@pZhi>(L@#2Vo67iA;VgCTutZFtn zL88<elEZ7|t1{)W)2ORgx{|^YNY#}_Gmdfva<{stnxUgsTpSWRR*spgOC;^Rfn07t z5}g^zZbW5cMomUNQI(yW<>vynt=~(&vXgXdw-J!b^Bf;<p{^~bX>Z$V@?V}h5B~sN zXnnqW8;#N1q|J;1NFx=rYc$TvH52%Y(p^b1$q7|hH(@|M3G6>1Q2dsPVdHX~tAo<A zY_*Gvhnh=;UB*H{0~;|?9a&tTm3-CYs~**bYK^m&v)0I;QMy~H;%05q;|I2J(9_^` zo;+^cqvd7)02-%zG<RvW8AOYLk?WeRs9k-BP={vG<`5kE`qW1487)cf-|Wr=c?x=t zxD{gFcy$Y9Ss9hQ&Ie56nx`f5nHDw7io^!b>q~Wa=aq&v%yEpV?hblWj+>fB-9^;p z*(0jRyK{zG&5Kd;w?@HRY0gOIoY6JR(gobi!z3SCY#LOSS4`In$ME}tDrFNXN3k{3 zzC??+<_wr48S7A(8KGmlmFPQ~NoQZQZR*`HDm(2)I4@&XSMv(w;B>_(#!QV#ZRSa2 zRp)ozsVBXfG-%`bcJ`**+xhpwzG%k{z`?7R7Hc1!aU*S28~}MWQKqgn=0m03Fhps# zGUp{JT4450-eYcN!9m!1)N(13-YEj$P07b&ifz;xxBcFCDa&!qE^m6m>S{)j&cG?% z6l<R|`^Vm=@m7l_m!ZcXY^=wE2TXMz*0NyN*3(NVCf}HVsNcp7XzM;MlUUHjjk^B; zt86i0*8?0H=;hGsgrRLr%Q+F?46)=f&pc69Ek4e+$ghpjfTxdYDSI+~(=SlEklVCz zF$}{Q{^+H$zFj*{V&6MPrzG%NrMtC^Ter=y=a$djtlOJgi3EZbS37=P-*lSgi%p#9 ztD<U>YSywdN4v|Ak`(Zx>)y5#L7M*JIaWoEHW?&yimRb%Qt6hgv#f5-!!9t2J*#_6 zXPZwOm&;Sh0REMvsx6JKX5HDrX9BBi{{UHmk@Gb=LcUtGf4n%xJ^qy@sPSCNfm6(7 zIT+*))M*-O*(9pcD#)ie&PWv(Ta_51C~fz|#jq85I2pxoekb^St!qMQE!HMhd`8Q} zial$+yJ_HwvaG01?b!R?)u*AsB0(F?)bgO7m8@|RhQZF!^Uk;6o9_<FttGixqxqky zay@FUsRh@F5*XT9yph8w9S^;ICw-zrG{vMvk=r4G9AMN|-wd?<X&Ju5Z<XrXcCX=% z_18}@hg2Te`Fl;av(xp-pt^`l8OIVX?V`GE0{;L-W|3pJh81t(`?>rLdtRgPZ^Nx} zvNoQ-XvWhf_Q)LYImhE%zP<ZC=<-V=L%QD?AqgjW`u_lhbbW4|p5;cOIIC{}>GurM zWh0JbxZv*f{XMIb@gIfs``PX-<hK#Y3w)BmHoiT52==c@zwm^f3$?dYiwM7a%x&2o zwSnRnvDBni^4d9Y6`4hE8JlvZc^`*7A$j5N6(#kX`MX1I$i`RHn)J(iTfY_A{i4@e zNMuFA#s+ivRL!B=+t`mS_W{q%!Ef=bJKqV%eJ|Q9<T1?~bLF<u-&!o*sHnvwSHhYm zziX+=nvKWWt+?6%&f<Og{*~5hejSfgu#P!2_*-et8Fzkl=l0iLFtNGcADq@}$stvO zj-OI%sMEYnt?B+tT{6tFaz~f7hqt9+E`Elqm#KE!LecaqU7ulw-bFdUP^wL8X}%k= z)nr+ugDeTbs9@GDH9L2YQjRbr&UY^Zn$Ne>bZPGytnQ_Q%OO8^Il%lV=9y|V`yCzE zge~PQB!%{>;bX_%tZ9B8+QAad95KfxbFmj~T#9+DWX-;#CCd-I9k&kMsMkD0d3&Zx z-fG7-)8(p;3I24{r?VzX25gYnvbBxFG*T17C(59Dk}Epr!CE8gkm0<&hb4;~)mtre z>Kc<;-A3{10e2M$aKqO%c0%y5-i?#@OAZ>e_q&<JMA@6c8ax0>(@i%g2h1<mx8Yct z$AY1jDQ+z#Rr0~YV+{WQPSr*TE-rOnHKvhOc-RI%I_k8jMCgjqv1UIr=eM;~Znq`H zGs`u-4mFw?F5#LdY=<(Bz4-G~wOvNm+--t2>9;NcIUa_+Q^mdyk6Vk$-6E>D8&4*x z!SKGrPOxZJ)n}4(kY)LbeJe#S?4M%pd0+e^ZGUeWjI%ta3O>G-Jonnigg<t|X%$G? z!?>?%(mVlc1X2Fy_py+Aa4LTkcp5!JP2AA0?s@yWw|}2neDQh&sYxTmych8qZFR4- zBRATaw_(RE&3cZV;<>zLsJGDhFtEyP8Og3M#UBGChGo3d+sir2oPFH-QQ<EYOQoTP zSsA2^lpG(Jj@6rjz0omkZhHoUX>P%`vhGd*JbsmjuiMQQsV$6h4fAG3aNO<9ag+Q{ zxkg|tWQ~=!mL&07Y4Hx)3vaYYQCM})ENREg)0#aFpF*~}w7yr9a|Ik0JFqKb`%CS* zzuD~JGBb62e4@B73w%|#)h{H6=8v8`WLH^l<7jOrSkcDg^I=EKe+tf~hLq|Z5J@ce zd8_h_U;~j<^*tf=97<&KJioewpsXAJ03S^Ze`vU4YYA_bC0)|E{-1?lw~Y18V_R!` zd97`1WnfsaCQzQAjY5=-FCM1;vkW%~(8Frilds-Lfc%L#1M#ZYUJBJUU0T*#rMI-x zV~a9dMe{R1xySOYZ6{l`&}{@U;khKRA9&X0pW{ng{jsZ^{V+#LajD$T*`{+hehbo3 zV_mS@$Uf<lE0bH^AMjq2aR-+)mRBtx&fUN$6{W1`@M|_ZWsW&}u19+F{{RyBGDWpA zS=!0=sMzOZm^*!|PG<HqblTMK;PAegZ7=#goO$RQs6RnW*DS2<Y?-04QzU%-z%j>K z@<sTa;w>9aj>bKkloe(xmmbv38{=lVq(>xoma8(hcC!zft6rq@Bz3yQ_0);EVe(mr z5-RhLTIzfusY@=HpK9FFDde!PF|z%kZY91`dtkm=gSaDlbjKCZX#W5fG`|x=BFQsZ zvH(iRFdx`dyA-M&j=$qy?AsOlEMIB3W3)$}gVwpruNdCmpxtb-w;9Q<Ct3K#rRX<v z7~!~-f^bw}Tk)toJMl&@6WwgMiL7Ig;U*{L{Azi7hqOHvJVSFXoAScxAvniX$E{7N z+WDFsb9~7o5s(|8?_7<ZwGF)ce$ui>oGhYF8}O^wm;57J%*~OKJ7$ECb2DT95(|Ac z-L2qXGF)IO=i4TYKG*G1d9z99Fc`w{5Px)4&jR>%En7~SdxPdm&4Rr)j>fhc&eut} zj@~x;iO$S*_cdODtK3T+Kto~WZu0#$uV1Z2c(L4DGOq2!anE{ow<4s=ZwN@_U({80 zi7oX7jb!r*t{e{D)i)eURxq}rsUJvz!#7gH(zoXD+;Us(jy2i_2*+Bgi@5&nLT&BR zw12emYRb*GaO>?tmtwjeeXQ9>plY{QYYL^rpr~LmliIOm()A5@P>$kTp)`t^Soz34 zg1ag7D7<ZUzGSToFt^Lc%>MP!>7Ea_(rm)OtDODw%O9z$a#pz!jozo3P2k(+vU`an z`#+b?z}U$8)uG|NnsjfuW|jW{gdU%bcUq>0_KS8>yZt~NYP4D<fZGp}VKL)^f61(r zt*bPZ81y(TOTiQB_Q0DKe<zX)4l9hk@LNLiLm|0|7?Zc}V!hr=8+&Ne$#7Of$j?qH zjn$M=z{XvY0mnEwtBqTeDrp}(-S{4D8c#CTMpfERm7cYR{{Y%i>MQff8!-TE;g9*n zd&Z-otKJ_n*K4wnfOPz8Hs8RXXVe~XYOf@NX~4(>>02o-rY%Wqd0Kp2*ED<hch3I+ zx_s_&^EcGiwa4uPsA^*Ae9K%*-)AfI=C}3#0EU)&t>ZIWC{^I9<Yu`IbKu-MTtZ8K zIy28Dw*o10#ge5YSkwM7OQMEXwlg$<V3xwE^&`D^-wggPX<`LBl+fE<Hd%}R0C%<x zd33%Jks(uYBx@c%RUdmk^~UR3E~9a;tZJwC$82~f1X1kM*rijeKC0EeFKBbg39`F} zMaOmn>zco(nA*}wqm@Z$%K@If!LOb4pNCq+T1M^G&9OHiFN4#yRneo>udU^h<Lxn# z`=7szV~h%3%zoRk^sb5G;d&j9kkP~Pl3yb~N~_}Q*}O+QP}?bnc^52IcvU=pb@S$* zZFfET+FMH{ypW?Zk-;Q-*2jUqENgxg@hz+x)N&|R0i2VUPJrj3#V==VN9|kC_iYy1 zJuYRlQL%zyOM2Bgd<Ev}jMok3M%irolUaJ_jP(2aYdumcsFlowBCGtz9r0Q^PmP;a zweuCXXN5WFDkUe-q?b`A@Z(1(lB?!Myb^j2^;Yk|@QZg?VM5GuM`2pJcZfdKD@XEe zZk2yd({3XVB;PD-atZw^<9?**aVg<e)ip@rEwVVs-U9sCsn_AuQh9c=H<=oo4c+<b zYpJ%=82F(sBxc&kSL!&Y>l$-d`Iiv#%Gv3`^)#HHL2{$XJ}mq#(1fiSweqhRmR~4* zuf{W8fA&pNz%xxWns3@6d?Gk}5$VVI>0ZeOk0*<~W|tR5gjTFZ&^VNygXlWfLE@hR zt=mH~nB!OhBPaE(W2WSCzK4-`M^9aT*>10`ZbIM|g`DwJyl?RSBXJeRk21u#CP-RL z75w@9E7-I>1MN3kW%*%X0<c}7y(+(r{t-j1_<B#Ws>gh)N;>h+y;37niTE?(*(KBD z)8=U#%zezx`2*A5y$xoE!@7`biSQjVHy$HiyqfT-J|Fmlz`Bf=P`Hxd0*4ZP+@DVM zyxueMHmBjkc{P=-<1QjAytB7#;C00kix)FTWvR<=s%t-LhEFmnKX?kaABX2&jo_Uk zHq#-Qfs@P}1JGB^{{RboW|lrDgZn}$JeWyRrazT;9^$@}Ulhd$hi!hw$so8mjIZ4a zdy37(+BF=Dch*pgi6vO~DjnrVudQ*Km%=Mwi#IKKe$5lxz9J)ntByZf>$GVa;v3H~ zn;S<Xu5(v(Tj))ck*H;D_#|<fIa)NAEsrPB{teIJ9~!D9!IIpe+GQJw>C(D=U*M*j zdoj9&n%?qatn4{g#~iPE+3_~8us4`kX5S${yu^ybwegL{r*6!wJlH;E&q6!V%_3tM zvjfNe43pu$nf;-sOK}RR9(R;FgTcu3tKSGdH(T8JiajRlb4hc6vbn)tKbLB=srb_R zJD8!kgeu(wu=YI%6{F$r4(XmD@in~91;3eV8S_3-nHb>UpKeV)Z8bCYc4w#G$g^6A z<YoQf;|HLsH+L~vX;H%qE>Q8$P<b_8>p-)(i8lG0l;HqkcH{X9&GDqs+FC*LZQ1g% z9Wm+sXib%+v>`VdZ;Bq`&8^Z|E~9A4+0K1y&HN3l&w1j9)2;!EO)7nb0p#QV0Mu*H z{0*kbW-a8ARc4j<vwI$u$ozP^v-oMRwydis+AfcqvNYmD#z-}0XR5{G81F4$j7%0q z`9LS0JwFPP`&Nz%b+%p4B+Io_j$GG~{4n_EW8=L*S~P1F(t#vs2hHet?_Qy09G6nb ze9OBd%ZPe<nl2orpBiW|c(cQj>DLy~NF-2M9A!^R@y{LnF24AGrbj-TJ4vKiyG+`8 zjFk_|6hD_8IInxspcBF8$&Zv_dEv2H78(HY70J43gU2A|FHiH+@T5Ln4=MOx@jpxP zH-#-WvcsrFDf41(8#&|fBE4$gR9S4{lY+AWk)FBjURCj{;M{sPxV|Lt`CD77SvN@n zukPhx?bwn0t7qY7#A{uDM^v5syUTO7NXX<9(x%Nl2Nt@XVf#mXHy#x6D4Nv_cKU-E z<6+h}{{SYsui5*@(k`0}H;TSwU%Qa>Bo3MUF<!IdKM7g*<4lg;`W(Wz$?C{Qab7>I zd_B1MVXVsDXPp($CL^EWAJ?9he7anYx*p-8>np7Z78cyzTWtXP5OMgA>s-f-d@KEp zuPxL7+r_CVM^2k1!5~*H@LS?Xm9NUOb0kC(q~nij_75FsvG}h*Ylw65kt&?y1#^S? z){xr5JnzN&G#Zwn1=iM*8G<ed`IUefuPKLDO%LO9HS(^>?b_W-4D4XQfuC?I=xOxS zlSbUJtG~)l2SeZUub+M~cwZk9?C+LBw(`i*Gai`(rhd4r<g9c?Nu%hm4EVMkdeF$S zVPlO{jB;C#=~#X@(k=W^rQBRbR!hqsQPln5YlZk*J@&P6BoKYTaL4<(2D*O`*y<h; z(`4G}BbzDLsHu#kM4@d@JkV|>v%K8WERsa$VD%=wFTvh7eJ;vqwGBK?WxH{ZE_olX z{{UXRe%|Gx)FWk8R^5`h;E+vvzlOBwE^XTCMU%^kepOj8q~|=2^`|YzN=a^X6Zn$W zYiSl0Yj+8V+0P8Sw`c3xrL&PWh<3v#nAk1=JpDekiLCf$ZA~n1&~5Vrtg&tw?T_nM zJT;+7XstBy`7xmzK;tx&S~|T8`bG2Ul78`CKQp04-MoE!R)(9UX}Yc5$J!(|>(g^* z4WHNiDx$)zJ4WomWBH4A!1SrK+vsm(nWl}AnBfm%J-s_qmv9nG7PJv8YJkJa>;Z#& zn!n)tc9UE_ZI{{rR*~USca;E^JbD42U@6b1I_>fqT&O3m*5jzG*3+8ie>OonvXO!u zsXt78YZs|dsjjD0;>+7uv?!;6p!*zuJb@c|4V(^7Bk-;h#Qq4r)@56Z3B1c@8Q2cj zI6Xdxq54++r-WnHHrvNI3lKZdw*%aR^sS5C9^XZiPnszu*$Hnj54#{d5Pvdj7s|If zJ)~RE=Re^lYb!YOYY=4tavb1*d(~(>P%ql!%eQF!wIPA|hB{<@YX1O?{70r;dEeRg z>aoG{lecJMKhNt~8b+kLg`b?PqBbQCJN;|Vs|{|BJViMbl1VN!t?Y%JvPuDyf`7o( ztt(1~Xe4MK%-p+zF#DwX)`p#;eU9;FX582g6;Bxd04Acj)8vm(lIq1m$#6(3oGBxc zf1ONhmCUKa`;?+H>F*!<97??;3fSMs=Cp78JN64WW*23yE=v}H*B(;wgP(kn?T>o3 z;eRe`shZ)_EuD-yAQ}F6sy-#uUr^LnY>|_KiH@Wne{5#4m2};a=>18$UeTF9XJ)zz z%ln@(cMn{iYf=q9HHU6vjBP9!9zLe4z+-F0R(^Ui`kYkmvE9ccB5X$rgbJJ<zO}S= zJl|v3so}eSv}*;Kml$q)HwPb`MGdXQlCsFYQC1+ZIL{SlOO7|W+X)_CatS%jP2xG$ z&E!<v%)yBIQuQ-w$DyCEL%L{I1#Pi{OMU|xs`^c;tW!=lyI`pHH5HxPSt=_`@w;TW zJc?ho{gUO27{qc6g-!)2#WkUXmvOpPvm1w!O}kWv8SB=n-x!VPo6PgKOZPF+YQ(p& z-7xZZM$9=5IQ+#yYvCE-vzloo-pu8cWH%nwROq`E3nIpu6opnp5z7KGoZ|--qit-q z*H7~NvkrOaYB+p5bsIEy5`CX`7?g4H_aB`|ZFWA^bMk;UW36-6ybR<=sanTqJk6}% zHc4K!PhP%FTFy27^eqzuA98(-Xium^2Gx<9$vid%HeE+aS(Tli%Ta>eDbkW_QAS37 zoogevnqlp{5<c+hii=XVTZ_e;3^Ubp*V?t=*DU_js}AQ?=bukXw)0x+b1;rIk&$zO z{9okapEZh6=6V=GnS!)?urZOG;MUY}Lgjqr!kjXk^r+KIZ8aM)va=2foc{oxDc1XL zty({nIu4}c0*K2{l{U8_@f7KGG%Fm6%BML4X+EPBU2ToYW%)+#PHH><045m~V{O}c zX9qc}78jAepR_AGDc{J(YJSn5EsXt3!AfuK?j@AXkPgi7IsTP#G{r{}NixS7IUpS8 z>sGAp=DZ)i46&-^KpkqG#1dTJxbniQC}Ff#)hcPBRxCAyYJOjxdlJ~9n+>e1AIvtl z^P;i#tXiD?+q8CUyO{Ie+N9F%UO>#p<^TYF1r%2#cM)<g-b!~CILYf;WNfun{vEj^ z)`}|42BZogk@1F!L0`tQG({5MNgDyRzGLov=%Tk<6%%^mPch+ERUwERjMeWYTGTNd z#?6j>@kJHS*1{ol$zS%lKc#6j%(jJh9kG(CJt(50MsnQAk+;hlo{ZkLpQv6lYnxkZ zD#x4}D6ME3z{Q?psEHbFvU8oJWq&Hm)iirs*x`lYkLEcp1{?FDiuCEdO=4y09uc#? zwz%9RPbmpqjgHm9=+>)gsLrXoYLUS`XrjBK^e!i17O5om?5wfjMg|2*s#+v^SDp8p z85!s(qNY2RW5SCyp7&7CjO6>)4~p$mP7Niv@>*gyY~qS5a>^;H+(8>ivNq<~-_+LL zn=F?_8RU@d=NY1kz$LNJ+1wU(%BeB02ORXSqRUH$_ew^Ue9r#>H#nk-m${`qj$;18 zJ554k8sp{|_RUzfy>N|;4Wf!GRk2arvtu!P=2L<(-ntDc1iXb_MN-SiIO#<cq*@k1 z<f@foxjf>ruJwC^b24xFRe%6dMG+j0O(DM14#(wNtzh`?LbSKHW>_Ou10aFVYAC9S z&rxW3ZPl;Z1lyiYxW?*#_9PSNdyekh3}T8aXq=B@1MI^~ytrstm9f`7IL&9+_=57@ z^{$fQRhe^!-Rvl$v#4A)JzwDVxi^a~Ze_j^%_4%Kw%~z*TkoY?{j7r$w&EA*MHL3I zG-2??tL2ZI!2=t(r|b5y=sGW*YN9zeb?cfasgbQc&3^`7%dKeP=62n`A1@ULi05k! zbVnO)jZhqYO%zl|bD~=uuf!c1-K|CNO}7h<SAcWtT>haN-RY#du2c{R?L`%`Jo?85 zk{M=w-#5*UYfHmutKxwc)$-8;0C~xxis(7ftKxkM&f;5r*75w#GC=D|<1G^2*TWNe zYRj=V3?B4RQzJtc;Wm#A<@(De_G}(A^8QunT6LmDD>gFCk&{IgoQsL2WvR`l-v))Y z^Ne;p*0qjquUbhNnV;q)p7c>!A(XspG@5*|%M6Z^Y;Hm6UQOaJi8|MU=SeJYrB<1~ zZTOR~*XczR*c}IhelhD>v@Ev`Zzj;Z`FJNJ1Dqdv?weJcP}HQ3M*Z9|D}^1&^`eT! z7Pd4ku3pKP%ROsi37&h1<7aK2nd?Orw09~ymi0@vvD4;~J-d`}NUZCKM7C(mTXWzs z&s@<(I)%i~)6f~;kGsGXizMwmzuF1Jf>H)L013wwQCZX6Q{2~z=gzu?nNxEp$;Yj3 z+uBDO%0luzsG_f^&pX#|<V}6CkM)Nm92{1jrE3nW;oE~OG38f`3Mir^$mMN(H)(pH z$sefT<0BP5o#3rL*sdYm$j!BzmK0H1M8IyNVGX^r6+jRF09vc*x(&6nGb)q24T5;h z6jcyq_@_pPNxz2X+!*CzRFUb7*Bh?si{d{F>K9j1Ow(KKC_`gzPdrgY1obyQ9{5Vm z`@-!c%Ol94u-pABvG`Bn>tvOrD$MMxxn}KvXriV@t7FhSJE7XcsgvdIz&Hn`Yxt5s zwn1+jGb*!yLeWJJV&Y-nUP&Idu;=%2q1rt$nzyQ4G13n^ascD&MHQSx_cAQ)*4Fmn zl(tualT`d=s!ea<_mN7LQMhDeaf&FdBqKM&ejvK>6WNQFQnEiPqiC-}(-3(F^2HQU z6Eic!Iu)(@Gf4_=Cz1zRz`XFKmXTu%!5+=cg1^K0QAKogB3qokrKVfzRt&O38t!sV z!GeBbI@aIANm>bFwaI8>w%nn)+D0g%u_`;Bh2gtZmdZ`p{rAq?_u`XOwM%%L%U!=P z=|vT5V^h!mA>K(Ar828yfCsfh;k$pb>lUF|n*??5MHMsHDeiRMBGB#i{dhd;z}l*W z*xN^~Vtt8xHeGDmNc@>MDczDza&mj-iYXUZ^e+ToNvqlUlVfvZIO$ZrARJv-$F+9K z=YRWH2NY3647wXu_UkMV$bR<F-$TV7IMFS2yJ$t!OEShz0}O-HgY88Xtame!^Zx+E zPYqgl1LBW|WYVKHrs1UA6!Fuy=4<G03%R-QR+%I6%r>8JD58mON;I{WHquzbAIlqO zAbXKgcy<M_kVhEAYx00kY|%v{ZiYUmFWa>Fe8pa5agWBl-%iq?()@H*7{ZH;d70;T zG*LmEk6>tr_G@+NkJ7lGh?Z-4;TwgKnZC`rqdDbHGes3llgxZF`MkGo6}RJo*1nSP zRLwtu7jfP9$0yUJ6j1<We}@V$tS$tfH_5y4uO9f#rQ6<UHmNLX>mA1B&ur&E%8DyV zY-vor@NRao@hdEUc16Phl>%!01K%01OZbIp8))sh6}+(6&*w!IoJx`Nj<<Ctoqh~W zw1+tM>t2ne>(^HLG$kb4zAz3u(M2f)cRKAN>93%*X+CZ3f;)Z1Z{}-a*HDt-!jP-6 zz#B$7nkcI}iM8!EHM>%~mvG6!>sH>%H;f&-e6{&N?L`%wiJrqQWprp?dv0-t{{U;R zT9V?`X0(miw%~Zd`?*~I07@vXSs0=ln`O`nTw0b%q}-0g=Wrb}T_i32p`zL}fPV2# z;5+=-qKeP$7u56pYf6gGTD-Si#wgri6X?dTcm~!x-B3XyuaiDQAQ%Gx^rDKKQQJ>g z>R!K3vff7u=gTJ;C(!=@_3JL~`deLU-D7R4+lv9;0*Wh@{3koyh8YZ6b<?j@V}aYP zM-*z;3Wam!fa*`)28t`q`)7UMu`WXXQ!9L|<Yc)YF+W=6=D2&E+n9y~wnqe$-ij;I zk3-0eoy)omf9YA=*=`BXU-OF2(L6_Wtl#R!W>fZg-Z=0+=mcVlD@dJD*wB_Cs9H@V zpLtYZjw-F=E9rKmqV7Cr9f34aS;*t8wKTjd0$krSGJsX_$9(?)`m1X77VBA5DyqBG zVR-kViqe~QF)sXZ(&EyzO+NbHbawy%#2z0VGxV-QK)jOpF_E_ul+U#kS1v1K8l-y4 z1$AD{*Ym2=+o`xz$I872(uymdiJU~Tw@Y_2D*VmC^gPq9H3>9dE=X_~xKo~T38ISX zp2oEPBWF>*l`W%XW*F(sVBg2*-NPdjx?#Do>ybqj$wzahrpA-nqBoWY$}m4Vvjk$! z*W}O3CehDoD6M94$XA(!@!^Q(rw7ctgZO@MxgMFKid_w9?m?~UGB%?p-B7<M0D4hH I6@j_`**`eWlmGw# literal 0 HcmV?d00001 diff --git a/UyTube_logica/Imagenes/perfiles/LuC31G.jpg b/UyTube_logica/Imagenes/perfiles/LuC31G.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f22efc5908db0af0594d76d75ae3f89ebdff93a6 GIT binary patch literal 25798 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 literal 0 HcmV?d00001 diff --git a/UyTube_logica/Imagenes/perfiles/MCBolso.jpg b/UyTube_logica/Imagenes/perfiles/MCBolso.jpg new file mode 100644 index 0000000000000000000000000000000000000000..35469b84ed023de4e5a7581095434bcbf69719d1 GIT binary patch literal 107833 zcmbq)bx<79^XH;Lf?Eg>7FcA_Ai-UC7hg0$AZV~%+}(l&Um&=<6BZ4U1h*u(1(#rf z;LhcHS9kZjKYw*^s^-;Hzt`PwrlzYuEst}Ls{m4%GE^CWfdK$u{JQ{;ivWdxPyc`8 zKTQ7rIQ-lF*aINL!+6Blz`|e#V3J{AkzqXc0vP}4iTUI|>i(aBPk@Pqjf0Cvi1Fm# z0$ox71{NkZHZ~SEF5Z9cgc$!JlL2tanV#VB%i&WnYg3xL5D0`MQL)GuG#o#NzyA2; z=iC}KNboO>kcI0rRvlVV1trVSWRAi{h;1=?;vd%+|6UFj&i^A8_X*zr<cv@7k1j{{ zAE`M1k&A<cjfshg^^Zn|%>=-~CFg%4_fMudo=Zp)r9i<kK1;)wpH%W|)PnH83Kk$& zwq#b_lg9<XQ!I>s$HXE7$N+-+pFVr}_DdM<e{+h0^$1HKTE740m(S1jdjurPbUjrH zBR@}?GQE&qWc)^sdPuda2QBxQq##$!c6Qw<23+P6x?4mWR3R^mXqq%z$|V2(7VT3S z8*E;FxaTKoDlwe_`JFA_<AO3c2srNRbBvIDmM4oReaw~I`wE0iyzRtkLyd9m5BmK= zt)bmd$xHB(uoq_8n4g{whz_A)Y9SUGGz?b{U9BG+;06`GjwM9Ur2vu^9k<1mW*#bg z)N@4@dp(u;Sp0B~TH|phqI^5;Hh2_FxqmZnEzWjZB&!zB6`ji278cXC5G!j}e$??i zM>>DhF69MLB>WqOJ(SCZ6NkEctC<$Mu5=M48r$~>nEcGXH3S#P)q0(Tvo|{P<9B&; zaviTCZCr4DMB_;oHuoEgjeJqP%}fP>@0Fy@75W^PAn|KDE!4*)IJ2(oI<{9VS@^O; z#czS<9?X>mO;f=zqxQ5SON$IfdGFgb=g-=b$g6k5pN)<PujIsWo!8IGV-uM8R~YXa z+IXnG_>gCC+Lnth4uUz`-H+Pp-wp`)54wnCnzE^{KcR6z6P(LJ6D|E6hJA!6rS}-` zX=r6pX{u2KoR>=`mfPs3iy53JoNY06yhX;Nsa}k4EK0N!&(2vRUl<SSI3%}FPGH4z z191pJ!QA{Uk|`&I1G(;kQ<4pdw#joNpYnM1K1m$E@XVr8Pm9TPIgVu=Ff@+UtlR`v zIha6eBvN({iP9q}G!__K^2_$k=JHczQ%R9eycZAq>IZFZ5=3XH2+NA?tc#Pw9VOJr z6E%h7Rp>3@<+L6ARtG;-$9;rrxVX1rLhnny)J|rDQ>eBR;fq6H;dc46xuZRawaqT_ zT$xcAB`?mYo|d}Q;ZwPycldR+s;5&66x58_RVZQBt_^G7!AXalh+&q~!_~>rbXKH@ zLD|ISyJbe*XHI8vut<#Er#};yoTSw<8oBFu8ZXjn^%_yQWS?2JXU>fLPTr1${^b>o zG_g0ad&*!0--DUR$%p8LU{l`J#n@yZp;e7zeY)q%Ot0-5qJDiQ129V}9tfX;u#SX( zj(l?5m)8$H_E;IDj>OPHaK@&ZV0vTvY%qLu^>iA}*o)H~6|<-zKx3*xlgM?&xCfu> zlf$8Q4wKHxn@6rV<8$M5hK~S}yuZ757Xt#_L}qlR+$T`+$n?|jm>K`I2&oym>K}Il z?`GI#?F_hkQ&}}yBVVzy?Jk8J`b%e}Xi^5g78}g}l9eKu`aC^@t!ZItSYS_$vw>Ds z7QX0_BL_8By*K)TJKTC0wOf8h>`<2DF*D~{8lhONE3yq#L+HFsEiN{>eoLZplq*-w zA-GMx8_>K*SzMw{tHu%H5VezF`m&74&&luh5s-V85i6EG5@@6vC2cc^{l|AHR6HSX zaNX}yS}3NWOOJbUaa^!o`#rD96hloogs!tXh#&tf2|JWza?|H)i(TBWxJWXm717q! zzGo=MR7%PSjG6UW;gyp<xL!HdQLGoyq7(2%zXVwzQCSzU3-!}y{GR_!i}hbkoaGlk zBr+&3u{RwgG=aIK1%qPlluZ9{x_b~FC{?h$=$5J{5uv#@yBzGnkc8d@ebD$4&2%x? zDphy)5M+X>U=IQ<l^tQUX-<*+ZN`)QLdq+}CiakLqW?4rSB06V+bz2EVzE|=0q5qj zx0@em<`*E7ciO`MLy_}!E1dR;;761DX_o%mm|)mD`s}4eYw3SIOaf(olG`MCAZym{ z46k1hJML4>FHx{ysK{Z%Lr@@)gypTq{e7+YBS3~f43}-Sm%vDtZNtfLk$f?6r0};P z^OneNt8g=ide6ta)cd;A!!U|t3-YF5s07K*wP;97mItePV!l*DL&IHzq2%%t>Gbu$ znVa?CurK$Eck4)yq!u0*(75fl%!<Ea`hqr)!x19GES^xy<3aPWfiQ8BdBtadJecQ? zZb8eHiQjrOoU$fD9%0wE&a!{cPKDkKkB71WZZ3LvlD0_{_8|Ma`)?8Thf975xjg$2 z<eH{96cj-UWt6yGcm$}~9nrTPZiS^?B~SOpb6OAcC`)LFe-tRq7vGymhEK@rI+j%1 z(Rn>{yp&|L%gvIr=}ftH%ZKLaCo{w;kMkGv3t+2IxJGlC_ufq812At|=$s;ORg2v2 z{(f2gIaQEsCAqIrkeDo+ye3CRZesyTi6=I%6d27HHS;L}<Ns>nktmjnP2{;zKa70i z;*@YFu$oF;^wI6XzVPR6J+Omm2Q<ZumMlpd9yT%`AV*ipHj?8E)iZcHypzncQ{b?U ztfW;)T~K?vWf-5Km0dMMdZxniIls8+;N7AjEIyUh_kB;u>?hcD;Z8?J7s7#9@2aoY zH~cErg*65tHoMEyyg=odyw241eg+d0USB*fzj-b?6?Kuar4pW=n~cU5&Nm6z0xM#d zX!xd;fQ^)fIxqIy{Ld~S6|URbuQO`e3v()g2o8F33+PJ_tc^x`j5uJby>fDG3*U&c zsL9)oQvgB}tkfz~@Bu+1NI&oPWDLg?;TPNXfc|K}=^l-+u1r;jSGaG}dkoN$k#9wD z*p{H;LpUHbQXXlkniVrPI*o_85u7c;zFF33KqXJhhHRZ^d1J)W5*SR*NVf=4cQOyT zRya=I&dd6|2nnxFG8^`>ffq?U0w{Hv#mgD-_71nJpinscC$Zs$7WLx0PVWG3a@Vb4 zD|^p(V^g+1v(fyC!?Pyt6?1aOi6E|3)+a{o!*r7_yA8}&+V9%;Rc$YVaAafNz2U$o z5-8?@W6GD{ZHxkA&8Cw12Zx(V{VMDgu9Mt}`e3{zc7RGCD2o)E@yB;jgvk5v!J5x} z!fPg4Lk1Wp#Ms}*m4bfP)XQ7x2Wtrcr!1h3Tx-dbHQbK)pj-2krOzh?U*h#nc=*7_ zBOKZ%XWou|alBQ~@b_$bj0gf-So+oyc$Ty=wcKc^|C>swQo;M(A1vP@luojurk=UX z$E0D|!E}o@OYi~V?0y*N+r{U`WB-2AJFLwtCcRHIq;3eNn=0_E+K94)Z5AsIaX8AP zdPyAB(t10Bg=|frT`vB99$}x6uds)hPEIp~O{Gl~0toRx#y{<$H=6Tl{1D4A>Hb^i zfe^_gq7#9?T!H-sL=pJa@3Mb+XDKq}Dl(OQi+)8Z%&cI#u<g0Jbn&oh{HX@20^);4 zl)>d&gxP;Pk9AWxeX8J9(r@YK)q7Rx5R;-)Zq+<7#VKm7dX*7TEF4-QI!RPRM3@y} zcjU-p#_}LY-+G$6sEun`y6HH0*7A`SStixOrV9sATQ&_>$Kmw;`k|s5`oy2R0}f81 zjlUJJgqA?#37(6;P+c1V6gKKpQs%@!8rm56Jzr<p$LAU}%ehBGJt~voLxc-Zja4$? z!|iy*57t%rgJ>OM;W=|BQteJwLR~yEyFY;3pN=kb>)#0kFL6&5hk1R6Pfre!A8r=P z1@74A!c##Urh>K2s8-=NU>0T&fi#tih|IAJfB(2Y>)5$}l{Rsq!YSBQO=PODe!s?E zQ@1?AWB>N=luj-QA@Ysb&yi`+JNhEcgpb+gld9!k5$�jrqVL2J(unm4+Im?(r_ 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	bv!H)B$L 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	~lDCcv6KdN#YJL?ZHPbd*91>Z{5J!@BBzI1GR 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%0D5dz#&DLsX`ofXs& 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 aI1aMb*1ve)`{@54^nX1C@1yxI=l%o7EA!m| literal 0 HcmV?d00001 diff --git a/UyTube_logica/Imagenes/perfiles/camilillo15.jpg b/UyTube_logica/Imagenes/perfiles/camilillo15.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dc36ba95eecc24c956cbaf03f53dccda2f9317bb GIT binary patch literal 43654 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 literal 0 HcmV?d00001 diff --git a/UyTube_logica/Imagenes/perfiles/jarrieta31.jpg b/UyTube_logica/Imagenes/perfiles/jarrieta31.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d54ec04f4eee56374821fcfb9c9928a761cbc10b GIT binary patch literal 15383 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 Ba_Rs8 literal 0 HcmV?d00001 diff --git a/UyTube_logica/Imagenes/ukp.png b/UyTube_logica/Imagenes/ukp.png new file mode 100644 index 0000000000000000000000000000000000000000..5939b67d080df91af9d46511590d81eda44a17b9 GIT binary patch literal 1465 zcmV;q1xEUbP)<h;3K|Lk000e1NJLTq003_Q003kN1^@s6hyre-00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf1x`ssK~#8N?VaCm zR7DiWXSbzAD?h9WRO}LkRE!0o6eAFQ(HKJv5W@ojgqZkX;@@LPOn5MYB9W*_L@OGj zU`w!4Y74jp+LAWVw1CBJ*KU7+{jO(gt=o2YyL;z*;Cx<s=JsJH``I&h?#!K;(7kb- zp^~utH58&Y^G-FkyXI(*n^zomMMc^F2FJ$ky0N?W+{#F~d+o(la#a_q<h6I*awmR@ zy7{HWawUHZB}Uz*b<16Cb){V4M}@rD;E+4`Ws@tJS0q;o2Qu>2%~fti<T1Iz3%$HU z$Im6RB4{A-ot+z{#0hnWW&hy@FX901qxgJgXfqFAToBFVY%pgaW#+y2Q9Xq?z?^|} z@{WAnT#(-6T)+?Mz|pf(;(<<HY%n1aAN_y+B@qWy^3Yr|^YK^bCE|ca-atG-*IZ5o z%_md#(a8JcM6*QP;GWC^jXZS8jqIS1ho&f(!DSzyo*1rUfZ`i#Xuc+q4$ii8N#qv_ zc^%z<NTh=+*KSGV7Ycbr;gCc+z&s!WI&L&%u>9Ceo?=X%VmR)3N*)u~uy0K<CQmUY zPcbG>F(ywjCQmUYPcbG>F(ywjCQmUYPch!*wY1%kNDml`#d0&>c$Zh-r0W%k6esI1 zOXLr)^1eTFS?!Dh>RsQ|DJ4I6{pO+_Hzm@^`QQCE`CjE|dv|3jzU!~E%`%dhJjHmG zH!`aG6?fmS0D6_Ta(TH#I>8<;KJhAV%S+Elq!Ztp?|8rGMJg6aq>HC2AC<@--sNfB zI;wd50sWPYRZ{W?%~l>CeBS6r6|B+2>fJZDu9uQuyk}mDx8B$w5jQO20F6B0Yqz6J zVXGgNy!Fp6lZX?x`ccW-T=S$voUql8N*-X{Sb(u!bn;j?Y1^~4Mj{^Q<bmOlF^M=p zeI9wZR7yNh%6oU$CW$!Mx1HzlU^0~Qz=AT4UwSAMqRcu#D{tqPwceXgbW+~l@w}Ay zpp^%9zrIc)KVYM9W~k*YUigq(QeGydV8P%s`ws8a^1!y2s{?O7F$|_*td(9KSW~rB zqF`9NszM@eRLC>ZWAYSZ@)Tq86r)03d}u_XU<ms2az%x_8+|c}f+6V7%N5JKGz`Rt zCE`Yfyr5U(;51AP(AN^no`YV1iO*~6?2{5N^zwfEr9+}%`Sxf3%a&(@S{@ed`#Pcq zpL@Ocj+8i|miNu+Hi`Uj{D(^taYB1?<@-m@P;53}Cs$?(4*6x-B?9$eI{axebeYF^ zLL|WCEZZC(jXWF%g~J6|&WcUPKa;ezG%qB1m)CcDz<pZRLM?47nAzXEt;Q`Vn=e=V zkau~rb+0k>)Ya2JahMXzy)75enL+)rN;XolcswIZ<Ui?Iwj{r+fb%8~iz5@mqpD>T z8ptj!DbCxybI$U#tY~E;A1iEgmiOz0Zr9k_ZJ9O)kck^sSGwBjO1Y99ImyG3*z6}O zYXTjhT-Ik~B@aEr&rY^lwiN(mAztyvi^iFfu{<=BO_#1q$tV;rJQs0mo_<_PGn0|L zFTQJaH~ZsKG78NTOBZIeJJhW5Fs>IHOi0NH3art<tNt@F<IM{hXX5<OdwbB;osLQ= zJ=4lN)!1%LrDwW&?j-vf(~(vlhPa}gy7zy+UqB}jgZAl2E028!`9Wj4`NaRp!vnZI z$8iB4`wurr>0kb1>1f?=HgZA=rp%^xU?$`Z#1pPRHY6p35p-ZCGa>K8W9K9?n3>#s zCgtI=K+{b2gA6>S4$n%;yLh!XSuk{vIy@`P^qQTK87W_3_T6QT>9Leki*tVi0;Al3 TAh#8I00000NkvXXu0mjf8(X^W literal 0 HcmV?d00001 diff --git a/UyTube_aplicacion/build.xml b/UyTube_logica/build.xml similarity index 94% rename from UyTube_aplicacion/build.xml rename to UyTube_logica/build.xml index f306b19..43b76d9 100644 --- a/UyTube_aplicacion/build.xml +++ b/UyTube_logica/build.xml @@ -7,8 +7,8 @@ <!-- the Compile on Save feature is turned off for the project. --> <!-- You can turn off the Compile on Save (or Deploy on Save) setting --> <!-- in the project's Project Properties dialog box.--> -<project name="UyTube" default="default" basedir="."> - <description>Builds, tests, and runs the project UyTube.</description> +<project name="UyTube_logica" default="default" basedir="."> + <description>Builds, tests, and runs the project UyTube_logica.</description> <import file="nbproject/build-impl.xml"/> <!-- @@ -58,7 +58,7 @@ An example of overriding the target for project execution could look like this: - <target name="run" depends="UyTube-impl.jar"> + <target name="run" depends="UyTube_logica-impl.jar"> <exec dir="bin" executable="launcher.exe"> <arg file="${dist.jar}"/> </exec> diff --git a/UyTube_logica/librerias/JCalendar_1.4.jar b/UyTube_logica/librerias/JCalendar_1.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..617a3351ca8ade8fa6d57648423a1f97e14c02dc GIT binary patch literal 165052 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�Upp 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 Df#%#d literal 0 HcmV?d00001 diff --git a/UyTube_logica/manifest.mf b/UyTube_logica/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/UyTube_logica/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/UyTube_aplicacion/nbproject/build-impl.xml b/UyTube_logica/nbproject/build-impl.xml similarity index 99% rename from UyTube_aplicacion/nbproject/build-impl.xml rename to UyTube_logica/nbproject/build-impl.xml index 159a870..e534ff2 100644 --- a/UyTube_aplicacion/nbproject/build-impl.xml +++ b/UyTube_logica/nbproject/build-impl.xml @@ -19,7 +19,7 @@ is divided into following sections: - cleanup --> -<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="UyTube-impl"> +<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="UyTube_logica-impl"> <fail message="Please build using Ant 1.8.0 or higher."> <condition> <not> @@ -450,7 +450,7 @@ is divided into following sections: </fileset> </union> <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/> - <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="UyTube" testname="TestNG tests" workingDir="${work.dir}"> + <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="UyTube_logica" testname="TestNG tests" workingDir="${work.dir}"> <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/> <propertyset> <propertyref prefix="test-sys-prop."/> @@ -601,7 +601,7 @@ is divided into following sections: <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}"> <isset property="test.method"/> </condition> - <condition else="-suitename UyTube -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}"> + <condition else="-suitename UyTube_logica -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}"> <matches pattern=".*\.xml" string="@{testClass}"/> </condition> <delete dir="${build.test.results.dir}" quiet="true"/> @@ -893,7 +893,7 @@ is divided into following sections: <delete file="${built-jar.properties}" quiet="true"/> </target> <target if="already.built.jar.${basedir}" name="-warn-already-built-jar"> - <echo level="warn" message="Cycle detected: UyTube was already built"/> + <echo level="warn" message="Cycle detected: UyTube_logica was already built"/> </target> <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps"> <mkdir dir="${build.dir}"/> @@ -1378,7 +1378,7 @@ is divided into following sections: <delete file="${built-clean.properties}" quiet="true"/> </target> <target if="already.built.clean.${basedir}" name="-warn-already-built-clean"> - <echo level="warn" message="Cycle detected: UyTube was already built"/> + <echo level="warn" message="Cycle detected: UyTube_logica was already built"/> </target> <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps"> <mkdir dir="${build.dir}"/> diff --git a/UyTube_logica/nbproject/genfiles.properties b/UyTube_logica/nbproject/genfiles.properties new file mode 100644 index 0000000..adfa922 --- /dev/null +++ b/UyTube_logica/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=9a5fdd84 +build.xml.script.CRC32=2a1803ce +build.xml.stylesheet.CRC32=8064a381@1.80.1.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=9a5fdd84 +nbproject/build-impl.xml.script.CRC32=1c0cb7b4 +nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48 diff --git a/UyTube_aplicacion/nbproject/project.properties b/UyTube_logica/nbproject/project.properties similarity index 62% rename from UyTube_aplicacion/nbproject/project.properties rename to UyTube_logica/nbproject/project.properties index 4977975..326ba1b 100644 --- a/UyTube_aplicacion/nbproject/project.properties +++ b/UyTube_logica/nbproject/project.properties @@ -4,8 +4,6 @@ annotation.processing.processor.options=-Aeclipselink.canonicalmodel.use_static_ annotation.processing.processors.list= annotation.processing.run.all.processors=true annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output -application.title=UyTube -application.vendor=Juan build.classes.dir=${build.dir}/classes build.classes.excludes=**/*.java,**/*.form # This directory is removed when the project is cleaned: @@ -26,60 +24,28 @@ debug.test.classpath=\ dist.archive.excludes= # This directory is removed when the project is cleaned: dist.dir=dist -dist.jar=${dist.dir}/UyTube.jar +dist.jar=${dist.dir}/UyTube_logica.jar dist.javadoc.dir=${dist.dir}/javadoc -endorsed.classpath= excludes= -file.reference.jcalendar-1.4.jar=C:\\Users\\Juan\\Desktop\\jcalendar-1.4.jar -<<<<<<< HEAD -<<<<<<< HEAD -file.reference.jcalendar-1.4.jar-1=D:\\Users\\Facu\\Downloads\\jcalendar-1.4.jar -file.reference.jcalendar-1.4.jar-2=C:\\Users\\pc01\\Downloads\\jcalendar-1.4.jar -======= ->>>>>>> origin/pre_master -======= -file.reference.jcalendar-1.4.jar-1=C:\\Users\\Dofus\\Documents\\NetBeansProjects\\jcalendar-1.4.jar ->>>>>>> pre_master -file.reference.jcalendar-1.4.jar-3=D:\\Users\\Facu\\Downloads\\jcalendar-1.4.jar -file.reference.jcalendar-1.4.jar-4=/home/administrador/tecnologo/4to_semestre/PA/Lab-1/jcalendar-1.4.jar -file.reference.jcalendar-1.4.jar-5=C:\\Program Files\\NetBeans 8.2\\extras\\jcalendar-1.4.jar +file.reference.JCalendar_1.4.jar=librerias\\JCalendar_1.4.jar includes=** jar.compress=false javac.classpath=\ - ${libs.absolutelayout.classpath}:\ - <<<<<<< HEAD:\ - ${file.reference.jcalendar-1.4.jar-3}:\ - ${file.reference.jcalendar-1.4.jar-4}:\ - ${file.reference.jcalendar-1.4.jar-5}:\ - ${libs.PostgreSQLDriver.classpath}:\ ${libs.eclipselink.classpath}:\ - ${libs.Logica.classpath} - <<<<<<< HEAD:\ - ${file.reference.jcalendar-1.4.jar-1} - ${file.reference.jcalendar-1.4.jar}:\ - ${file.reference.jcalendar-1.4.jar-1}:\ - ${file.reference.jcalendar-1.4.jar-2} -======= - ${file.reference.jcalendar-1.4.jar} ->>>>>>> origin/pre_master -======= - ${file.reference.jcalendar-1.4.jar}:\ - ${file.reference.jcalendar-1.4.jar-1} ->>>>>>> pre_master + ${libs.PostgreSQLDriver.classpath}:\ + ${libs.absolutelayout.classpath}:\ + ${file.reference.JCalendar_1.4.jar} # Space-separated list of extra javac options javac.compilerargs= javac.deprecation=false javac.external.vm=true javac.processorpath=\ - ${javac.classpath}:\ - ${libs.eclipselinkmodelgen.classpath} + ${javac.classpath} javac.source=1.8 javac.target=1.8 javac.test.classpath=\ ${javac.classpath}:\ - ${build.classes.dir}:\ - ${libs.junit_4.classpath}:\ - ${libs.hamcrest.classpath} + ${build.classes.dir} javac.test.processorpath=\ ${javac.test.classpath} javadoc.additionalparam= diff --git a/UyTube_aplicacion/nbproject/project.xml b/UyTube_logica/nbproject/project.xml similarity index 92% rename from UyTube_aplicacion/nbproject/project.xml rename to UyTube_logica/nbproject/project.xml index 27c2a88..c472791 100644 --- a/UyTube_aplicacion/nbproject/project.xml +++ b/UyTube_logica/nbproject/project.xml @@ -3,7 +3,7 @@ <type>org.netbeans.modules.java.j2seproject</type> <configuration> <data xmlns="http://www.netbeans.org/ns/j2se-project/3"> - <name>UyTube</name> + <name>UyTube_logica</name> <source-roots> <root id="src.dir"/> </source-roots> diff --git a/UyTube_logica/src/Imagenes/about.png b/UyTube_logica/src/Imagenes/about.png new file mode 100644 index 0000000000000000000000000000000000000000..937e151247a0fb9b1e63ea91a4ea849744f012da GIT binary patch literal 72290 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 WfV;4K^;%~PAk>w$m8unNBmM^f*%ssg literal 0 HcmV?d00001 diff --git a/UyTube_logica/src/Imagenes/des.jpeg b/UyTube_logica/src/Imagenes/des.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7a7eb2ebcdb13adad971a990838700e2ba23ab7d GIT binary patch literal 33682 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 P2z)}|{}q8Fe+>T@bj%&# literal 0 HcmV?d00001 diff --git a/UyTube_logica/src/Imagenes/icono.jpg b/UyTube_logica/src/Imagenes/icono.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e1c6c0706f82d5f48c7f8719a85952965bb15b21 GIT binary patch literal 2123 zcmbW02~d;Q7RT?Gkd;Nk4v!jS5r|K=us<|F3kV1pKtfT-AP)o5#}-gTmWstCw$O-x zAc{ng3Mxf5L0Q6576r;)_QkCTGJ&$jki0M2S7$nXGi}dz|8vgV@7_D-cka2OpF}f2 z*2U4;5kL?G4!|D}&4McqaiPZnaB~AB000)CA!C4mBNbRakjeX40gl6w5J15mf|Wv* zeedC80H6|p#D{rFIjY>p7@h;v*wCOb@6i7QYgiaq7?3seXrbX`6MbM}WNc+^WNB?e z)-WPllZ~v6%;1yH-vS`dRx}Pi1qcWdk6#UmLW&J7A%R3;&=`zZSezsdi^XFx7`!wd zFDV5Z1}C#aT1rM7iw_ZR7w>|H6c&ROulQ>wY61i-2nJV>kS0J7AS3}2wE`lXDGIKj zxQM?Rgg{E5&~Qq4Nq9k(ESx?PiGY(uNx-Fn65;<qf`F3SWo(C*rv_p)qZCZevJ0?U z_T^kf&pw_u`B-!c4zHxFqN=8|TUSq?WNKz^VQFRk>1Pg(P6wP_yu1(l(0o7l3;K8P zaYjh!31&>}$y0Hs<IjDSdj7)2OROsyS2MG+ujS-&ZWk8aDgN$m$-|1us_L3YwRO!c zt!+QFcXW334-5_skNh+`HaqwH#miT(f1ZD{yz<NH+WN-k7GKN-0ptg)-^hN)MS!^w z@Eu5C#9R>K6f7h`0=3H+EoVo?1V+hgnw-Td*s}}Dxi~GdCr|NMbRS+x+jLfES&a6c z?9YLv{4KKIz&>(~0V%j~5d<UwP{4AX9;b2WoM0TU$N3U!;;{69mMPT%sJvq7aXJi| zS$emC6xBh&7Xe3qEQ}w&Vzx{mSK5~U2_;xsYmSl<Q7~jCd7CuxbN^X|Z^|#Cb$e8n zH{507X_s$A$<VLbD>Btsc?=zesflj$j70PJ$A;wLu4tQZhSflm7xU_|7yVP6g^P7d zm45m9eSQIZdFSuXP-G`Vt%t9lE_~w??s?|OcV9>UkjND#E|}NH$7*@vBSVWz!n}oy z9M8N0U0kVI-I-e)7O6vw_5TD7H%3rq(kLr|0ZJn9V1&Xq9hp;Epx5N{oOWy(mElET zBrJbhEsRGjWC$|68y8lSS99{K;^aj@2j#(EGu$TW7AFl*%JW-9VC-qj`S!Lk>H4-o z+spngK(nFJX1mk2XNp<%uyBU`t#p!K(kO-JG`&;Ub7#Sq_ly}g(p<j8F08tEecV)) z^5kN4lgz!G4Zx&VnhvM$p?BLT&n2B|VIFGnxS8(9e4M`hc-U~jeLnw3_0MOQsQGPA z2{L~5x}WI$GOx3+5+V%AQL_jRCUr&Hsh^v7ravN9>%x~ZJN?$PMy*h(bC#}n;GSbq zpse>J=8xSfO-b?Jx9mJ!*3~;!A;gKmGI8BuNPE9Vf53+Qam{JJa&(v#%_e+bP{jIC znavK>vPA>ja+vm<nVM1d!v`Ypa$?M_ajCv&rDBOKsBN24d9@`Udo=Mr@il8);2I|k zU|ga)DDv4`O>p;s4^r$2QJ^}+sHQ4VZBekmAJlqTDz<FAcT?+v;2JG8d7-LT_>I}- zj()PxxrDyPr|=K<jy-|Xy^>PA9iJ`Clz-!bYr0c;-7VqiJGuyP5ARnOcCp=x+anwP zxorQ^F|+vKqttQ{*jw~6NPU$XaYAU(6`c^yxa51V;cAKZ8NE`$bnxV3ok8KfXH1*j zh;yyaPmm&yR4+EpH0qS@XAf1C`pdiJF7f9i|K+Qkkm08BncW-b85);ZJuOhm<|Zi( zR2kw0lz}e<QHj?3>f6>{*sWfx_}12|yS>czhE;ebFa52*2%ylL>F@kcxSPE_vZ$t# zz`Z^HqJ<$V0wIi;3zMA!G%7AJ*)!6xZ~ca{dIZ5W*QML*a$hpbl{WtmL-X|4?#9av zhpoP^mHMJOR=X;B_VW0!-<IZZMTvP$$;6b653hdkzJ40EHL4&ekCX;fXJj&cSbO*> zH!Pb;gi&J85XmK)nYF0LVR7s~Jmd#VTMlc_t!MBQ5Npp`#X5ewJOTMmH<@dlKt4S; z89g;MUsxBGXf6LLz&~kqyQAH5!%}@`*ou2zKRI>c*~!(;dHRm_1bHWxQ4G&AH%<2I z!O5)q+Cv#<0^W`CiGkcaf7*qpSmR3lyFG`ZXz{zpPMw?@9{2ECG#u9wO3FX)9ouD4 zNtZOeiR0b->aHt81Uwo%oR1S@JvM^ckIFSS?7PXR%`9Z+Ix%Z=(p-s02jcqzYNUBL zY3x8@X%_WRI_*i(YyEvk*0y$rC%2AfG3g7csWgkem;mR!$_s-q7+;I~yZ4_>0vwk9 Qmmk~mf9?6VJtP|aFCHFdW&i*H literal 0 HcmV?d00001 diff --git a/UyTube_logica/src/Imagenes/ukp.png b/UyTube_logica/src/Imagenes/ukp.png new file mode 100644 index 0000000000000000000000000000000000000000..5939b67d080df91af9d46511590d81eda44a17b9 GIT binary patch literal 1465 zcmV;q1xEUbP)<h;3K|Lk000e1NJLTq003_Q003kN1^@s6hyre-00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf1x`ssK~#8N?VaCm zR7DiWXSbzAD?h9WRO}LkRE!0o6eAFQ(HKJv5W@ojgqZkX;@@LPOn5MYB9W*_L@OGj zU`w!4Y74jp+LAWVw1CBJ*KU7+{jO(gt=o2YyL;z*;Cx<s=JsJH``I&h?#!K;(7kb- zp^~utH58&Y^G-FkyXI(*n^zomMMc^F2FJ$ky0N?W+{#F~d+o(la#a_q<h6I*awmR@ zy7{HWawUHZB}Uz*b<16Cb){V4M}@rD;E+4`Ws@tJS0q;o2Qu>2%~fti<T1Iz3%$HU z$Im6RB4{A-ot+z{#0hnWW&hy@FX901qxgJgXfqFAToBFVY%pgaW#+y2Q9Xq?z?^|} z@{WAnT#(-6T)+?Mz|pf(;(<<HY%n1aAN_y+B@qWy^3Yr|^YK^bCE|ca-atG-*IZ5o z%_md#(a8JcM6*QP;GWC^jXZS8jqIS1ho&f(!DSzyo*1rUfZ`i#Xuc+q4$ii8N#qv_ zc^%z<NTh=+*KSGV7Ycbr;gCc+z&s!WI&L&%u>9Ceo?=X%VmR)3N*)u~uy0K<CQmUY zPcbG>F(ywjCQmUYPcbG>F(ywjCQmUYPch!*wY1%kNDml`#d0&>c$Zh-r0W%k6esI1 zOXLr)^1eTFS?!Dh>RsQ|DJ4I6{pO+_Hzm@^`QQCE`CjE|dv|3jzU!~E%`%dhJjHmG zH!`aG6?fmS0D6_Ta(TH#I>8<;KJhAV%S+Elq!Ztp?|8rGMJg6aq>HC2AC<@--sNfB zI;wd50sWPYRZ{W?%~l>CeBS6r6|B+2>fJZDu9uQuyk}mDx8B$w5jQO20F6B0Yqz6J zVXGgNy!Fp6lZX?x`ccW-T=S$voUql8N*-X{Sb(u!bn;j?Y1^~4Mj{^Q<bmOlF^M=p zeI9wZR7yNh%6oU$CW$!Mx1HzlU^0~Qz=AT4UwSAMqRcu#D{tqPwceXgbW+~l@w}Ay zpp^%9zrIc)KVYM9W~k*YUigq(QeGydV8P%s`ws8a^1!y2s{?O7F$|_*td(9KSW~rB zqF`9NszM@eRLC>ZWAYSZ@)Tq86r)03d}u_XU<ms2az%x_8+|c}f+6V7%N5JKGz`Rt zCE`Yfyr5U(;51AP(AN^no`YV1iO*~6?2{5N^zwfEr9+}%`Sxf3%a&(@S{@ed`#Pcq zpL@Ocj+8i|miNu+Hi`Uj{D(^taYB1?<@-m@P;53}Cs$?(4*6x-B?9$eI{axebeYF^ zLL|WCEZZC(jXWF%g~J6|&WcUPKa;ezG%qB1m)CcDz<pZRLM?47nAzXEt;Q`Vn=e=V zkau~rb+0k>)Ya2JahMXzy)75enL+)rN;XolcswIZ<Ui?Iwj{r+fb%8~iz5@mqpD>T z8ptj!DbCxybI$U#tY~E;A1iEgmiOz0Zr9k_ZJ9O)kck^sSGwBjO1Y99ImyG3*z6}O zYXTjhT-Ik~B@aEr&rY^lwiN(mAztyvi^iFfu{<=BO_#1q$tV;rJQs0mo_<_PGn0|L zFTQJaH~ZsKG78NTOBZIeJJhW5Fs>IHOi0NH3art<tNt@F<IM{hXX5<OdwbB;osLQ= zJ=4lN)!1%LrDwW&?j-vf(~(vlhPa}gy7zy+UqB}jgZAl2E028!`9Wj4`NaRp!vnZI z$8iB4`wurr>0kb1>1f?=HgZA=rp%^xU?$`Z#1pPRHY6p35p-ZCGa>K8W9K9?n3>#s zCgtI=K+{b2gA6>S4$n%;yLh!XSuk{vIy@`P^qQTK87W_3_T6QT>9Leki*tVi0;Al3 TAh#8I00000NkvXXu0mjf8(X^W literal 0 HcmV?d00001 diff --git a/UyTube_logica/src/JPAControllerClasses/AdministradorJpaController.java b/UyTube_logica/src/JPAControllerClasses/AdministradorJpaController.java new file mode 100644 index 0000000..7703802 --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/AdministradorJpaController.java @@ -0,0 +1,148 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package JPAControllerClasses; + +import JPAControllerClasses.exceptions.NonexistentEntityException; +import JPAControllerClasses.exceptions.PreexistingEntityException; +import Logica.Clases.Administrador; +import java.io.Serializable; +import java.util.List; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Query; +import javax.persistence.EntityNotFoundException; +import javax.persistence.Persistence; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Root; + +/** + * + * @author Juan + */ +public class AdministradorJpaController implements Serializable { + + public AdministradorJpaController() { + this.emf = Persistence.createEntityManagerFactory(NombreManejador.getNombreManejador()); + } + public AdministradorJpaController(EntityManagerFactory emf) { + this.emf = emf; + } + private EntityManagerFactory emf = null; + + public EntityManager getEntityManager() { + return emf.createEntityManager(); + } + + public void create(Administrador administrador) throws PreexistingEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + em.persist(administrador); + em.getTransaction().commit(); + } catch (Exception ex) { + if (findAdministrador(administrador.getId()) != null) { + throw new PreexistingEntityException("Administrador " + administrador + " already exists.", ex); + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void edit(Administrador administrador) throws NonexistentEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + administrador = em.merge(administrador); + em.getTransaction().commit(); + } catch (Exception ex) { + String msg = ex.getLocalizedMessage(); + if (msg == null || msg.length() == 0) { + int id = administrador.getId(); + if (findAdministrador(id) == null) { + throw new NonexistentEntityException("The administrador with id " + id + " no longer exists."); + } + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void destroy(int id) throws NonexistentEntityException { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + Administrador administrador; + try { + administrador = em.getReference(Administrador.class, id); + administrador.getId(); + } catch (EntityNotFoundException enfe) { + throw new NonexistentEntityException("The administrador with id " + id + " no longer exists.", enfe); + } + em.remove(administrador); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public List<Administrador> findAdministradorEntities() { + return findAdministradorEntities(true, -1, -1); + } + + public List<Administrador> findAdministradorEntities(int maxResults, int firstResult) { + return findAdministradorEntities(false, maxResults, firstResult); + } + + private List<Administrador> findAdministradorEntities(boolean all, int maxResults, int firstResult) { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + cq.select(cq.from(Administrador.class)); + Query q = em.createQuery(cq); + if (!all) { + q.setMaxResults(maxResults); + q.setFirstResult(firstResult); + } + return q.getResultList(); + } finally { + em.close(); + } + } + + public Administrador findAdministrador(int id) { + EntityManager em = getEntityManager(); + try { + return em.find(Administrador.class, id); + } finally { + em.close(); + } + } + + public int getAdministradorCount() { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + Root<Administrador> rt = cq.from(Administrador.class); + cq.select(em.getCriteriaBuilder().count(rt)); + Query q = em.createQuery(cq); + return ((Long) q.getSingleResult()).intValue(); + } finally { + em.close(); + } + } + +} diff --git a/UyTube_logica/src/JPAControllerClasses/BusquedaEnBDD.java b/UyTube_logica/src/JPAControllerClasses/BusquedaEnBDD.java new file mode 100644 index 0000000..aa8b798 --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/BusquedaEnBDD.java @@ -0,0 +1,322 @@ +package JPAControllerClasses; + +import Logica.Clases.Canal; +import Logica.Clases.ListaDeReproduccion; +import Logica.Clases.ListaDeReproduccion; +import Logica.Clases.Usuario; +import Logica.Clases.Video; +import Logica.DataType.DtVideo; +import Logica.Enumerados.Filtrado; +import Logica.Enumerados.Ordenacion; +import Logica.Enumerados.TipoListaDeReproduccion; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Query; +import javax.persistence.Persistence; + +public class BusquedaEnBDD implements Serializable { + private EntityManagerFactory emf = null; + + public BusquedaEnBDD() { + this.emf = Persistence.createEntityManagerFactory(NombreManejador.getNombreManejador()); + } + public BusquedaEnBDD(EntityManagerFactory emf) { + this.emf = emf; + } + public EntityManager getEntityManager() { + return emf.createEntityManager(); + } + + /** + * Busca contenido por coincidencia de texto en nombre o descripcion de los + * contenidos del sistema En el resultado se incluirán (si corresponde segun + * el filtrado) los videos privados del usuarioActual + * + * @param busqueda Texto a buscar (si es vacÃo incluye todo el contenido) + * @param filtro Tipo de contenido en el cual se realizará la búsqueda + * @param orden Manera de ordenar el resultado de la búsqueda + * @return Resultado de la busqueda. Puede contener DtVideo, + * DtListaDeReproduccion y/o DtCanal. (para usar los elementos devueltos hay + * que castearlos) + */ + public ArrayList<Object> buscar(String busqueda, Filtrado filtro, Ordenacion orden){ + EntityManager em = getEntityManager(); + List<Object> ret = new ArrayList(); + if (busqueda == null || busqueda.equals("")) { + }else{ + busqueda = "%" + busqueda + "%"; + } + try { + Query q; + // Segun la opcion de filtrado, se obtienen los contenidos que contengan el texto a buscar + // Busca los Canales + if (filtro == Filtrado.TODO || filtro == Filtrado.CANALES){ + if (busqueda == null || busqueda.equals("")){ + q = em.createQuery("SELECT e FROM Canal e WHERE NOT e.eliminado"); + }else{ + q = em.createQuery("SELECT e FROM Canal e WHERE (UPPER(e.nombre)) LIKE (UPPER(?1)) OR (UPPER(e.descripcion)) LIKE (UPPER(?1)) AND NOT e.eliminado"); + q.setParameter(1, busqueda); + } + ret.addAll(q.getResultList()); + } + // Busca los Listas de reproduccion + if (filtro == Filtrado.TODO || filtro == Filtrado.LISTAS_DE_REPRODUCCION){ + if (busqueda == null || busqueda.equals("")){ + q = em.createQuery("SELECT e FROM ListaDeReproduccion e WHERE e.tipo = ? AND NOT e.eliminado"); + q.setParameter(1, TipoListaDeReproduccion.PARTICULAR); + }else{ + q = em.createQuery("SELECT e FROM ListaDeReproduccion e WHERE e.tipo = ?1 AND (UPPER(e.nombre)) LIKE (UPPER(?2)) AND NOT e.eliminado"); + q.setParameter(1, TipoListaDeReproduccion.PARTICULAR); + q.setParameter(2, busqueda); + } + ret.addAll(q.getResultList()); + } + // Busca los Videos + if (filtro == Filtrado.TODO || filtro == Filtrado.VIDEOS){ + if (busqueda == null || busqueda.equals("")){ + q = em.createQuery("SELECT e FROM Video e WHERE NOT e.eliminado"); + }else{ + q = em.createQuery("SELECT e FROM Video e WHERE (UPPER(e.nombre)) LIKE (UPPER(?1)) OR (UPPER(e.descripcion)) LIKE (UPPER(?1)) AND NOT e.eliminado"); + q.setParameter(1, busqueda); + } + ret.addAll(q.getResultList()); + } + + // En este punto ret contiene todos los contenidos que contienen la busqueda en su nombre o descripcion + ArrayList<ParDeObjetos> pares = null; + ArrayList<ParDeObjetos> paresOrdenados; + // Asocia los elementos a su nombre o su fecha (segun como se desee ordenar) + switch (orden){ + case ALFABETICA_ASCENDENTE: + pares = nombrarElementos((ArrayList<Object>) ret); + break; + case FECHA_DESCENDENTE: + pares = fecharElementos((ArrayList<Object>) ret); + break; + } + + // Leido de adentro hacia afuera: + // se ordena por fecha + // Se desarma el par de objetos + // se convierte cada objeto a su DataType + // retorna el resultado + return convertirClaseADatatype( + ParDeObjetos.extraerElementos( + ordenar(pares) + ) + ); + } finally { + em.close(); + } + } + + /** + * Devuelve un listado de Video y ListaDeReproduccion que pertenezcan ala + * categoria indicada, ordenado por fecha de actividasd reciente + * @param cat Categoria a buscar + * @return Lista ordenada Video y ListaDeReproduccion + */ + public ArrayList<Object> buscarPorCategoria(String cat) { + EntityManager em = getEntityManager(); + List<Object> ret = new ArrayList(); + try { + Query q; + // Obtiene los videos en esa categoria + q = em.createQuery("SELECT e FROM Video e WHERE e.categoria = ?1 AND NOT e.eliminado"); + q.setParameter(1, cat); + ret.addAll(q.getResultList()); + // obtiene las listas de reproduccion en esa categoria + q = em.createQuery("SELECT e FROM ListaDeReproduccion e WHERE e.categoria = ?1 AND NOT e.eliminado"); + q.setParameter(1, cat); + ret.addAll(q.getResultList()); + + // Leido de adentro hacia afuera: + // Asocia los elementos a una fecha + // se ordena por fecha + // Se desarma el par de objetos + // se convierte cada objeto a su DataType + // retorna el resultado + return convertirClaseADatatype( + ParDeObjetos.extraerElementos( + ordenar( + fecharElementos( + (ArrayList<Object>) ret + ) + ) + ) + ); + } finally { + em.close(); + } + } + + /** + * Asocia los objetos recibidos a una fecha + * Canal se asocia a la fecha del video mas reciente + * Video a su propia fecha + * ListaDeReproduccion fecha del video con fecha mas reciente + * @param lista Lista de objetos a ordenar (Canal, Video o ListaDeReproduccion) + * @return Lista de los objetos recibidos pero asociados a una fecha + */ + public ArrayList<ParDeObjetos> fecharElementos(ArrayList<Object> lista){ + ArrayList<ParDeObjetos> ret = new ArrayList(); + // Asocia cada elemento del array recibido con su fecha + for (Object o : lista){ + ret.add(new ParDeObjetos(o, ultimaActividad(o))); + } + return ret; + } + + /** + * Asocia los objetos recibidos a una fecha + * Canal se asocia a la fecha del video mas reciente + * Video a su propia fecha + * ListaDeReproduccion fecha del video con fecha mas reciente + * @param lista Lista de objetos a ordenar (Canal, Video o ListaDeReproduccion) + * @return Lista de los objetos recibidos pero asociados a una fecha + */ + public ArrayList<ParDeObjetos> nombrarElementos(ArrayList<Object> lista){ + ArrayList<ParDeObjetos> ret = new ArrayList(); + // Asocia cada elemento del array recibido con su nombre + for (Object o : lista){ + ret.add(new ParDeObjetos(o, nombreParaOrdenar(o))); + } + return ret; + } + + /** + * Devuelve el nombre del objeto + * Canal su nombre + * Video su nombre + * ListaDeReproduccion su nombre + * @param o Objeto a dar nombre + * @return Nombre del objeto + */ + private String nombreParaOrdenar(Object o){ + java.sql.Date ret = null; + // Devuelve el nombre del objeto + if (o instanceof Canal){ + return ((Canal) o).getNombre(); + }else if (o instanceof ListaDeReproduccion){ + return ((ListaDeReproduccion) o).getNombre(); + }else if (o instanceof Video){ + return ((Video) o).getNombre(); + } + return ""; + } + + /** + * Devuelve la fecha de la ultima actividad del objeto + * Canal es la fecha del video mas reciente + * Video su propia fecha + * ListaDeReproduccion la fecha del video con fecha mas reciente + * @param o + * @return + */ + private java.sql.Date ultimaActividad(Object o){ + // Por si no se pude determinar la fecha, inicializo con una fecha bien vieja + java.sql.Date ret = new java.sql.Date(-1900, 0, 1); + // mas viejo que eso solo puede ser algun video de Mirta Legrant, y no creo que ella use UyTube... + + if (o instanceof Canal){ + // si el objeto es un Canal + // busca la fecha de publicacion mas reciente entre los videos del canal + ArrayList<DtVideo> videos = ((Canal) o).listarVideos(); + for (DtVideo dtv : videos){ + if (ret == null || dtv.getFechaPublicacion().compareTo(ret) > 0){ + ret = dtv.getFechaPublicacion(); + } + } + }else if (o instanceof ListaDeReproduccion){ + // si el objeto es una ListaDeReproduccion + // busca la fecha de publicacion mas reciente entre los videos de la lista + ArrayList<DtVideo> videos = ((ListaDeReproduccion) o).listarVideos(); + for (DtVideo dtv : videos){ + if (ret == null || dtv.getFechaPublicacion().compareTo(ret) > 0){ + ret = dtv.getFechaPublicacion(); + } + } + }else if (o instanceof Video){ + // si el objeto es un Video + // Devuelve su fecha + ret = ((Video) o).getFechaPublicacion(); + } + return ret; + } + + /** + * Ordena la lista de pares recibida + * @param lista Lista a ordenar + * @return Lista ordenada + */ + public ArrayList<ParDeObjetos> ordenar(ArrayList<ParDeObjetos> lista){ + // Caso base, no hay lista o es vacia + if (lista == null || lista.isEmpty()){ + return new ArrayList(); + } + + // Extrae el primer elemento de la lista + ParDeObjetos par = lista.remove(0); + // llama a la recursividad + ArrayList<ParDeObjetos> listaOrdenada = ordenar(lista); + + // Recore la lista ya ordenada por la llamada recursiva + // compara cada elemento y para cuando encuentra su lugar + int i = 0; + for (; i < listaOrdenada.size(); i++){ + ParDeObjetos p = listaOrdenada.get(i); + if (comparar(p, par) < 0){ + break; + } + } + // Agrega el elemento al resultado + listaOrdenada.add(i, par); + return listaOrdenada; + } + + /** + * Compara dos pares de objetos + * Se soportan String o java.sql.Date + * @param a Primer par a comparar + * @param b Segundo par a comparar + * @return 0 si (a == b), -1 si (a < b), 1 si (a > b) + */ + private int comparar(ParDeObjetos a, ParDeObjetos b){ + // Realiza la comparacion dependiendo del tipo de objeto para comparar + if (a.getOrderField() instanceof String){ + String str1 = (String) a.getOrderField(); + String str2 = (String) b.getOrderField(); + return (str1.compareToIgnoreCase(str2)) * -1; + }else if (a.getOrderField() instanceof java.sql.Date){ + java.sql.Date date1 = (java.sql.Date) a.getOrderField(); + java.sql.Date date2 = (java.sql.Date) b.getOrderField(); + return date1.compareTo(date2); + } + return 0; + } + + /** + * Reemplaza los objetos de la lista por sus DataType + * @param lst Lista con clases Canal, ListaDeReproduccion o Video + * @return Lista de DtCanal, DtListaDeReproduccion o DtVideo + */ + private ArrayList<Object> convertirClaseADatatype(ArrayList<Object> lst){ + Object o; + // Recorre todo el array + for (int i = 0; i < lst.size(); i++) { + o = lst.get(i); + // Castea el objeto para llamar a la funcion .getDT() + if (o instanceof Canal) { + lst.set(i, ((Canal)o).getDT()); + } else if (o instanceof ListaDeReproduccion) { + lst.set(i, ((ListaDeReproduccion)o).getDt()); + } else if (o instanceof Video) { + lst.set(i, ((Video)o).getDt()); + } + } + return lst; + } +} diff --git a/UyTube_logica/src/JPAControllerClasses/CanalJpaController.java b/UyTube_logica/src/JPAControllerClasses/CanalJpaController.java new file mode 100644 index 0000000..1876ea6 --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/CanalJpaController.java @@ -0,0 +1,142 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package JPAControllerClasses; + +import JPAControllerClasses.exceptions.NonexistentEntityException; +import Logica.Clases.Canal; +import java.io.Serializable; +import java.util.List; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Query; +import javax.persistence.EntityNotFoundException; +import javax.persistence.Persistence; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Root; + +/** + * + * @author Juan + */ +public class CanalJpaController implements Serializable { + + public CanalJpaController() { + this.emf = Persistence.createEntityManagerFactory(NombreManejador.getNombreManejador()); + } + public CanalJpaController(EntityManagerFactory emf) { + this.emf = emf; + } + private EntityManagerFactory emf = null; + + public EntityManager getEntityManager() { + return emf.createEntityManager(); + } + + public void create(Canal canal) { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + em.persist(canal); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public void edit(Canal canal) throws NonexistentEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + canal = em.merge(canal); + em.getTransaction().commit(); + } catch (Exception ex) { + String msg = ex.getLocalizedMessage(); + if (msg == null || msg.length() == 0) { + int id = canal.getId(); + if (findCanal(id) == null) { + throw new NonexistentEntityException("The canal with id " + id + " no longer exists."); + } + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void destroy(int id) throws NonexistentEntityException { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + Canal canal; + try { + canal = em.getReference(Canal.class, id); + canal.getId(); + } catch (EntityNotFoundException enfe) { + throw new NonexistentEntityException("The canal with id " + id + " no longer exists.", enfe); + } + em.remove(canal); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public List<Canal> findCanalEntities() { + return findCanalEntities(true, -1, -1); + } + + public List<Canal> findCanalEntities(int maxResults, int firstResult) { + return findCanalEntities(false, maxResults, firstResult); + } + + private List<Canal> findCanalEntities(boolean all, int maxResults, int firstResult) { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + cq.select(cq.from(Canal.class)); + Query q = em.createQuery(cq); + if (!all) { + q.setMaxResults(maxResults); + q.setFirstResult(firstResult); + } + return q.getResultList(); + } finally { + em.close(); + } + } + + public Canal findCanal(int id) { + EntityManager em = getEntityManager(); + try { + return em.find(Canal.class, id); + } finally { + em.close(); + } + } + + public int getCanalCount() { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + Root<Canal> rt = cq.from(Canal.class); + cq.select(em.getCriteriaBuilder().count(rt)); + Query q = em.createQuery(cq); + return ((Long) q.getSingleResult()).intValue(); + } finally { + em.close(); + } + } + +} diff --git a/UyTube_logica/src/JPAControllerClasses/CategoriaJpaController.java b/UyTube_logica/src/JPAControllerClasses/CategoriaJpaController.java new file mode 100644 index 0000000..3893b56 --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/CategoriaJpaController.java @@ -0,0 +1,148 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package JPAControllerClasses; + +import JPAControllerClasses.exceptions.NonexistentEntityException; +import JPAControllerClasses.exceptions.PreexistingEntityException; +import Logica.Clases.Categoria; +import java.io.Serializable; +import java.util.List; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Query; +import javax.persistence.EntityNotFoundException; +import javax.persistence.Persistence; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Root; + +/** + * + * @author Juan + */ +public class CategoriaJpaController implements Serializable { + + public CategoriaJpaController() { + this.emf = Persistence.createEntityManagerFactory(NombreManejador.getNombreManejador()); + } + public CategoriaJpaController(EntityManagerFactory emf) { + this.emf = emf; + } + private EntityManagerFactory emf = null; + + public EntityManager getEntityManager() { + return emf.createEntityManager(); + } + + public void create(Categoria categoria) throws PreexistingEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + em.persist(categoria); + em.getTransaction().commit(); + } catch (Exception ex) { + if (findCategoria(categoria.getNombre()) != null) { + throw new PreexistingEntityException("Categoria " + categoria + " already exists.", ex); + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void edit(Categoria categoria) throws NonexistentEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + categoria = em.merge(categoria); + em.getTransaction().commit(); + } catch (Exception ex) { + String msg = ex.getLocalizedMessage(); + if (msg == null || msg.length() == 0) { + String id = categoria.getNombre(); + if (findCategoria(id) == null) { + throw new NonexistentEntityException("The categoria with id " + id + " no longer exists."); + } + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void destroy(String id) throws NonexistentEntityException { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + Categoria categoria; + try { + categoria = em.getReference(Categoria.class, id); + categoria.getNombre(); + } catch (EntityNotFoundException enfe) { + throw new NonexistentEntityException("The categoria with id " + id + " no longer exists.", enfe); + } + em.remove(categoria); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public List<Categoria> findCategoriaEntities() { + return findCategoriaEntities(true, -1, -1); + } + + public List<Categoria> findCategoriaEntities(int maxResults, int firstResult) { + return findCategoriaEntities(false, maxResults, firstResult); + } + + private List<Categoria> findCategoriaEntities(boolean all, int maxResults, int firstResult) { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + cq.select(cq.from(Categoria.class)); + Query q = em.createQuery(cq); + if (!all) { + q.setMaxResults(maxResults); + q.setFirstResult(firstResult); + } + return q.getResultList(); + } finally { + em.close(); + } + } + + public Categoria findCategoria(String id) { + EntityManager em = getEntityManager(); + try { + return em.find(Categoria.class, id); + } finally { + em.close(); + } + } + + public int getCategoriaCount() { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + Root<Categoria> rt = cq.from(Categoria.class); + cq.select(em.getCriteriaBuilder().count(rt)); + Query q = em.createQuery(cq); + return ((Long) q.getSingleResult()).intValue(); + } finally { + em.close(); + } + } + +} diff --git a/UyTube_logica/src/JPAControllerClasses/ComentarioJpaController.java b/UyTube_logica/src/JPAControllerClasses/ComentarioJpaController.java new file mode 100644 index 0000000..ca7ea2c --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/ComentarioJpaController.java @@ -0,0 +1,142 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package JPAControllerClasses; + +import JPAControllerClasses.exceptions.NonexistentEntityException; +import Logica.Clases.Comentario; +import java.io.Serializable; +import java.util.List; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Query; +import javax.persistence.EntityNotFoundException; +import javax.persistence.Persistence; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Root; + +/** + * + * @author Juan + */ +public class ComentarioJpaController implements Serializable { + + public ComentarioJpaController() { + this.emf = Persistence.createEntityManagerFactory(NombreManejador.getNombreManejador()); + } + public ComentarioJpaController(EntityManagerFactory emf) { + this.emf = emf; + } + private EntityManagerFactory emf = null; + + public EntityManager getEntityManager() { + return emf.createEntityManager(); + } + + public void create(Comentario comentario) { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + em.persist(comentario); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public void edit(Comentario comentario) throws NonexistentEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + comentario = em.merge(comentario); + em.getTransaction().commit(); + } catch (Exception ex) { + String msg = ex.getLocalizedMessage(); + if (msg == null || msg.length() == 0) { + int id = comentario.getId(); + if (findComentario(id) == null) { + throw new NonexistentEntityException("The comentario with id " + id + " no longer exists."); + } + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void destroy(int id) throws NonexistentEntityException { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + Comentario comentario; + try { + comentario = em.getReference(Comentario.class, id); + comentario.getId(); + } catch (EntityNotFoundException enfe) { + throw new NonexistentEntityException("The comentario with id " + id + " no longer exists.", enfe); + } + em.remove(comentario); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public List<Comentario> findComentarioEntities() { + return findComentarioEntities(true, -1, -1); + } + + public List<Comentario> findComentarioEntities(int maxResults, int firstResult) { + return findComentarioEntities(false, maxResults, firstResult); + } + + private List<Comentario> findComentarioEntities(boolean all, int maxResults, int firstResult) { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + cq.select(cq.from(Comentario.class)); + Query q = em.createQuery(cq); + if (!all) { + q.setMaxResults(maxResults); + q.setFirstResult(firstResult); + } + return q.getResultList(); + } finally { + em.close(); + } + } + + public Comentario findComentario(int id) { + EntityManager em = getEntityManager(); + try { + return em.find(Comentario.class, id); + } finally { + em.close(); + } + } + + public int getComentarioCount() { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + Root<Comentario> rt = cq.from(Comentario.class); + cq.select(em.getCriteriaBuilder().count(rt)); + Query q = em.createQuery(cq); + return ((Long) q.getSingleResult()).intValue(); + } finally { + em.close(); + } + } + +} diff --git a/UyTube_logica/src/JPAControllerClasses/ListaDeReproduccionJpaController.java b/UyTube_logica/src/JPAControllerClasses/ListaDeReproduccionJpaController.java new file mode 100644 index 0000000..6b625cd --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/ListaDeReproduccionJpaController.java @@ -0,0 +1,142 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package JPAControllerClasses; + +import JPAControllerClasses.exceptions.NonexistentEntityException; +import Logica.Clases.ListaDeReproduccion; +import java.io.Serializable; +import java.util.List; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Query; +import javax.persistence.EntityNotFoundException; +import javax.persistence.Persistence; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Root; + +/** + * + * @author Juan + */ +public class ListaDeReproduccionJpaController implements Serializable { + + public ListaDeReproduccionJpaController() { + this.emf = Persistence.createEntityManagerFactory(NombreManejador.getNombreManejador()); + } + public ListaDeReproduccionJpaController(EntityManagerFactory emf) { + this.emf = emf; + } + private EntityManagerFactory emf = null; + + public EntityManager getEntityManager() { + return emf.createEntityManager(); + } + + public void create(ListaDeReproduccion listaDeReproduccion) { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + em.persist(listaDeReproduccion); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public void edit(ListaDeReproduccion listaDeReproduccion) throws NonexistentEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + listaDeReproduccion = em.merge(listaDeReproduccion); + em.getTransaction().commit(); + } catch (Exception ex) { + String msg = ex.getLocalizedMessage(); + if (msg == null || msg.length() == 0) { + int id = listaDeReproduccion.getId(); + if (findListaDeReproduccion(id) == null) { + throw new NonexistentEntityException("The listaDeReproduccion with id " + id + " no longer exists."); + } + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void destroy(int id) throws NonexistentEntityException { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + ListaDeReproduccion listaDeReproduccion; + try { + listaDeReproduccion = em.getReference(ListaDeReproduccion.class, id); + listaDeReproduccion.getId(); + } catch (EntityNotFoundException enfe) { + throw new NonexistentEntityException("The listaDeReproduccion with id " + id + " no longer exists.", enfe); + } + em.remove(listaDeReproduccion); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public List<ListaDeReproduccion> findListaDeReproduccionEntities() { + return findListaDeReproduccionEntities(true, -1, -1); + } + + public List<ListaDeReproduccion> findListaDeReproduccionEntities(int maxResults, int firstResult) { + return findListaDeReproduccionEntities(false, maxResults, firstResult); + } + + private List<ListaDeReproduccion> findListaDeReproduccionEntities(boolean all, int maxResults, int firstResult) { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + cq.select(cq.from(ListaDeReproduccion.class)); + Query q = em.createQuery(cq); + if (!all) { + q.setMaxResults(maxResults); + q.setFirstResult(firstResult); + } + return q.getResultList(); + } finally { + em.close(); + } + } + + public ListaDeReproduccion findListaDeReproduccion(int id) { + EntityManager em = getEntityManager(); + try { + return em.find(ListaDeReproduccion.class, id); + } finally { + em.close(); + } + } + + public int getListaDeReproduccionCount() { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + Root<ListaDeReproduccion> rt = cq.from(ListaDeReproduccion.class); + cq.select(em.getCriteriaBuilder().count(rt)); + Query q = em.createQuery(cq); + return ((Long) q.getSingleResult()).intValue(); + } finally { + em.close(); + } + } + +} diff --git a/UyTube_logica/src/JPAControllerClasses/ListaPorDefectoJpaController.java b/UyTube_logica/src/JPAControllerClasses/ListaPorDefectoJpaController.java new file mode 100644 index 0000000..9e2d0ed --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/ListaPorDefectoJpaController.java @@ -0,0 +1,148 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package JPAControllerClasses; + +import JPAControllerClasses.exceptions.NonexistentEntityException; +import JPAControllerClasses.exceptions.PreexistingEntityException; +import Logica.Clases.ListaPorDefecto; +import java.io.Serializable; +import java.util.List; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Query; +import javax.persistence.EntityNotFoundException; +import javax.persistence.Persistence; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Root; + +/** + * + * @author Juan + */ +public class ListaPorDefectoJpaController implements Serializable { + + public ListaPorDefectoJpaController() { + this.emf = Persistence.createEntityManagerFactory(NombreManejador.getNombreManejador()); + } + public ListaPorDefectoJpaController(EntityManagerFactory emf) { + this.emf = emf; + } + private EntityManagerFactory emf = null; + + public EntityManager getEntityManager() { + return emf.createEntityManager(); + } + + public void create(ListaPorDefecto listaPorDefecto) throws PreexistingEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + em.persist(listaPorDefecto); + em.getTransaction().commit(); + } catch (Exception ex) { + if (findListaPorDefecto(listaPorDefecto.getNombre()) != null) { + throw new PreexistingEntityException("ListaPorDefecto " + listaPorDefecto + " already exists.", ex); + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void edit(ListaPorDefecto listaPorDefecto) throws NonexistentEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + listaPorDefecto = em.merge(listaPorDefecto); + em.getTransaction().commit(); + } catch (Exception ex) { + String msg = ex.getLocalizedMessage(); + if (msg == null || msg.length() == 0) { + String id = listaPorDefecto.getNombre(); + if (findListaPorDefecto(id) == null) { + throw new NonexistentEntityException("The listaPorDefecto with id " + id + " no longer exists."); + } + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void destroy(String id) throws NonexistentEntityException { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + ListaPorDefecto listaPorDefecto; + try { + listaPorDefecto = em.getReference(ListaPorDefecto.class, id); + listaPorDefecto.getNombre(); + } catch (EntityNotFoundException enfe) { + throw new NonexistentEntityException("The listaPorDefecto with id " + id + " no longer exists.", enfe); + } + em.remove(listaPorDefecto); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public List<ListaPorDefecto> findListaPorDefectoEntities() { + return findListaPorDefectoEntities(true, -1, -1); + } + + public List<ListaPorDefecto> findListaPorDefectoEntities(int maxResults, int firstResult) { + return findListaPorDefectoEntities(false, maxResults, firstResult); + } + + private List<ListaPorDefecto> findListaPorDefectoEntities(boolean all, int maxResults, int firstResult) { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + cq.select(cq.from(ListaPorDefecto.class)); + Query q = em.createQuery(cq); + if (!all) { + q.setMaxResults(maxResults); + q.setFirstResult(firstResult); + } + return q.getResultList(); + } finally { + em.close(); + } + } + + public ListaPorDefecto findListaPorDefecto(String id) { + EntityManager em = getEntityManager(); + try { + return em.find(ListaPorDefecto.class, id); + } finally { + em.close(); + } + } + + public int getListaPorDefectoCount() { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + Root<ListaPorDefecto> rt = cq.from(ListaPorDefecto.class); + cq.select(em.getCriteriaBuilder().count(rt)); + Query q = em.createQuery(cq); + return ((Long) q.getSingleResult()).intValue(); + } finally { + em.close(); + } + } + +} diff --git a/UyTube_logica/src/JPAControllerClasses/NombreManejador.java b/UyTube_logica/src/JPAControllerClasses/NombreManejador.java new file mode 100644 index 0000000..8a04614 --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/NombreManejador.java @@ -0,0 +1,9 @@ +package JPAControllerClasses; + +public class NombreManejador { + private static String nombreManejador = "UyTubePU"; + + public static String getNombreManejador(){ + return nombreManejador; + } +} diff --git a/UyTube_logica/src/JPAControllerClasses/ParDeObjetos.java b/UyTube_logica/src/JPAControllerClasses/ParDeObjetos.java new file mode 100644 index 0000000..8c38f83 --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/ParDeObjetos.java @@ -0,0 +1,40 @@ +package JPAControllerClasses; + +import java.util.ArrayList; + +public class ParDeObjetos { + private Object element; + private Object orderField; + + public ParDeObjetos(Object element, Object orderField) { + this.element = element; + this.orderField = orderField; + } + + public Object getElement() { + return element; + } + + public void setElement(Object element) { + this.element = element; + } + + public Object getOrderField() { + return orderField; + } + + public void setOrderField(Object orderField) { + this.orderField = orderField; + } + + + public static ArrayList<Object> extraerElementos(ArrayList<ParDeObjetos> lista){ + ArrayList<Object> ret = new ArrayList(); + for (ParDeObjetos par : lista){ + ret.add(par.getElement()); + } + return ret; + } + + +} diff --git a/UyTube_logica/src/JPAControllerClasses/PersonaJpaController.java b/UyTube_logica/src/JPAControllerClasses/PersonaJpaController.java new file mode 100644 index 0000000..7649495 --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/PersonaJpaController.java @@ -0,0 +1,148 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package JPAControllerClasses; + +import JPAControllerClasses.exceptions.NonexistentEntityException; +import JPAControllerClasses.exceptions.PreexistingEntityException; +import Logica.Clases.Persona; +import java.io.Serializable; +import java.util.List; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Query; +import javax.persistence.EntityNotFoundException; +import javax.persistence.Persistence; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Root; + +/** + * + * @author Juan + */ +public class PersonaJpaController implements Serializable { + + public PersonaJpaController() { + this.emf = Persistence.createEntityManagerFactory(NombreManejador.getNombreManejador()); + } + public PersonaJpaController(EntityManagerFactory emf) { + this.emf = emf; + } + private EntityManagerFactory emf = null; + + public EntityManager getEntityManager() { + return emf.createEntityManager(); + } + + public void create(Persona persona) throws PreexistingEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + em.persist(persona); + em.getTransaction().commit(); + } catch (Exception ex) { + if (findPersona(persona.getId()) != null) { + throw new PreexistingEntityException("Persona " + persona + " already exists.", ex); + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void edit(Persona persona) throws NonexistentEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + persona = em.merge(persona); + em.getTransaction().commit(); + } catch (Exception ex) { + String msg = ex.getLocalizedMessage(); + if (msg == null || msg.length() == 0) { + int id = persona.getId(); + if (findPersona(id) == null) { + throw new NonexistentEntityException("The persona with id " + id + " no longer exists."); + } + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void destroy(int id) throws NonexistentEntityException { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + Persona persona; + try { + persona = em.getReference(Persona.class, id); + persona.getId(); + } catch (EntityNotFoundException enfe) { + throw new NonexistentEntityException("The persona with id " + id + " no longer exists.", enfe); + } + em.remove(persona); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public List<Persona> findPersonaEntities() { + return findPersonaEntities(true, -1, -1); + } + + public List<Persona> findPersonaEntities(int maxResults, int firstResult) { + return findPersonaEntities(false, maxResults, firstResult); + } + + private List<Persona> findPersonaEntities(boolean all, int maxResults, int firstResult) { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + cq.select(cq.from(Persona.class)); + Query q = em.createQuery(cq); + if (!all) { + q.setMaxResults(maxResults); + q.setFirstResult(firstResult); + } + return q.getResultList(); + } finally { + em.close(); + } + } + + public Persona findPersona(int id) { + EntityManager em = getEntityManager(); + try { + return em.find(Persona.class, id); + } finally { + em.close(); + } + } + + public int getPersonaCount() { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + Root<Persona> rt = cq.from(Persona.class); + cq.select(em.getCriteriaBuilder().count(rt)); + Query q = em.createQuery(cq); + return ((Long) q.getSingleResult()).intValue(); + } finally { + em.close(); + } + } + +} diff --git a/UyTube_logica/src/JPAControllerClasses/UsuarioJpaController.java b/UyTube_logica/src/JPAControllerClasses/UsuarioJpaController.java new file mode 100644 index 0000000..87a42ad --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/UsuarioJpaController.java @@ -0,0 +1,159 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package JPAControllerClasses; + +import JPAControllerClasses.exceptions.NonexistentEntityException; +import JPAControllerClasses.exceptions.PreexistingEntityException; +import Logica.Clases.Usuario; +import java.io.Serializable; +import java.util.List; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Query; +import javax.persistence.EntityNotFoundException; +import javax.persistence.Persistence; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Root; + +/** + * + * @author Juan + */ +public class UsuarioJpaController implements Serializable { + + public UsuarioJpaController() { + this.emf = Persistence.createEntityManagerFactory(NombreManejador.getNombreManejador()); + } + public UsuarioJpaController(EntityManagerFactory emf) { + this.emf = emf; + } + private EntityManagerFactory emf = null; + + public EntityManager getEntityManager() { + return emf.createEntityManager(); + } + + public void create(Usuario usuario) throws PreexistingEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + em.persist(usuario); + em.getTransaction().commit(); + } catch (Exception ex) { + if (findUsuario(usuario.getNickname()) != null) { + throw new PreexistingEntityException("Usuario " + usuario + " already exists.", ex); + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void edit(Usuario usuario) throws NonexistentEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + usuario = em.merge(usuario); + em.getTransaction().commit(); + } catch (Exception ex) { + String msg = ex.getLocalizedMessage(); + if (msg == null || msg.length() == 0) { + String id = usuario.getNickname(); + if (findUsuario(id) == null) { + throw new NonexistentEntityException("The usuario with id " + id + " no longer exists."); + } + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void destroy(String id) throws NonexistentEntityException { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + Usuario usuario; + try { + usuario = em.getReference(Usuario.class, id); + usuario.getNickname(); + } catch (EntityNotFoundException enfe) { + throw new NonexistentEntityException("The usuario with id " + id + " no longer exists.", enfe); + } + em.remove(usuario); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public List<Usuario> findUsuarioEntities() { + return findUsuarioEntities(true, -1, -1); + } + + public List<Usuario> findUsuarioEntities(int maxResults, int firstResult) { + return findUsuarioEntities(false, maxResults, firstResult); + } + + private List<Usuario> findUsuarioEntities(boolean all, int maxResults, int firstResult) { + EntityManager em = getEntityManager(); + try { + Query q = em.createQuery("SELECT u FROM Usuario u WHERE u.eliminado = ?1"); + q.setParameter(1, false); + if (!all) { + q.setMaxResults(maxResults); + q.setFirstResult(firstResult); + } + return q.getResultList(); + } finally { + em.close(); + } + } + + public List<Usuario> findUsuarioEliminadoEntities() { + EntityManager em = getEntityManager(); + try { + Query q = em.createQuery("SELECT u FROM Usuario u WHERE u.eliminado = ?1"); + q.setParameter(1, true); + List<Usuario> usuarios = (List<Usuario>) q.getResultList(); + return usuarios; + } finally { + em.close(); + } + } + + public Usuario findUsuario(String id) { + EntityManager em = getEntityManager(); + try { + return em.find(Usuario.class, id); + } finally { + em.close(); + } + } + + public int getUsuarioCount() { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + Root<Usuario> rt = cq.from(Usuario.class); + cq.select(em.getCriteriaBuilder().count(rt)); + Query q = em.createQuery(cq); + return ((Long) q.getSingleResult()).intValue(); + } finally { + em.close(); + } + } + +} diff --git a/UyTube_logica/src/JPAControllerClasses/ValoracionJpaController.java b/UyTube_logica/src/JPAControllerClasses/ValoracionJpaController.java new file mode 100644 index 0000000..2c4e687 --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/ValoracionJpaController.java @@ -0,0 +1,142 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package JPAControllerClasses; + +import JPAControllerClasses.exceptions.NonexistentEntityException; +import Logica.Clases.Valoracion; +import java.io.Serializable; +import java.util.List; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Query; +import javax.persistence.EntityNotFoundException; +import javax.persistence.Persistence; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Root; + +/** + * + * @author Juan + */ +public class ValoracionJpaController implements Serializable { + + public ValoracionJpaController() { + this.emf = Persistence.createEntityManagerFactory(NombreManejador.getNombreManejador()); + } + public ValoracionJpaController(EntityManagerFactory emf) { + this.emf = emf; + } + private EntityManagerFactory emf = null; + + public EntityManager getEntityManager() { + return emf.createEntityManager(); + } + + public void create(Valoracion valoracion) { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + em.persist(valoracion); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public void edit(Valoracion valoracion) throws NonexistentEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + valoracion = em.merge(valoracion); + em.getTransaction().commit(); + } catch (Exception ex) { + String msg = ex.getLocalizedMessage(); + if (msg == null || msg.length() == 0) { + int id = valoracion.getId(); + if (findValoracion(id) == null) { + throw new NonexistentEntityException("The valoracion with id " + id + " no longer exists."); + } + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void destroy(int id) throws NonexistentEntityException { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + Valoracion valoracion; + try { + valoracion = em.getReference(Valoracion.class, id); + valoracion.getId(); + } catch (EntityNotFoundException enfe) { + throw new NonexistentEntityException("The valoracion with id " + id + " no longer exists.", enfe); + } + em.remove(valoracion); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public List<Valoracion> findValoracionEntities() { + return findValoracionEntities(true, -1, -1); + } + + public List<Valoracion> findValoracionEntities(int maxResults, int firstResult) { + return findValoracionEntities(false, maxResults, firstResult); + } + + private List<Valoracion> findValoracionEntities(boolean all, int maxResults, int firstResult) { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + cq.select(cq.from(Valoracion.class)); + Query q = em.createQuery(cq); + if (!all) { + q.setMaxResults(maxResults); + q.setFirstResult(firstResult); + } + return q.getResultList(); + } finally { + em.close(); + } + } + + public Valoracion findValoracion(int id) { + EntityManager em = getEntityManager(); + try { + return em.find(Valoracion.class, id); + } finally { + em.close(); + } + } + + public int getValoracionCount() { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + Root<Valoracion> rt = cq.from(Valoracion.class); + cq.select(em.getCriteriaBuilder().count(rt)); + Query q = em.createQuery(cq); + return ((Long) q.getSingleResult()).intValue(); + } finally { + em.close(); + } + } + +} diff --git a/UyTube_logica/src/JPAControllerClasses/VideoJpaController.java b/UyTube_logica/src/JPAControllerClasses/VideoJpaController.java new file mode 100644 index 0000000..b56d22a --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/VideoJpaController.java @@ -0,0 +1,143 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package JPAControllerClasses; + +import JPAControllerClasses.exceptions.NonexistentEntityException; +import Logica.Clases.Video; +import java.io.Serializable; +import java.util.List; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Query; +import javax.persistence.EntityNotFoundException; +import javax.persistence.Persistence; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Root; + +/** + * + * @author Juan + */ +public class VideoJpaController implements Serializable { + + public VideoJpaController() { + this.emf = Persistence.createEntityManagerFactory(NombreManejador.getNombreManejador()); + } + + public VideoJpaController(EntityManagerFactory emf) { + this.emf = emf; + } + private EntityManagerFactory emf = null; + + public EntityManager getEntityManager() { + return emf.createEntityManager(); + } + + public void create(Video video) { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + em.persist(video); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public void edit(Video video) throws NonexistentEntityException, Exception { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + video = em.merge(video); + em.getTransaction().commit(); + } catch (Exception ex) { + String msg = ex.getLocalizedMessage(); + if (msg == null || msg.length() == 0) { + int id = video.getId(); + if (findVideo(id) == null) { + throw new NonexistentEntityException("The video with id " + id + " no longer exists."); + } + } + throw ex; + } finally { + if (em != null) { + em.close(); + } + } + } + + public void destroy(int id) throws NonexistentEntityException { + EntityManager em = null; + try { + em = getEntityManager(); + em.getTransaction().begin(); + Video video; + try { + video = em.getReference(Video.class, id); + video.getId(); + } catch (EntityNotFoundException enfe) { + throw new NonexistentEntityException("The video with id " + id + " no longer exists.", enfe); + } + em.remove(video); + em.getTransaction().commit(); + } finally { + if (em != null) { + em.close(); + } + } + } + + public List<Video> findVideoEntities() { + return findVideoEntities(true, -1, -1); + } + + public List<Video> findVideoEntities(int maxResults, int firstResult) { + return findVideoEntities(false, maxResults, firstResult); + } + + private List<Video> findVideoEntities(boolean all, int maxResults, int firstResult) { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + cq.select(cq.from(Video.class)); + Query q = em.createQuery(cq); + if (!all) { + q.setMaxResults(maxResults); + q.setFirstResult(firstResult); + } + return q.getResultList(); + } finally { + em.close(); + } + } + + public Video findVideo(int id) { + EntityManager em = getEntityManager(); + try { + return em.find(Video.class, id); + } finally { + em.close(); + } + } + + public int getVideoCount() { + EntityManager em = getEntityManager(); + try { + CriteriaQuery cq = em.getCriteriaBuilder().createQuery(); + Root<Video> rt = cq.from(Video.class); + cq.select(em.getCriteriaBuilder().count(rt)); + Query q = em.createQuery(cq); + return ((Long) q.getSingleResult()).intValue(); + } finally { + em.close(); + } + } + +} diff --git a/UyTube_logica/src/JPAControllerClasses/exceptions/IllegalOrphanException.java b/UyTube_logica/src/JPAControllerClasses/exceptions/IllegalOrphanException.java new file mode 100644 index 0000000..3b58e83 --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/exceptions/IllegalOrphanException.java @@ -0,0 +1,20 @@ +package JPAControllerClasses.exceptions; + +import java.util.ArrayList; +import java.util.List; + +public class IllegalOrphanException extends Exception { + private List<String> messages; + public IllegalOrphanException(List<String> messages) { + super((messages != null && messages.size() > 0 ? messages.get(0) : null)); + if (messages == null) { + this.messages = new ArrayList<String>(); + } + else { + this.messages = messages; + } + } + public List<String> getMessages() { + return messages; + } +} diff --git a/UyTube_logica/src/JPAControllerClasses/exceptions/NonexistentEntityException.java b/UyTube_logica/src/JPAControllerClasses/exceptions/NonexistentEntityException.java new file mode 100644 index 0000000..4722e10 --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/exceptions/NonexistentEntityException.java @@ -0,0 +1,10 @@ +package JPAControllerClasses.exceptions; + +public class NonexistentEntityException extends Exception { + public NonexistentEntityException(String message, Throwable cause) { + super(message, cause); + } + public NonexistentEntityException(String message) { + super(message); + } +} diff --git a/UyTube_logica/src/JPAControllerClasses/exceptions/PreexistingEntityException.java b/UyTube_logica/src/JPAControllerClasses/exceptions/PreexistingEntityException.java new file mode 100644 index 0000000..6e3acce --- /dev/null +++ b/UyTube_logica/src/JPAControllerClasses/exceptions/PreexistingEntityException.java @@ -0,0 +1,10 @@ +package JPAControllerClasses.exceptions; + +public class PreexistingEntityException extends Exception { + public PreexistingEntityException(String message, Throwable cause) { + super(message, cause); + } + public PreexistingEntityException(String message) { + super(message); + } +} diff --git a/UyTube_logica/src/Logica/Clases/Administrador.java b/UyTube_logica/src/Logica/Clases/Administrador.java new file mode 100644 index 0000000..373b88d --- /dev/null +++ b/UyTube_logica/src/Logica/Clases/Administrador.java @@ -0,0 +1,33 @@ +package Logica.Clases; + +import java.io.Serializable; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name="administrador") +public class Administrador extends Persona implements Serializable{ + + @Id + // No logre hacer que el id fuera auto-incremental, no se por que, probe de todo y no pude + //@GeneratedValue(strategy=GenerationType.IDENTITY) + //@Column(name = "id") + private Integer id; + + //------------------------------------------------------------------------- + + public Administrador() { + super(); + } + + public Administrador(int id, String contrasenia, String nombre, String apellido){ + super(nombre,apellido,contrasenia); + this.id = id; + } + + public int getIdAdmin() { + return id; + } + +} diff --git a/UyTube_logica/src/Logica/Clases/Canal.java b/UyTube_logica/src/Logica/Clases/Canal.java new file mode 100644 index 0000000..ebd5294 --- /dev/null +++ b/UyTube_logica/src/Logica/Clases/Canal.java @@ -0,0 +1,540 @@ +package Logica.Clases; + +import JPAControllerClasses.ListaDeReproduccionJpaController; +import JPAControllerClasses.VideoJpaController; +import Logica.Enumerados.Privacidad; +import Logica.DataType.DtComentario; +import Logica.DataType.DtListaDeReproduccion; +import Logica.DataType.DtValoracion; +import Logica.DataType.DtVideo; +import Logica.DataType.DtCanal; +import Logica.Enumerados.TipoListaDeReproduccion; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Map; +import java.util.TreeMap; +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.MapKey; +import javax.persistence.OneToMany; +import javax.persistence.Table; + +@Entity +@Table(name = "canal") +public class Canal implements Serializable { + + @Id + @GeneratedValue(strategy=GenerationType.IDENTITY) + @Column(name = "id") + private Integer id; + + @Column(name = "nombre") + private String nombre; + + @Column(name = "descripcion") + private String descripcion; + + @Enumerated(EnumType.STRING) + @Column(name = "privacidad") + private Privacidad privacidad; + + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + @JoinColumn(name = "id_canal") + @MapKey(name = "id") + private Map<Integer, ListaDeReproduccion> misListas; + + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + @JoinColumn(name = "id_canal") + @MapKey(name = "id") + private Map<Integer, Video> misVideos; + + @Column(name = "eliminado") + private boolean eliminado; + + //------------------------------------------------------------------------------------- + public Canal() { + } + + public Canal(int id, String nombre, String descripcion, Privacidad privacidad) { + if (nombre.equals("")){ + throw new RuntimeException("El nombre del canal no puede ser vacio"); + } + + this.id = id; + this.nombre = nombre; + this.descripcion = descripcion; + this.privacidad = privacidad; + this.misListas = new TreeMap(); + this.misVideos = new TreeMap(); + this.eliminado = false; + } + + public int getId() { + return id; + } + + public String getNombre() { + return nombre; + } + + public String getDescripcion() { + return descripcion; + } + + public Privacidad getPrivacidad() { + return privacidad; + } + + public void setNombre(String nombre) { + if (nombre.equals("")) { + throw new RuntimeException("El nombre del canal no puede ser vacio"); + } + this.nombre = nombre; + } + + public void setDescripcion(String descripcion) { + this.descripcion = descripcion; + } + + public void setPrivacidad(Privacidad privacidad) { + // Si el canal es publico y se va a cambiar a privado, se deben cambiar a privado todos los videos del canal + if (privacidad == Privacidad.PRIVADO){ + for (Map.Entry<Integer, Video> m : misVideos.entrySet()) { + m.getValue().setPrivacidad(Privacidad.PRIVADO); + } + for (Map.Entry<Integer, ListaDeReproduccion> m : misListas.entrySet()) { + m.getValue().setPrivacidad(Privacidad.PRIVADO); + } + } + this.privacidad = privacidad; + } + + + public void eliminar(){ + this.eliminado = true; + // elimina logicamente cada lista de reproduccion del canal + for (Map.Entry<Integer, ListaDeReproduccion> it : this.misListas.entrySet()){ + it.getValue().eliminar(); + try { + new ListaDeReproduccionJpaController().edit(it.getValue()); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + // elimina logicamente cada video del canal + // en el proceso se eliminan los comentarios, pero lo hace permanentemente + for (Map.Entry<Integer, Video> it : this.misVideos.entrySet()){ + it.getValue().eliminar(); + try { + new VideoJpaController().edit(it.getValue()); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + } + + public void eliminarTodoRastroDelUsuario(String nickname) { + // recorre los videos del canal eliminando comentarios y valoraciones hechas por el usuario con ese nickname + for (Map.Entry<Integer, Video> it : this.misVideos.entrySet()){ + it.getValue().eliminarTodoRastroDelUsuario(nickname); + try { + new VideoJpaController().edit(it.getValue()); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + } + //----------------------------------------------------------------------------- + public void actualizarListasPorDefecto(ArrayList<String> listas) { + // descarta las listas que ya estan agregadas + for (Map.Entry<Integer, ListaDeReproduccion> l : misListas.entrySet()) { + if (l.getValue().getTipo() == TipoListaDeReproduccion.POR_DEFECTO) { + listas.remove(l.getValue().getNombre()); + } + } + // agrega las que pasaron el filtro anterior + for (String lista : listas) { + ListaDeReproduccion nuevaLista = new ListaDeReproduccion(0, lista, Privacidad.PRIVADO, TipoListaDeReproduccion.POR_DEFECTO, "UNDEFINED"); + // crea la tupla en la base de datos + // asi se genera el ID y se puede agregar al Map + new ListaDeReproduccionJpaController().create(nuevaLista); + this.misListas.put(nuevaLista.getId(), nuevaLista); + } + } + + public void agregarComentarioAVideo(int id, DtComentario comentario, Usuario usuario) { + if (this.misVideos.containsKey(id)) { + this.misVideos.get(id).agregarComentario(comentario, usuario); + try { + new VideoJpaController().edit(this.misVideos.get(id)); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } else { + throw new RuntimeException("El video no pertenece al canal"); + } + } + + public void agregarComentarioAVideo(int id, int idComentario, DtComentario comentario, Usuario usuario) { + if (this.misVideos.containsKey(id)) { + this.misVideos.get(id).agregarComentario(idComentario, comentario, usuario); + } else { + throw new RuntimeException("El video no pertenece al canal"); + } + } + + public void agregarListaParticular(DtListaDeReproduccion listaReproduccion) { + if (listaReproduccion == null){ + throw new RuntimeException("La lista de reprodccion es null"); + } + if (listaReproduccion.getNombre().equals("")){ + throw new RuntimeException("El nombre no puede ser vacio"); + } + if (this.privacidad == Privacidad.PRIVADO && listaReproduccion.getPrivacidad() == Privacidad.PUBLICO){ + throw new RuntimeException("No se puede agregar una lista de reproduccion publica a un canal privado"); + } + if (listaReproduccion.getCategoria().equals("")){ + throw new RuntimeException("La categoria no puede ser vacia"); + } + + // un canal no puede tener dos videos con el mismo nomre + for (Map.Entry<Integer, ListaDeReproduccion> v : misListas.entrySet()){ + if (v.getValue().getNombre().equals(listaReproduccion.getNombre())){ + throw new RuntimeException("El canal ya posee una lista de reproduccion con ese nombre"); + } + } + + ListaDeReproduccion ldr = new ListaDeReproduccion( + 0, + listaReproduccion.getNombre(), + listaReproduccion.getPrivacidad(), + listaReproduccion.getTipo(), + listaReproduccion.getCategoria()); + // crea la tupla en la base de datos + // asi se genera el ID y se puede agregar al Map + new ListaDeReproduccionJpaController().create(ldr); + this.misListas.put(ldr.getId(), ldr); + } + + public void quitarValoracion(int idVideo, String nickname) { + if (this.misVideos.containsKey(idVideo)) { + this.misVideos.get(idVideo).quitarValoracion(nickname); + } else { + throw new RuntimeException("El video no pertenece al canal"); + } + + } + + public void agregarModificarValoracion(int id, DtValoracion valoracion, Usuario usuario) { + if (this.misVideos.containsKey(id)) { + this.misVideos.get(id).agregarModificarValoracion(valoracion, usuario); + try { + new VideoJpaController().edit(this.misVideos.get(id)); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } else { + throw new RuntimeException("El video no pertenece al canal"); + } + + } + + public void agregarVideo(DtVideo video) { + if(video== null){ + throw new RuntimeException("El Datatype del video es null"); + } + if (video.getNombre().equals("")){ + throw new RuntimeException("El nombre no puede ser vacio"); + } + if(video.getDuracion() == null){ + throw new RuntimeException("La duracion no puede ser null"); + } + if(video.getFechaPublicacion() == null){ + throw new RuntimeException("La fecha de publicion no puede ser null"); + } + if (video.getUrlVideoOriginal().equals("")){ + throw new RuntimeException("La direccion URL no puede ser vacia"); + } + if (video.getCategoria().equals("")){ + throw new RuntimeException("La categorÃa no puede ser vacÃa"); + } + + // un canal no puede tener dos videos con el mismo nomre + for (Map.Entry<Integer, Video> v : misVideos.entrySet()){ + if (v.getValue().getNombre().equals(video.getNombre())){ + throw new RuntimeException("El canal ya posee un video con ese nombre"); + } + } + + Video vd = new Video( + 0, + video.getNombre(), + video.getDescripcion(), + video.getDuracion(), + video.getFechaPublicacion(), + video.getUrlVideoOriginal(), + video.getCategoria()); + + // si el canal es privado, el video debera serlo tambien + // si el canal es publico, el video sera lo definido en el DataType + if (this.privacidad == Privacidad.PRIVADO){ + vd.setPrivacidad(Privacidad.PRIVADO); + } + // crea la tupla en la base de datos + // asi se genera el ID y se puede agregar al Map + new VideoJpaController().create(vd); + this.misVideos.put(vd.getId(), vd); + } + + public void agregarVideoALista(int id, Video video) { + if (this.misListas.containsKey(id)) { + this.misListas.get(id).agregarVideoA(video); + try { + new ListaDeReproduccionJpaController().edit(this.misListas.get(id)); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } else { + throw new RuntimeException("La lista no pertenece al canal"); + } + } + + public DtCanal getDT() { + return new DtCanal(this.id, + this.nombre, + this.descripcion, + this.privacidad); + } + + public ArrayList<DtComentario> listarComentariosDeVideo(int id) { + if (this.misVideos.containsKey(id)) { + return this.misVideos.get(id).listarComentarios(); + } else { + throw new RuntimeException("El video no pertenece al canal"); + } + } + + public ArrayList<DtListaDeReproduccion> listarListasDeReproduccion(boolean soloParticulares) { + ArrayList<DtListaDeReproduccion> ret = new ArrayList(); + // porDefecto = false --> lista todas las listas + // porDefecto = true --> lista solo las particulares + for (Map.Entry<Integer, ListaDeReproduccion> m : misListas.entrySet()) { + if(soloParticulares && m.getValue().getTipo()==TipoListaDeReproduccion.POR_DEFECTO){ + continue; + } + ret.add(m.getValue().getDt()); + } + + return ret; + } + + public ArrayList<DtValoracion> listarValoracionesDeVideo(int id) { + if (this.misVideos.containsKey(id)) { + return this.misVideos.get(id).listarValoraciones(); + } else { + throw new RuntimeException("El video no pertenece al canal"); + } + } + + public ArrayList<DtVideo> listarVideos() { + ArrayList<DtVideo> ret = new ArrayList(); + + // para cada elemento en misVideos + /** + * este for no es normal, se declara la variable m que es de tipo + * Entrada de Map (como un nodo arbol), y autmaticamente la hace avanzar + * por todas las entradas de la coleccion. De la entrada actual se puede + * obtener la Key y el Valor almacenado + */ + for (Map.Entry<Integer, Video> m : misVideos.entrySet()) { + // hace un getDT y lo agrega a la coleccion de retorno + ret.add(m.getValue().getDt()); + } + return ret; + } + + public ArrayList<DtVideo> listarVideosDeListaDeReproduccion(int id) { + if (this.misListas.containsKey(id)) { + return this.misListas.get(id).listarVideos(); + } else { + throw new RuntimeException("La lista de reproduccion no pertenece al canal"); + } + } + + public void modificar(DtCanal canal) { + if (canal.getNombre().equals("")) { + throw new RuntimeException("El nombre no puede ser vacio"); + } + + // Si el canal es publico y se va a cambiar a privado, se deben cambiar a privado todos los videos del canal + if (this.privacidad == Privacidad.PUBLICO && canal.getPrivacidad() == Privacidad.PRIVADO){ + this.setPrivacidad(canal.getPrivacidad()); + } + + this.nombre = canal.getNombre(); + this.descripcion = canal.getDescripcion(); + this.privacidad = canal.getPrivacidad(); + } + + public void modificarListaDeReproduccion(DtListaDeReproduccion ldr) { + if (ldr == null) { + throw new RuntimeException("El Datatype de la lista de reprodccion es null"); + } + if (this.misListas.containsKey(ldr.getId())) { + + if (this.privacidad == Privacidad.PRIVADO && ldr.getPrivacidad() == Privacidad.PUBLICO){ + throw new RuntimeException("No se puede hacer publica una lista de reproduccion de un canal privado"); + } + for (Map.Entry<Integer, ListaDeReproduccion> m : this.misListas.entrySet()){ + if (m.getKey() != ldr.getId()){ + if (m.getValue().getNombre().equals(ldr.getNombre())) { + throw new RuntimeException("El canal ya posee una lista con ese nombre"); + } + } + } + + this.misListas.get(ldr.getId()).modificar(ldr); + try { + new ListaDeReproduccionJpaController().edit(this.misListas.get(ldr.getId())); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } else { + throw new RuntimeException("La lista de reproduccion no pertenece al canal"); + } + } + + public void modificarVideo(DtVideo video) { + if(video== null){ + throw new RuntimeException("El Datatype del video es null"); + } + + if (this.misVideos.containsKey(video.getId())) { + + if (this.privacidad == Privacidad.PRIVADO && video.getPrivacidad() == Privacidad.PUBLICO){ + throw new RuntimeException("No se puede hacer publico un video de un canal privado"); + } + + for (Map.Entry<Integer, Video> m : this.misVideos.entrySet()){ + if (m.getKey() != video.getId()){ + if (m.getValue().getNombre().equals(video.getNombre())) { + throw new RuntimeException("El canal ya posee una lista con ese nombre"); + } + } + } + + this.misVideos.get(video.getId()).modificar(video); + try { + new VideoJpaController().edit(this.misVideos.get(video.getId())); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } else { + throw new RuntimeException("El video no pertenece al canal"); + } + } + + public DtListaDeReproduccion obtenerListaDeReproduccion(int id){ + ListaDeReproduccion ldr = misListas.get(id); + if (ldr == null){ + throw new RuntimeException("La lista de reproduccion no pertenece al canal"); + }else{ + return ldr.getDt(); + } + } + + public ArrayList<DtListaDeReproduccion> obtenerListasEnCategoria(String cat) { + ArrayList<DtListaDeReproduccion> ret = new ArrayList(); + + // para cada elemento en misVideos + /** + * este for no es normal, se declara la variable m que es de tipo + * Entrada de Map (como un nodo arbol), y autmaticamente la hace avanzar + * por todas las entradas de la coleccion. De la entrada actual se puede + * obtener la Key y el Valor almacenado + */ + for (Map.Entry<Integer, ListaDeReproduccion> m : misListas.entrySet()) { + // hace un getDT y lo agrega a la coleccion de retorno + if (m.getValue().getCategoria().equals(cat)) { + ret.add(m.getValue().getDt()); + } + } + + return ret; + } + + public DtVideo obtenerDtVideo(int id) { + if (this.misVideos.containsKey(id)) { + return this.misVideos.get(id).getDt(); + } else { + throw new RuntimeException("El video no pertenece al canal"); + } + } + + public Video obtenerVideo(int id) { + if (this.misVideos.containsKey(id)) { + return this.misVideos.get(id); + } else { + throw new RuntimeException("El video no pertenece al canal"); + } + } + + public ArrayList<DtVideo> obtenerVideosEnCategoria(String cat) { + ArrayList<DtVideo> ret = new ArrayList(); + + // para cada elemento en misVideos + /** + * este for no es normal, se declara la variable m que es de tipo + * Entrada de Map (como un nodo arbol), y autmaticamente la hace avanzar + * por todas las entradas de la coleccion. De la entrada actual se puede + * obtener la Key y el Valor almacenado + */ + for (Map.Entry<Integer, Video> m : misVideos.entrySet()) { + // hace un getDT y lo agrega a la coleccion de retorno + if (m.getValue().getCategoria().equals(cat)) { + ret.add(m.getValue().getDt()); + } + } + + return ret; + } + + public void quitarVideoDeListaDeReproduccion(int idLista, int idVideo) { + if (this.misListas.containsKey(idLista)) { + this.misListas.get(idLista).quitarVideo(idVideo); + try { + new ListaDeReproduccionJpaController().edit(this.misListas.get(idLista)); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } else { + throw new RuntimeException("La lista de reproduccion no pertenece al canal"); + } + } + + public boolean validarListaParticular(String nombreLista) { + for (Map.Entry<Integer, ListaDeReproduccion> l : misListas.entrySet()) { + if (l.getValue().getTipo() == TipoListaDeReproduccion.PARTICULAR && l.getValue().getNombre().equals(nombreLista)) { + return false; + } + } + return true; + } + + public DtValoracion obtenerValoracion(int id, String nickname) { + if (this.misVideos.containsKey(id)) { + return this.misVideos.get(id).obtenerValoracion(nickname); + } else { + throw new RuntimeException("El video no pertenece al canal"); + } + } + +} diff --git a/UyTube_logica/src/Logica/Clases/Categoria.java b/UyTube_logica/src/Logica/Clases/Categoria.java new file mode 100644 index 0000000..b02df9b --- /dev/null +++ b/UyTube_logica/src/Logica/Clases/Categoria.java @@ -0,0 +1,30 @@ +package Logica.Clases; + +import java.io.Serializable; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "categoria") +public class Categoria implements Serializable { + @Id + @Column(name = "nombre") + private String nombre; + + //--------------------------------------------------------------------------- + public Categoria() { + } + + public Categoria(String nombre) { + if (nombre.equals("")){ + throw new RuntimeException("El nombre de la categoria no puede ser vacio"); + } + this.nombre = nombre; + } + + public String getNombre() { + return nombre; + } +} diff --git a/UyTube_logica/src/Logica/Clases/Comentario.java b/UyTube_logica/src/Logica/Clases/Comentario.java new file mode 100644 index 0000000..752952e --- /dev/null +++ b/UyTube_logica/src/Logica/Clases/Comentario.java @@ -0,0 +1,158 @@ +package Logica.Clases; + +import JPAControllerClasses.ComentarioJpaController; +import Logica.DataType.DtComentario; +import java.io.Serializable; +import java.sql.Date; +import java.util.ArrayList; +import java.util.List; +import javax.persistence.Basic; +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; +import javax.persistence.OneToOne; +import javax.persistence.Table; + +@Entity +@Table(name = "comentario") +public class Comentario implements Serializable { + + @Id + @GeneratedValue(strategy=GenerationType.IDENTITY) + @Column(name = "id") + private Integer id; + + @Basic + @Column(name = "fecha") + private Date fecha; + + @Column(name = "texto") + private String texto; + + @Column(name = "nivel") + private int nivelSubComentario; + + @ManyToOne() + @JoinColumn(name = "nick_usuario") + private Usuario usr; + + @OneToMany(cascade = CascadeType.ALL, + orphanRemoval = true) + @JoinColumn(name = "id_com_padre") + private List<Comentario> misComentario; + + //--------------------------------------------------------------------------- + public Comentario() { + } + + public Comentario(int id, Date fecha, String texto, int nivelSubComentario, Usuario usr) { + if(usr==null){ + throw new RuntimeException("Usuario No puede ser null"); + } + if(fecha==null){ + throw new RuntimeException("Date No puede ser null"); + } + this.id = id; + this.fecha = fecha; + this.texto = texto; + this.nivelSubComentario = nivelSubComentario; + this.usr = usr; + this.misComentario = new ArrayList(); + } + + public int getId() { + return id; + } + + public Date getFecha() { + return fecha; + } + public String getTexto() { + return texto; + } + public int getNivelSubComentario() { + return nivelSubComentario; + } + + public Usuario getUsr() { + return usr; + } + + public void setUsr(Usuario usr) { + this.usr = usr; + } + + @Override + public String toString() { + return "Comentario{" + "id=" + id + ", fecha=" + fecha + ", texto=" + texto + ", nivelSubComentario=" + nivelSubComentario + '}'; + } + + public void eliminarTodoRastroDelUsuario(String nickname) { + + for (int i = 0; i < this.misComentario.size(); i++){ + if (this.misComentario.get(i).getUsr().getNickname().equals(nickname)){ + this.misComentario.remove(i); + i--; + } else { + this.misComentario.get(i).eliminarTodoRastroDelUsuario(nickname); + try { + new ComentarioJpaController().edit(this.misComentario.get(i)); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + } + } + + + public boolean agregarSubComentario(int idComPadre, DtComentario dtC, Usuario usr) { + if(dtC==null){ + throw new RuntimeException("DtComentario No puede ser null"); + } + if(usr==null){ + throw new RuntimeException("Usuario No puede ser null"); + } + if (this.id == idComPadre) { + Comentario com = new Comentario(0, + dtC.getFecha(), + dtC.getTexto(), + this.nivelSubComentario + 1, + usr); + // crea la tupla en la base de datos + // asi se genera el ID y se puede agregar al Map + new ComentarioJpaController().create(com); + this.misComentario.add(com); + return true; + } else { + boolean comentarioComentado; + for (int i = 0; i < misComentario.size(); i++) { + comentarioComentado = this.misComentario.get(i).agregarSubComentario(idComPadre, dtC, usr); + if (comentarioComentado) { + return true; + } + } + return false; + } + } + + public DtComentario getDT() { + DtComentario dtC = new DtComentario(this.id, this.usr.getNickname(), this.fecha, this.texto, this.nivelSubComentario); + return dtC; + } + + public ArrayList<DtComentario> listarSubComentarios() { + ArrayList lsc = new ArrayList(); + + for (int i = 0; i < this.misComentario.size(); i++) { + lsc.add(this.misComentario.get(i).getDT()); + lsc.addAll(this.misComentario.get(i).listarSubComentarios()); + } + return lsc; + } +} diff --git a/UyTube_logica/src/Logica/Clases/ListaDeReproduccion.java b/UyTube_logica/src/Logica/Clases/ListaDeReproduccion.java new file mode 100644 index 0000000..171684d --- /dev/null +++ b/UyTube_logica/src/Logica/Clases/ListaDeReproduccion.java @@ -0,0 +1,174 @@ +package Logica.Clases; + +import Logica.DataType.DtListaDeReproduccion; +import Logica.DataType.DtVideo; +import Logica.Enumerados.Privacidad; +import Logica.Enumerados.TipoListaDeReproduccion; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Map; +import java.util.TreeMap; +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.JoinTable; +import javax.persistence.MapKey; +import javax.persistence.OneToMany; +import javax.persistence.Table; + +@Entity +@Table(name = "lista_de_reproduccion") +public class ListaDeReproduccion implements Serializable { + + @Id + @GeneratedValue(strategy=GenerationType.IDENTITY) + @Column(name = "id") + private Integer id; + + @Column(name = "nombre") + private String nombre; + + @Enumerated(EnumType.STRING) + @Column(name = "privacidad") + private Privacidad privacidad; + + @Column(name = "eliminado") + private boolean eliminado; + + @Enumerated(EnumType.STRING) + @Column(name = "tipo") + private TipoListaDeReproduccion tipo; + + @Column(name = "categoria") + private String categoria; + + @OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}) + @JoinTable( + name="videos_en_listas", + joinColumns={@JoinColumn(name="id_lista", referencedColumnName="id")}, + inverseJoinColumns={@JoinColumn(name="id_video", referencedColumnName="id")}) + @MapKey(name = "id") + private Map<Integer, Video> misVideos; + + //----------------------------------------------------------------------------- + public ListaDeReproduccion() { + } + + public ListaDeReproduccion(int id, String nombre, Privacidad privacidad, TipoListaDeReproduccion tipo, String categoria) { + if (nombre.equals("")){ + throw new RuntimeException("El nombre de la lista de reproduccion no puede ser vacio"); + } + if (categoria.equals("")){ + throw new RuntimeException("La Categoria de la lista de reproduccion no puede ser vacia"); + } + if (tipo == TipoListaDeReproduccion.POR_DEFECTO && privacidad != Privacidad.PRIVADO){ + throw new RuntimeException("No se puede crear una lista de reproduccion por defecto publica"); + } + if (tipo == TipoListaDeReproduccion.POR_DEFECTO && !categoria.equals("UNDEFINED")){ + throw new RuntimeException("No se puede crear una lista de reproduccion por defecto en una categoria"); + } + this.id = id; + this.nombre = nombre; + this.privacidad = privacidad; + this.tipo = tipo; + this.categoria = categoria; + this.misVideos = new TreeMap(); + this.eliminado = false; + } + + public int getId() { + return id; + } + + public String getNombre() { + return nombre; + } + + public Privacidad getPrivacidad() { + return privacidad; + } + + public void setPrivacidad(Privacidad privacidad) { + this.privacidad = privacidad; + } + + public TipoListaDeReproduccion getTipo() { + return tipo; + } + + public String getCategoria() { + return categoria; + } + + @Override + public String toString() { + return "ListaDeReproduccion{" + "id=" + id + ", nombre=" + nombre + ", privacidad=" + privacidad + ", tipo=" + tipo + ", categoria=" + categoria + ", misVideos.size=" + misVideos.size() + '}'; + } + + public void eliminar(){ + this.eliminado = true; + + } + ///////////////////////////////////////////////////////////////////////////////////////// + + public void agregarVideoA(Video v){ + if (v == null){ + throw new RuntimeException("El video recibido para agregar a la lista es NULL"); + } + // agrega el video y su clave a la coleccion + this.misVideos.put(v.getId(), v); + } + + public DtListaDeReproduccion getDt(){ + // devuelve un DT con los datos de la lista + return new DtListaDeReproduccion(this.id, this.nombre, this.privacidad, this.tipo, this.categoria); + } + + public ArrayList<DtVideo> listarVideos(){ + // crea una lista de retorno + ArrayList<DtVideo> ret = new ArrayList(); + + // para cada elemento en misVideos + /** + * este for no es normal, se declara la variable m que es de tipo + * Entrada de Map (como un nodo arbol), y autmaticamente la hace avanzar + * por todas las entradas de la coleccion. + * De la entrada actual se puede obtener la Key y el Valor almacenado + */ + for (Map.Entry<Integer, Video> m : misVideos.entrySet()){ + // hace un getDT y lo agrega a la coleccion de retorno + ret.add(m.getValue().getDt()); + } + + return ret; + } + + public void modificar(DtListaDeReproduccion ldr) { + if (this.tipo == TipoListaDeReproduccion.POR_DEFECTO){ + throw new RuntimeException("No se puede modificar una lista por defecto"); + } + if (ldr == null){ + throw new RuntimeException("El DataTyppe recibido para modificar la lista de reproduccion es NULL"); + } + if (ldr.getNombre().equals("")){ + throw new RuntimeException("El nombre de la lista de reproduccion no puede ser vacio"); + } + // se sobreescriben los atributos que pueden ser modificados + this.nombre = ldr.getNombre(); + this.privacidad = ldr.getPrivacidad(); + this.categoria = ldr.getCategoria(); + // el ID y el tipo de lista no se puede modificar + } + + public void quitarVideo(int idVideo) { + // remueve de la coleccion el video con la clave idVideo + this.misVideos.remove(idVideo); + } + +} diff --git a/UyTube_logica/src/Logica/Clases/ListaPorDefecto.java b/UyTube_logica/src/Logica/Clases/ListaPorDefecto.java new file mode 100644 index 0000000..2860ce7 --- /dev/null +++ b/UyTube_logica/src/Logica/Clases/ListaPorDefecto.java @@ -0,0 +1,29 @@ +package Logica.Clases; + +import java.io.Serializable; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "lista_por_defecto") +public class ListaPorDefecto implements Serializable { + + @Id + @Column(name = "nombre") + private String nombre; + + //---------------------------------------------------------------------- + public ListaPorDefecto() { + } + + public ListaPorDefecto(String nombre) { + this.nombre = nombre; + } + + public String getNombre() { + return nombre; + } + +} diff --git a/UyTube_logica/src/Logica/Clases/Persona.java b/UyTube_logica/src/Logica/Clases/Persona.java new file mode 100644 index 0000000..599c6d0 --- /dev/null +++ b/UyTube_logica/src/Logica/Clases/Persona.java @@ -0,0 +1,71 @@ +package Logica.Clases; + +import java.io.Serializable; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; + +@Entity +@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) +public abstract class Persona implements Serializable { + @Id + private int id; + + @Column(name = "nombre") + private String nombre; + + @Column(name = "apellido") + private String apellido; + + @Column(name = "contrasenia") + private String contrasenia; + + //----------------------------------------------------------------------------- + + public Persona() { + } + + public Persona(String nombre, String apellido, String contrasenia) { + if(contrasenia.equals("")){ + throw new RuntimeException("La contraseña no puede ser Vacio"); + } + this.nombre = nombre; + this.apellido = apellido; + this.contrasenia = contrasenia; + } + + public int getId() { + return id; + } + + public String getNombre() { + return nombre; + } + + public String getApellido() { + return apellido; + } + + public String getContrasenia() { + return contrasenia; + } + + public void setNombre(String nombre) { + this.nombre = nombre; + } + + public void setApellido(String apellido) { + this.apellido = apellido; + } + + public void setContrasenia(String contrasenia) { + this.contrasenia = contrasenia; + } + + public boolean validarContrasenia(String pass){ + return this.contrasenia.equals(pass); + } + +} diff --git a/UyTube_logica/src/Logica/Clases/Usuario.java b/UyTube_logica/src/Logica/Clases/Usuario.java new file mode 100644 index 0000000..1ca5dca --- /dev/null +++ b/UyTube_logica/src/Logica/Clases/Usuario.java @@ -0,0 +1,406 @@ +package Logica.Clases; +import JPAControllerClasses.CanalJpaController; +import java.sql.Date; +import Logica.DataType.*; +import java.util.ArrayList; +import java.util.Map; +import java.util.TreeMap; +import javax.persistence.Basic; +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.JoinTable; +import javax.persistence.MapKey; +import javax.persistence.OneToMany; +import javax.persistence.OneToOne; +import javax.persistence.Table; + +@Entity +@Table(name="usuario") +public class Usuario extends Persona{ + @Id + @Column(name = "id") + private String id; + + @Column(name = "correo") + private String correo; + + @Basic + @Column(name = "fecha_nacimiento") + private Date fechaNacimiento; + + @Column(name = "imagen") + private String imagen; + + @Column(name = "seguidores") + private int seguidores; + + @Column(name = "eliminado") + private boolean eliminado; + + @Basic + @Column(name = "fecha_eliminado") + private Date fechaEliminado; + + + @OneToOne(cascade = CascadeType.ALL) + @JoinColumn(name = "id_canal") + private Canal MiCanal; + + @OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}) + @JoinTable( + name="usuarios_seguidores", + joinColumns={@JoinColumn(name="nick_seguido", referencedColumnName="id")}, + inverseJoinColumns={@JoinColumn(name="nick_seguidor", referencedColumnName="id")}) + @MapKey(name = "id") + private Map<String, Usuario> misSeguidores; + + @OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}) + @JoinTable( + name="usuarios_seguidos", + joinColumns={@JoinColumn(name="nick_seguidor", referencedColumnName="id")}, + inverseJoinColumns={@JoinColumn(name="nick_seguido", referencedColumnName="id")}) + @MapKey(name = "id") + private Map<String, Usuario> seguidos; + + //---------------------------------------------------------------------------------- + public Usuario() { + super(); + } + + public Usuario(String nickname, String correo, Date fechaNacimiento, String imagen, String contrasenia, String nombre, String apellido, DtCanal DTC) { + super(nombre,apellido,contrasenia); + + if(fechaNacimiento == null){ + throw new RuntimeException("la fecha no puede ser nill"); + } + if(DTC == null){ + throw new RuntimeException("El canal no puede ser null"); + } + if(nickname == ""){ + throw new RuntimeException("El nickname no puede ser Vacio"); + } + + if(correo == ""){ + throw new RuntimeException("El correo no puede ser Vacio"); + } + + this.id = nickname; + this.correo = correo; + this.fechaNacimiento = fechaNacimiento; + this.imagen = imagen; + this.seguidores = 0; + this.MiCanal = new Canal(0,DTC.getNombre(),DTC.getDescripcion(),DTC.getPrivacidad()); + this.misSeguidores = new TreeMap(); + this.seguidos = new TreeMap(); + this.eliminado = false; + this.fechaEliminado = null; + } + + public String getNickname() { + return id; + } + + public String getCorreo() { + return correo; + } + + public Date getFechaNacimiento() { + return fechaNacimiento; + } + + public String getImagen() { + return imagen; + } + + public int getSeguidores() { + return seguidores; + } + + public DtUsuario getDT(){ + return new DtUsuario(this.id, super.getContrasenia(), super.getNombre(), super.getApellido(), this.correo, this.fechaNacimiento, this.fechaEliminado, this.imagen, this.seguidores); + } + + public void eliminar(Date fecha) { + this.fechaEliminado = fecha; + this.eliminado = true; + this.MiCanal.eliminar(); + try { + new CanalJpaController().edit(this.MiCanal); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + public void eliminarTodoRastroDelUsuario(String nickname) { + // Esta funcion que estas leyendo NO se encarga de eliminar vinculos de seguimiento + this.MiCanal.eliminarTodoRastroDelUsuario(nickname); + try { + new CanalJpaController().edit(this.MiCanal); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + public void actualizarListasPorDefecto(ArrayList<String> listas){ + this.MiCanal.actualizarListasPorDefecto(listas); + try { + new CanalJpaController().edit(this.MiCanal); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + public void agregarComentarioAVideo(int idVideo, DtComentario DtComentario, Usuario Usu){ + if(DtComentario == null){ + throw new RuntimeException("El comentario no puede ser null"); + } + if(Usu == null){ + throw new RuntimeException("El usuario no puede ser null"); + } + + this.MiCanal.agregarComentarioAVideo(idVideo, DtComentario, Usu); + } + + public void agregarComentarioAVideo(int idVideo, int idCom, DtComentario DtComentario, Usuario Usu){ + if(DtComentario == null){ + throw new RuntimeException("El comentario no puede ser null"); + } + if(Usu == null){ + throw new RuntimeException("El usuario no puede ser null"); + } + + this.MiCanal.agregarComentarioAVideo(idVideo, idCom, DtComentario, Usu); + } + + public void agregarListaParticular(DtListaDeReproduccion DtValoracion){ + if(DtValoracion == null){ + throw new RuntimeException("La valoracion no puede ser null"); + } + this.MiCanal.agregarListaParticular(DtValoracion); + try { + new CanalJpaController().edit(this.MiCanal); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + public void agregarModificarValoracionDeVideo(int idVideo, DtValoracion DtValoracion, Usuario Usu){ + if(DtValoracion == null){ + throw new RuntimeException("La valoracion no puede ser null"); + } + if(Usu == null){ + throw new RuntimeException("El usuario no puede ser null"); + } + + this.MiCanal.agregarModificarValoracion(idVideo , DtValoracion, Usu); + } + + public void agregarOQuitarSeguido(Usuario Usu){ + if(Usu == null){ + throw new RuntimeException("El usuario no puede ser null"); + } + if(Usu == this){ + throw new RuntimeException("Un usuario no se puede seguir a si mismo"); + } + + if (this.seguidos.containsKey(Usu.getNickname())){ + this.seguidos.remove(Usu.getNickname()); + }else{ + this.seguidos.put(Usu.getNickname(), Usu); + } + + Usu.agregarOQuitarSeguidor(this); + } + + // si, esta si es private, no es un error + private void agregarOQuitarSeguidor(Usuario Usu){ + if(Usu == null){ + throw new RuntimeException("El usuario no puede ser null"); + } + + if (this.misSeguidores.containsKey(Usu.id)){ + this.misSeguidores.remove(Usu.getNickname()); + this.seguidores--; + }else{ + this.misSeguidores.put(Usu.getNickname(), Usu); + this.seguidores++; + } + } + + public void agregarVideoACanal(DtVideo DtVideo){ + if(DtVideo == null){ + throw new RuntimeException("El video no puede ser null"); + } + this.MiCanal.agregarVideo(DtVideo); + try { + new CanalJpaController().edit(this.MiCanal); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + public void agregarVideoALista(int idLista , int idVideo, Usuario Usu){ + if(Usu == null){ + throw new RuntimeException("El usuario no puede ser null"); + } + Video v = null; + try { + v = Usu.obtenerVideo(idVideo); + } catch (Exception e) { + throw new RuntimeException("El video no pertenece al usuario: " + Usu.getNickname()); + } + this.MiCanal.agregarVideoALista(idLista, v); + } + + public ArrayList<DtComentario> listarComentariosDeVideo(int idVideo){ + return this.MiCanal.listarComentariosDeVideo(idVideo); + } + + public ArrayList<DtListaDeReproduccion> listarListasDeReproduccionDeCanal(boolean soloParticulares){ + return this.MiCanal.listarListasDeReproduccion(soloParticulares); + } + + public ArrayList<DtUsuario> listarUsuariosSeguidos(){ + // crea una lista de retorno + ArrayList<DtUsuario> ret = new ArrayList(); + + for (Map.Entry<String,Usuario> i : this.seguidos.entrySet()){ + // hace un getDT y lo agrega a la coleccion de retorno + ret.add(i.getValue().getDT()); + } + return ret; + }//(Ctrl + C Ctrl + V) De la clase video + + public ArrayList<DtUsuario> listarUsuariosSeguidores(){ + // crea una lista de retorno + ArrayList<DtUsuario> ret = new ArrayList(); + + for (Map.Entry<String,Usuario> i : this.misSeguidores.entrySet()){ + // hace un getDT y lo agrega a la coleccion de retorno + ret.add(i.getValue().getDT()); + } + return ret; + }//(Ctrl + C Ctrl + V) De la clase lirRepro + + public ArrayList<DtValoracion> listarValoracionesDeVideo(int id){ + return this.MiCanal.listarValoracionesDeVideo(id); + } + + public ArrayList<DtVideo> listarVideosDeCanal(){ + return this.MiCanal.listarVideos(); + } + + public ArrayList<DtVideo> listarVideosDeListaDeReproduccion(int id){ + return this.MiCanal.listarVideosDeListaDeReproduccion(id); + } + + public void modificar(DtUsuario DtUsu, DtCanal DtCanal){ + if(DtUsu == null){ + throw new RuntimeException("El usuario no puede ser null"); + } + if(DtUsu.getFechaNacimiento() == null){ + throw new RuntimeException("La fecha no puede ser null"); + } + if(DtCanal == null){ + throw new RuntimeException("El canal no puede ser null"); + } + if (this.id != DtUsu.getNickname()){ + throw new RuntimeException("El nickname no puede ser modificado"); + } + if (this.correo != DtUsu.getCorreo()){ + throw new RuntimeException("El correo no puede ser modificado"); + } + super.setNombre(DtUsu.getNombre()); + super.setApellido(DtUsu.getApellido()); + super.setContrasenia(DtUsu.getContrasenia()); + this.fechaNacimiento = DtUsu.getFechaNacimiento(); + this.imagen = DtUsu.getImagen(); + + this.MiCanal.modificar(DtCanal); + try { + new CanalJpaController().edit(this.MiCanal); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + public void modificarListaDeReproduccionDeCanal(DtListaDeReproduccion DtListaDeReproduccion){ + if(DtListaDeReproduccion == null){ + throw new RuntimeException("La lista de reproduccion no puede ser null"); + } + + this.MiCanal.modificarListaDeReproduccion(DtListaDeReproduccion); + } + + public void modificarVideoDeCanal(DtVideo DtVideo){ + if(DtVideo == null){ + throw new RuntimeException("El video no puede ser null"); + } + this.MiCanal.modificarVideo(DtVideo); + } + + public DtCanal obtenerCanal(){ + return this.MiCanal.getDT(); + } + + + public DtListaDeReproduccion obtenerListaDeReproduccion(int id){ + return MiCanal.obtenerListaDeReproduccion(id); + } + + + public ArrayList<DtListaDeReproduccion> obtenerListasEnCategoria(String cat){ + if(cat == ""){ + throw new RuntimeException("La categoria no puede ser vacia"); + } + + return this.MiCanal.obtenerListasEnCategoria(cat); + } + + public DtValoracion obtenerValoracion(int id, String nickname){ + if(nickname == ""){ + throw new RuntimeException("El nickname no puede ser vacio"); + } + + return this.MiCanal.obtenerValoracion(id, nickname); + } + + public Video obtenerVideo(int id){ + return this.MiCanal.obtenerVideo(id); + } + + public DtVideo obtenerVideoDeCanal(int idVideo){ + return this.MiCanal.obtenerDtVideo(idVideo); + } + + public ArrayList<DtVideo> obtenerVideosEnCategoria(String cat){ + if(cat == ""){ + throw new RuntimeException("La categoria no puede ser vacia"); + } + + return this.MiCanal.obtenerVideosEnCategoria(cat); + + } + + public void quitarValoracion(int id, String nickname){ + if(nickname == ""){ + throw new RuntimeException("El nickname no puede ser vacia"); + } + this.MiCanal.quitarValoracion(id, nickname); + } + + public void quitarVideoDeListaDeReproduccion(int idLista, int idVideo){ + this.MiCanal.quitarVideoDeListaDeReproduccion(idLista, idVideo); + } + + public boolean validarListaParticular(String nombre){ + if(nombre == ""){ + throw new RuntimeException("El nombre de la lista no puede ser vacia"); + } + return this.MiCanal.validarListaParticular(nombre); + } +} + diff --git a/UyTube_logica/src/Logica/Clases/Valoracion.java b/UyTube_logica/src/Logica/Clases/Valoracion.java new file mode 100644 index 0000000..69d547d --- /dev/null +++ b/UyTube_logica/src/Logica/Clases/Valoracion.java @@ -0,0 +1,95 @@ +package Logica.Clases; + +import Logica.DataType.DtValoracion; +import Logica.Enumerados.TipoValoracion; +import java.io.Serializable; +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.OneToOne; +import javax.persistence.Table; + +@Entity +@Table(name = "valoracion") +public class Valoracion implements Serializable { + + @Id + @GeneratedValue(strategy=GenerationType.IDENTITY) + @Column(name = "id") + private Integer id; + + @Enumerated(EnumType.STRING) + @JoinColumn(name = "valoracion") + private TipoValoracion val; + + @OneToOne(cascade = CascadeType.MERGE) + @JoinColumn(name = "nick_usuario") + private Usuario usr; + + //----------------------------------------------------------------------- + public Valoracion() { + } + + public Valoracion(TipoValoracion val, Usuario usr) { + if(usr==null){ + throw new RuntimeException("Usuario No puede ser null"); + } + this.val = val; + this.usr = usr; + } + + //----------------------------------------------------------------------- + public int getId() { + return id; + } + + public TipoValoracion getVal() { + return val; + } + + public void setVal(TipoValoracion val) { + this.val = val; + } + + public String getNicknameDeUsuario() { + return this.usr.getNickname(); + } + + public DtValoracion getDT(){ + DtValoracion dtV = new DtValoracion(this.val, this.usr.getNickname()); + return dtV; + } + public DtValoracion getDT(String nickname){ + if(nickname==null){ + throw new RuntimeException("Nickname No puede ser null"); + } + // si esta valoracion corresponde al usuario, devuelve su DT, sino null + if (nickname.equals(this.usr.getNickname())){ + return this.getDT(); + }else{ + return null; + } + } + public boolean modificar(DtValoracion dtV, String nickname){ + if(dtV==null){ + throw new RuntimeException("DtValoracion No puede ser null"); + } + if(nickname==null){ + throw new RuntimeException("Nickname No puede ser null"); + } + if (nickname.equals(this.usr.getNickname())){ + this.val = dtV.getVal(); + return true; + }else{ + return false; + } + } + + +} diff --git a/UyTube_logica/src/Logica/Clases/Video.java b/UyTube_logica/src/Logica/Clases/Video.java new file mode 100644 index 0000000..221025a --- /dev/null +++ b/UyTube_logica/src/Logica/Clases/Video.java @@ -0,0 +1,429 @@ +package Logica.Clases; +import JPAControllerClasses.ComentarioJpaController; +import JPAControllerClasses.ValoracionJpaController; +import Logica.DataType.DtComentario; +import Logica.DataType.DtValoracion; +import Logica.DataType.DtVideo; +import java.sql.Time; +import java.sql.Date; +import Logica.Enumerados.Privacidad; +import Logica.Enumerados.TipoValoracion; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import javax.persistence.Basic; +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.MapKey; +import javax.persistence.OneToMany; +import javax.persistence.Table; + +@Entity +@Table(name = "video") +public class Video implements Serializable { + + @Id + @GeneratedValue(strategy=GenerationType.IDENTITY) + @Column(name = "id") + private Integer id; + + @Column(name = "nombre") + private String nombre; + + @Column(name = "descripcion") + private String descripcion; + + @Basic + @Column(name = "duracion") + private Time duracion; + + @Basic + @Column(name = "fecha_publicacion") + private Date fechaPublicacion; + + + @Column(name = "url") + private String urlVideoOriginal; + + @Enumerated(EnumType.STRING) + private Privacidad privacidad = Privacidad.PRIVADO; + + + @Column(name = "categoria") + private String categoria; + + + @Column(name = "cant_likes") + private int cantLikes = 0; + + + @Column(name = "cant_dislikes") + private int cantDisLikes = 0; + + @Column(name = "eliminado") + private boolean eliminado; + + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + @JoinColumn(name = "id_video") + private List<Valoracion> valoraciones; + + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + @JoinColumn(name = "id_video") + @MapKey(name = "id") + private Map<Integer, Comentario> comentarios; + + //------------------------------------------------------------------------ + public Video(){ + + } + /********************** Constructor *********************/ + public Video(int _id, String _nombre, String _descripcion,Time _duracion, Date _fechaPublicacion,String _urlVideoOriginal,String _categoria ){ + if (_nombre == "") { + throw new RuntimeException("Error, el nombre del video está vacÃo"); + } + if (_duracion == null) { + throw new RuntimeException("Error, la duración del video es null."); + } + if (_fechaPublicacion == null) { + throw new RuntimeException("Error, la fecha de publicación del video es null."); + } + if (_urlVideoOriginal == "") { + throw new RuntimeException("Error, la url del video está vacÃa."); + } + if (_categoria == "") { + throw new RuntimeException("Error, la descripción del video está vacÃa."); + } + + this.id = _id; + this.nombre = _nombre; + this.descripcion = _descripcion; + this.duracion = _duracion; + this.fechaPublicacion = _fechaPublicacion; + this.urlVideoOriginal = _urlVideoOriginal; + this.categoria = _categoria; + this.valoraciones = new ArrayList<Valoracion>(); + this.comentarios = new TreeMap<Integer, Comentario>(); + this.eliminado = false; + } + + + public void eliminar(){ + this.eliminado = true; + this.valoraciones = new ArrayList<Valoracion>(); + this.comentarios = new TreeMap<Integer, Comentario>(); + } + + public void eliminarTodoRastroDelUsuario(String nickname) { + // manda a quitar la valoracion del usuario (si no ha valorado no tiene efecto) + quitarValoracion(nickname); + ArrayList<Integer> idAEliminar = new ArrayList(); + + for (Map.Entry<Integer, Comentario> it : this.comentarios.entrySet()){ + if (it.getValue().getDT().getNickname().equals(nickname)){ + idAEliminar.add(it.getKey()); + } else { + it.getValue().eliminarTodoRastroDelUsuario(nickname); + try { + new ComentarioJpaController().edit(it.getValue()); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + } + for (Integer i : idAEliminar){ + this.comentarios.remove(i); + } + } + + + + /** Agregar un nuevo comentario **/ + public void agregarComentario(DtComentario dtComentario, Usuario usuario){ + if (dtComentario == null){ + throw new RuntimeException("El DataType es null"); + } + if (usuario == null){ + throw new RuntimeException("El usuario es null"); + } + + Comentario nuevoComentario = new Comentario(0, dtComentario.getFecha(), dtComentario.getTexto(), 0, usuario); + // crea la tupla en la base de datos + // asi se genera el ID y se puede agregar al Map + new ComentarioJpaController().create(nuevoComentario); + comentarios.put(nuevoComentario.getId(), nuevoComentario); + } + + /* Agregar un subcomentario a un comentario existente */ + public void agregarComentario(int idCom, DtComentario dtComentario, Usuario usuario){ + if (dtComentario == null){ + throw new RuntimeException("El DataType es null"); + } + if (usuario == null){ + throw new RuntimeException("El usuario es null"); + } + boolean comentarioComentado; + for (Map.Entry<Integer, Comentario> coment : comentarios.entrySet()) { + comentarioComentado = coment.getValue().agregarSubComentario(idCom, dtComentario, usuario); + if (comentarioComentado) { + try { + new ComentarioJpaController().edit(coment.getValue()); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + break; + } + } + } + + /* Agrega o midifica una valoración */ + public void agregarModificarValoracion(DtValoracion dtValoracion, Usuario usuario) { + if (dtValoracion == null) { + throw new RuntimeException("El DataType es null"); + } + if (usuario == null){ + throw new RuntimeException("El usuario es null"); + } + + String nickname = usuario.getNickname(); + // por las dudas, para que los contadores de likes no queden inconsistentes: + // obtengo la valoracion que le habia dado antes el usuario (si es que lo habia alorado) + DtValoracion dtv = this.obtenerValoracion(nickname); + // si el usuario ya lo valoro + if (dtv != null) { + // segun cual fuera la valoracion anterior, resta 1 al contador + if (dtv.getVal() == TipoValoracion.LIKE) { + cantLikes--; + } else { + cantDisLikes--; + } + + // Si te estas preguntando por que esta parte de la cobertura esta en amarillo + // te comento que es porque al for siempre se entra al menos una vez, dado que + // si se esta en este bloque del if, significa que el usuario ya ha valorado el + // video, pero para no entrar al for, ningun usuario debe haberlo hecho. + // Con el if dentro del for sucede lo mismo, tarde o temprano encuentra al + // usuario que quiere modificar su valoracion + for (Valoracion val : valoraciones) { + if (val.modificar(dtValoracion, nickname)) { + try { + new ValoracionJpaController().edit(val); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + break; + } + } + } else { + Valoracion nuevaValoracion = new Valoracion(dtValoracion.getVal(), usuario); + new ValoracionJpaController().create(nuevaValoracion); + valoraciones.add(nuevaValoracion); + } + + // segun cual sea la nueva valoracion, suma 1 al contador + if (dtValoracion.getVal() == TipoValoracion.LIKE) { + cantLikes++; + } else { + cantDisLikes++; + } + } + + public DtVideo getDt(){ + return new DtVideo(this.id, this.nombre, this.descripcion, this.duracion, this.fechaPublicacion, this.urlVideoOriginal, this.privacidad, this.categoria, this.cantLikes, this.cantDisLikes); + } + + public ArrayList<DtComentario> listarComentarios(){ + ArrayList<DtComentario> listaComent = new ArrayList<DtComentario>(); + // recorro los comentarios sobre el video + for (Map.Entry<Integer, Comentario> coment : comentarios.entrySet()) { + // le obtengo el DT y lo agrego a la lista resultado + listaComent.add(coment.getValue().getDT()); + // agrego a la lista resultado, la lista de sub comentarios + listaComent.addAll(coment.getValue().listarSubComentarios()); + } + return listaComent; + } + + public ArrayList<DtValoracion> listarValoraciones(){ + ArrayList<DtValoracion> listaValoraciones = new ArrayList(); + // recorre todo el array de valoraciones + for(int i = 0; i < this.valoraciones.size(); i++){ + // para cada elemento le pide el DT (al llamar esa funcion es que hace el new) y lo agrega a la coleccion de retorno + listaValoraciones.add(this.valoraciones.get(i).getDT()); + } + return listaValoraciones; + } + + public void modificar(DtVideo dtVideo){ + if(dtVideo == null){ + throw new RuntimeException("El DtVideo es vacÃo"); + } + // Perdon julio pero no entendi nada xD + + if(dtVideo.getNombre()== ""){ + throw new RuntimeException("El nombre no puede ser vacÃo"); + } + + if (dtVideo.getDuracion()== null) { + throw new RuntimeException("La duracion no puede ser vacÃa"); + } + + if (dtVideo.getFechaPublicacion() == null) { + throw new RuntimeException("La fecha no puede ser vacÃa"); + } + + if (dtVideo.getCategoria() == "") { + throw new RuntimeException("La categoria no puede ser vacÃa"); + } + + this.nombre = dtVideo.getNombre(); + this.descripcion = dtVideo.getDescripcion(); + this.duracion = dtVideo.getDuracion(); + this.fechaPublicacion = dtVideo.getFechaPublicacion(); + this.privacidad = dtVideo.getPrivacidad(); + this.categoria = dtVideo.getCategoria(); + this.urlVideoOriginal = dtVideo.getUrlVideoOriginal(); + } + + /* Obtiene la valoracion que hizo un usuario */ + public DtValoracion obtenerValoracion(String nickname) { + if (nickname.equals("")) { + throw new RuntimeException("El nickname no puede ser vacio"); + } + for(int i = 0; i < this.valoraciones.size(); i++){ + if( valoraciones.get(i).getNicknameDeUsuario() == nickname){ + return valoraciones.get(i).getDT(); + } + } + return null; + } + + public void quitarValoracion(String nickname){ + if (nickname.equals("")){ + throw new RuntimeException("El nickname no puede ser vacio"); + } + // Recorrer todas las valoraciones hasta encontrar la valoracion cuyo usuario sea el que tiene ese nickname + // cuando la encuentre, la saca de la coleccion + + for(int i = 0; i < this.valoraciones.size(); i++){ + if(valoraciones.get(i).getNicknameDeUsuario().equals(nickname) ){ + + // segun cual fuera la valoracion anterior, resta 1 al contador + if (valoraciones.get(i).getVal() == TipoValoracion.LIKE) { + cantLikes--; + } else { + cantDisLikes--; + } + + // remueve de la coleccion + Valoracion borrada = valoraciones.remove(i); + try { + new ValoracionJpaController().destroy(borrada.getId()); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + break; + } + + } + } + + +//============================ Get and Set ================================ + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getNombre() { + return nombre; + } + + public void setNombre(String nombre) { + this.nombre = nombre; + } + + public String getDescripcion() { + return descripcion; + } + + public void setDescripcion(String descripcion) { + this.descripcion = descripcion; + } + + public Time getDuracion() { + return duracion; + } + + public void setDuracion(Time duracion) { + this.duracion = duracion; + } + + public Date getFechaPublicacion() { + return fechaPublicacion; + } + + public void setFechaPublicacion(Date fechaPublicacion) { + this.fechaPublicacion = fechaPublicacion; + } + + public String getUrlVideoOriginal() { + return urlVideoOriginal; + } + + public void setUrlVideoOriginal(String urlVideoOriginal) { + this.urlVideoOriginal = urlVideoOriginal; + } + + public Privacidad getPrivacidad() { + return privacidad; + } + + public void setPrivacidad(Privacidad privacidad) { + this.privacidad = privacidad; + } + + public String getCategoria() { + return categoria; + } + + public void setCategoria(String categoria) { + this.categoria = categoria; + } + + public int getCantLikes() { + return cantLikes; + } + + public void setCantLikes(int cantLikes) { + this.cantLikes = cantLikes; + } + + public int getCantDisLikes() { + return cantDisLikes; + } + + public void setCantDisLikes(int cantDisLikes) { + this.cantDisLikes = cantDisLikes; + } + + @Override + public String toString() { + return "Video{" + "id=" + id + ", nombre=" + nombre + ", descripcion=" + descripcion + ", duracion=" + duracion + ", fechaPublicacion=" + fechaPublicacion + ", urlVideoOriginal=" + urlVideoOriginal + ", privacidad=" + privacidad + ", categoria=" + categoria + ", cantLikes=" + cantLikes + ", cantDisLikes=" + cantDisLikes + '}'; + } + + + + +} diff --git a/UyTube_logica/src/Logica/Controladores/CAdmin.java b/UyTube_logica/src/Logica/Controladores/CAdmin.java new file mode 100644 index 0000000..ae1e57e --- /dev/null +++ b/UyTube_logica/src/Logica/Controladores/CAdmin.java @@ -0,0 +1,982 @@ +package Logica.Controladores; + +// Interfaz que se realizara +import JPAControllerClasses.AdministradorJpaController; +import JPAControllerClasses.CategoriaJpaController; +import JPAControllerClasses.ListaPorDefectoJpaController; +import JPAControllerClasses.UsuarioJpaController; +import Logica.Interfaces.IAdmin; +// DataTypes +import Logica.DataType.*; +// Clases necesarias +import Logica.Clases.Administrador; +import Logica.Clases.Usuario; +import Logica.Clases.Categoria; +import Logica.Clases.ListaPorDefecto; +import Logica.DatosDePrueba; +// Colecciones +import java.util.Map; +import java.util.TreeMap; +import java.util.ArrayList; +import java.util.List; + + +public class CAdmin implements IAdmin{ + private static CAdmin instancia = null; + private Map<String, Usuario> usuarios; + private Map<Integer, Administrador> administradores; + private Map<String, Categoria> categorias; + private Map<String, ListaPorDefecto> listasPorDefecto; + private Usuario usuarioActual; + private Usuario usuarioSeleccionado; + private int idListaSeleccionada; + private int idVideoSeleccionado; + + + private CAdmin(){ + this.usuarios = new TreeMap(String.CASE_INSENSITIVE_ORDER); + this.administradores = new TreeMap(); + this.categorias = new TreeMap(); + this.listasPorDefecto = new TreeMap(); + this.usuarioActual = null; + this.usuarioSeleccionado = null; + this.idListaSeleccionada = 0; + this.idVideoSeleccionado = 0; + + // si la categoria no esta en la BDD, la crea + if ( ! existeCategoria("UNDEFINED")){ + this.altaCategoria("UNDEFINED"); + } + + sincronizarAdministradoresConBDD(); + sincronizarCategoriasConBDD(); + sincronizarListasPorDefectoConBDD(); + sincronizarUsuariosConBDD(); + + // si en la BDD no hay administrador, lo crea + if (this.administradores.isEmpty()) { + // Administrador por defecto (temporal) + Administrador root = new Administrador(0, "admin", "administrador", "root"); + try { + new AdministradorJpaController().create(root); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + this.administradores.put(root.getIdAdmin(), root); + } + } + + public static CAdmin getInstancia(){ + if( instancia == null ){ + instancia = new CAdmin(); + } + return instancia; + } + + private void sincronizarUsuariosConBDD(){ + this.usuarios = new TreeMap(String.CASE_INSENSITIVE_ORDER); + try { + List<Usuario> usuariosEnBDD = new UsuarioJpaController().findUsuarioEntities(); + for (Usuario u : usuariosEnBDD){ + // si en BDD hay algo que no este en memoria + if ( ! this.usuarios.containsKey(u.getNickname())){ + this.usuarios.put(u.getNickname(), u); + } + } + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + private void sincronizarAdministradoresConBDD(){ + this.administradores = new TreeMap(); + try { + List<Administrador> administradoresEnBDD = new AdministradorJpaController().findAdministradorEntities(); + for (Administrador a : administradoresEnBDD){ + // si en BDD hay algo que no este en memoria + if ( ! this.administradores.containsKey(a.getIdAdmin())){ + this.administradores.put(a.getIdAdmin(), a); + } + } + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + private void sincronizarCategoriasConBDD(){ + this.categorias = new TreeMap(); + try { + List<Categoria> categoriasEnBDD = new CategoriaJpaController().findCategoriaEntities(); + for (Categoria c : categoriasEnBDD){ + // si en BDD hay algo que no este en memoria + if ( ! this.categorias.containsKey(c.getNombre())){ + this.categorias.put(c.getNombre(), c); + } + } + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + private void sincronizarListasPorDefectoConBDD(){ + this.listasPorDefecto = new TreeMap(); + try { + List<ListaPorDefecto> listasPorDefectoEnBDD = new ListaPorDefectoJpaController().findListaPorDefectoEntities(); + for (ListaPorDefecto l : listasPorDefectoEnBDD){ + // si en BDD hay algo que no este en memoria + if ( ! this.listasPorDefecto.containsKey(l.getNombre())){ + this.listasPorDefecto.put(l.getNombre(), l); + } + } + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + // //////////////////////////////////////////////////////////////////////////////////////// + public void agregarVideoAListaDeReproduccion(int idLista){ + /** + * Agrega el video idVideoSeleccionado a la lista idListaSeleccionada + */ + if (usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (usuarioActual == null){ + throw new RuntimeException("El sistema no tiene un usuario actual seleccionado"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + if (idLista == 0){ + throw new RuntimeException("El ID de la lista de reproduccion no es valido"); + } + usuarioActual.agregarVideoALista(idLista, idVideoSeleccionado, usuarioSeleccionado); + } + + public void altaCategoria(String categoria){ + /** + * Crea la categoria con el nombre indicado + */ + if (categoria.equals("")){ + throw new RuntimeException("El nombre de la categoria no puede ser vacio"); + } + if (existeCategoria(categoria)){ + throw new RuntimeException("El sistema ya posee una categoria con ese nombre"); + } + Categoria cat = new Categoria(categoria); + categorias.put(cat.getNombre(), cat); + try { + new CategoriaJpaController().create(cat); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + public void altaComentario(DtComentario dtCom){ + /** + * Comenta el video idVideoSeleccionado a nombre de usuarioActual + */ + if (usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (usuarioActual == null){ + throw new RuntimeException("El sistema no tiene un usuario actual seleccionado"); + } + if (dtCom == null){ + throw new RuntimeException("El DataType comentario no puede ser null"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + usuarioSeleccionado.agregarComentarioAVideo(idVideoSeleccionado, dtCom, usuarioActual); + } + + public void altaComentario(DtComentario dtCom, int idComPadre){ + /** + * Comenta el comentario con dicho ID a nombre de usuarioActual + */ + if (usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (usuarioActual == null){ + throw new RuntimeException("El sistema no tiene un usuario actual seleccionado"); + } + if (dtCom == null){ + throw new RuntimeException("El DataType comentario no puede ser null"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + usuarioSeleccionado.agregarComentarioAVideo(idVideoSeleccionado, idComPadre, dtCom, usuarioActual); + } + + public void altaListaDeReproduccionParticular(DtListaDeReproduccion lista) { + /** + * Crea la lista de reproduccion para usuarioSeleccionado + */ + if (usuarioSeleccionado == null) { + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (lista == null) { + throw new RuntimeException("El DataType recibido es null"); + } + if (!existeCategoria(lista.getCategoria())) { + throw new RuntimeException("La categoria no existe"); + } + usuarioSeleccionado.agregarListaParticular(lista); + } + + public void altaListaDeReproduccionPorDefecto(DtListaDeReproduccion lista){ + /** + * Crea la lista de reproduccion para todos los usuarios del sistema y + * la agrega listas por defecto (para que se creen al crear un usuario nuevo) + */ + if (lista == null){ + throw new RuntimeException("El DataType lista de reproduccion no puede ser null"); + } + if (lista.getNombre().equals("")){ + throw new RuntimeException("El nombre de la nueva lista de reproduccion por defecto no puede ser vacio"); + } + if (listasPorDefecto.containsKey(lista.getNombre())){ + throw new RuntimeException("El sistema ya posee una lista de reproduccion por defecto con ese nombre"); + } + ListaPorDefecto lpd = new ListaPorDefecto(lista.getNombre()); + try { + new ListaPorDefectoJpaController().create(lpd); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + listasPorDefecto.put(lista.getNombre(), lpd); + ArrayList<String> nuevaLista = new ArrayList(); + nuevaLista.add(lista.getNombre()); + for (Map.Entry<String, Usuario> u : usuarios.entrySet()){ + u.getValue().actualizarListasPorDefecto(nuevaLista); + } + } + + public void altaUsuarioCanal(DtUsuario usr, DtCanal canal){ + /** + * Crea un usuario y su canal a partir de los datos recibidos + */ + if (usr == null){ + throw new RuntimeException("El DataType usuario no puede ser null"); + } + if (canal == null){ + throw new RuntimeException("El DataType canal no puede ser null"); + } + if (existeNickname(usr.getNickname())){ + throw new RuntimeException("El sistema ya tiene un usuario con ese nickname"); + } + if (existeEmail(usr.getCorreo())){ + throw new RuntimeException("El sistema ya tiene un usuario con ese correo"); + } + + ArrayList<String> listasDefault = new ArrayList(); + for (Map.Entry<String, ListaPorDefecto> lpd : listasPorDefecto.entrySet()) { + listasDefault.add(lpd.getKey()); + } + + Usuario nuevoUsuario = new Usuario( + usr.getNickname(), + usr.getCorreo(), + usr.getFechaNacimiento(), + usr.getImagen(), + usr.getContrasenia(), + usr.getNombre(), + usr.getApellido(), + canal + ); + try { + new UsuarioJpaController().create(nuevoUsuario); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + nuevoUsuario.actualizarListasPorDefecto(listasDefault); + usuarios.put(nuevoUsuario.getNickname(), nuevoUsuario); + } + + public void altaValoracion(DtValoracion val){ + /** + Se ingresa la nueva valoracion dada por usuarioActual al video idVideoSeleccionado + Si el usuario ya habia valorado, se actualiza la valoracion dada + */ + if (usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (usuarioActual == null){ + throw new RuntimeException("El sistema no tiene un usuario actual seleccionado"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + if (val == null){ + usuarioSeleccionado.quitarValoracion(idVideoSeleccionado, usuarioActual.getNickname()); + }else{ + usuarioSeleccionado.agregarModificarValoracionDeVideo(idVideoSeleccionado, val, usuarioActual); + } + } + + public void altaVideo(DtVideo video){ + /** + * Se crea un video nuevo en el canal de usuarioSeleccionado + */ + if (usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (video == null){ + throw new RuntimeException("El DataType video no puede ser null"); + } + if ( ! existeCategoria(video.getCategoria())){ + throw new RuntimeException("La categoria no existe"); + } + usuarioSeleccionado.agregarVideoACanal(video); + } + + public void bajaUsuario(){ + /** + * Elimina el usuario actual seleccionado + */ + /** + * Este algoritmo debe: + * Quitar las relaciones con usuarios seguidos y de seguidores + * Quitar los videos del usuario a eliminar de las listas de otros usuarios. + * Quitar comentarios en los videos del usuario a eliminar + * Quitar valoraciones en los videos del usuario a eliminar + * Quitar las valoraciones dadas por el usuario de todos los videos del sistema + * Quitar los comentarios hechos por el usuario de todos los videos del sistema + * + */ + + Usuario elim = usuarioActual; + + // * Quitar las relaciones con usuarios seguidos y de seguidores + // El usuario que se va a eliminar deja de seguir a todos los que sigue + ArrayList<DtUsuario> seguidos = usuarioActual.listarUsuariosSeguidos(); + for (DtUsuario u : seguidos) { + this.seleccionarUsuario(u.getNickname()); + this.seguirUsuario(); + } + this.liberarMemoriaUsuario(); + + // Todos los usuarios que siguen al que se va a eliminar, lo dejan de seguir + ArrayList<DtUsuario> seguidores = usuarioActual.listarUsuariosSeguidores(); + this.seleccionarUsuario(usuarioActual.getNickname()); + for (DtUsuario u : seguidores) { + this.seleccionarUsuarioActual(u.getNickname()); + this.seguirUsuario(); + } + this.liberarMemoriaUsuario(); + this.seleccionarUsuarioActual(elim.getNickname()); + + // para cada usuario del sistema, recorro todas sus listas y en cada + // una manda a quitar todoslos videos del usuario a eliminar + this.seleccionarUsuario(elim.getNickname()); + ArrayList<DtVideo> videos = this.listarVideosDeUsuario(); + // Para facilitar el algoritmo, agrego a la coleccion (de manera provisoria) los usuarios eliminados + // ¡Recuerdo los nicknames para sacarlos despues! + ArrayList<String> nicksProvisorios = new ArrayList(); + try { + for (Usuario u : new UsuarioJpaController().findUsuarioEliminadoEntities()){ + nicksProvisorios.add(u.getNickname()); + this.usuarios.put(u.getNickname(), u); + } + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + + for (Map.Entry<String, Usuario> it : usuarios.entrySet()){ + if (it.getValue().getNickname().equals(elim.getNickname())) continue; + + // * Quitar los videos del usuario a eliminar de las listas de otros usuarios. + ArrayList<DtListaDeReproduccion> listas = it.getValue().listarListasDeReproduccionDeCanal(false); + for (DtListaDeReproduccion l : listas){ + for (DtVideo v : videos){ + it.getValue().quitarVideoDeListaDeReproduccion(l.getId(), v.getId()); + } + } + + // * Quitar las valoraciones dadas por el usuario de todos los videos del sistema + // * Quitar los comentarios hechos por el usuario de todos los videos del sistema + it.getValue().eliminarTodoRastroDelUsuario(elim.getNickname()); + try { + new UsuarioJpaController().edit(it.getValue()); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + // quito de la coleccion los usuarios que estaban eliminados y agregue provisoriamente antes del for + for (String s : nicksProvisorios){ + this.usuarios.remove(s); + } + + // obtiene la fecha actual + java.util.Date utilDate = new java.util.Date(); + java.sql.Date hoy = new java.sql.Date(utilDate.getTime()); + + // * Quitar comentarios en los videos del usuario a eliminar + // * Quitar valoraciones en los videos del usuario a eliminar + usuarioActual.eliminar(hoy); + try { + new UsuarioJpaController().edit(usuarioActual); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + this.usuarios.remove(elim.getNickname()); + } + + + public boolean existeCategoria(String cat){ + /** + * Verifica si existe una categoria con el nombre recibido + */ + sincronizarCategoriasConBDD(); + return categorias.containsKey(cat); + } + + public boolean existeEmail(String email){ + /** + * Verifica si existe un usuario con el mail recibido + */ + sincronizarUsuariosConBDD(); + for (Map.Entry<String, Usuario> u : usuarios.entrySet()){ + if (u.getValue().getCorreo().equals(email)){ + return true; + } + } + for (DtUsuario dtu : this.listarUsuariosEliminados()){ + if (dtu.getCorreo().equals(email)){ + return true; + } + } + return false; + } + + public boolean existeNickname(String nickname){ + /** + * Verifica si existe un usuario con el nickname recibido + */ + sincronizarUsuariosConBDD(); + if (usuarios.containsKey(nickname)){ + return true; + } + for (DtUsuario dtu : this.listarUsuariosEliminados()){ + if (dtu.getNickname().equals(nickname)){ + return true; + } + } + return false; + } + + public boolean iniciarSesionAdministrador(int id, String pass){ + /** + * Verifica la contrasenia para el administrador con esa ID y devuelve true si es correcta + * En cualquier otro caso devuelve false + */ + sincronizarAdministradoresConBDD(); + Administrador a = administradores.get(id); + if (a == null){ + return false; + } + return a.validarContrasenia(pass); + } + + public boolean iniciarSesionUsuario(String nickname, String pass){ + sincronizarUsuariosConBDD(); + Usuario u = usuarios.get(nickname); + if (u == null){ + return false; + } + boolean ok = u.validarContrasenia(pass); + if (ok){ + usuarioActual = u; + } + return ok; + } + + public void liberarMemoriaListaDeReproduccion(){ + idListaSeleccionada = 0; + } + + public void liberarMemoriaUsuario(){ + usuarioSeleccionado = null; + } + + public void liberarMemoriaUsuarioActual(){ + usuarioActual = null; + } + + public void liberarMemoriaVideo(){ + idVideoSeleccionado = 0; + } + + public ArrayList<String> listarCategorias(){ + /** + * Devuelve todas las categorias existentes en el sistema + */ + sincronizarCategoriasConBDD(); + ArrayList<String> ret = new ArrayList(); + for (Map.Entry<String, Categoria> c : categorias.entrySet()){ + ret.add(c.getValue().getNombre()); + } + return ret; + } + + public ArrayList<DtComentario> listarComentariosDeVideo(){ + /** + * Devuelve en forma ordenada (recursiva ) todos los comentarios de idVideoSeleccionado + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + return usuarioSeleccionado.listarComentariosDeVideo(idVideoSeleccionado); + } + + public ArrayList<DtListaDeReproduccion> listarListasDeReproduccionEnCategoria(String cat){ + /** + * Devuelve todos las listas de reproduccion del sistema que pertenezcan a la categoria indicada + */ + if (cat.equals("")){ + throw new RuntimeException("La categoria no puede ser vacia"); + } + sincronizarUsuariosConBDD(); + sincronizarCategoriasConBDD(); + ArrayList<DtListaDeReproduccion> ret = new ArrayList(); + for (Map.Entry<String, Usuario> u : usuarios.entrySet()){ + ret.addAll(u.getValue().obtenerListasEnCategoria(cat)); + } + return ret; + } + + public ArrayList<DtListaDeReproduccion> listarListasDeReproduccionDeUsuario(String nickname){ + /** + * Devuelve todas las listas de reproduccion de usuarioSeleccionado o de usuarioActual segun el nickname indicado + */ + if (nickname.equals("")){ + throw new RuntimeException("El nickname del usuario no puede ser vacio"); + } + if (usuarioActual == null && usuarioSeleccionado == null){ + throw new RuntimeException("No hay usuarios seleccionados"); + } + + if (usuarioActual != null && usuarioActual.getNickname().equals(nickname)){ + return usuarioActual.listarListasDeReproduccionDeCanal(false); + } + if (usuarioSeleccionado != null && usuarioSeleccionado.getNickname().equals(nickname)){ + return usuarioSeleccionado.listarListasDeReproduccionDeCanal(false); + } + throw new RuntimeException("El nickname no coincide con los posibles usuarios seleccionados"); + } + + public ArrayList<DtListaDeReproduccion> listarListasDeReproduccionParticularesDeUsuario(){ + /** + * Devuelve las listas de reproduccion particulares de usuarioSeleccionado + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + return usuarioSeleccionado.listarListasDeReproduccionDeCanal(true); + } + + public ArrayList<DtUsuario> listarUsuarioSeguidores(){ + /** + * Devuelve todos los usuarios que siguen a usuarioSeleccionado + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + return usuarioSeleccionado.listarUsuariosSeguidores(); + } + + public ArrayList<DtUsuario> listarUsuarioNoSeguidos(){ + /** + * Devuelve todos los usuarios a quienes sigue usuarioSeleccionado + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + // creo el array de retorno y obtengo la lista de usuarios seguidos + ArrayList<DtUsuario> noSeguidos = new ArrayList(); + ArrayList<DtUsuario> seguidos = listarUsuarioSeguidos(); + // para saber si hay que agregar a la lista de retorno o no + boolean agregar; + + // no quiero que incluya al usuario seleccinado, asi que lo agrego para excluirlo + seguidos.add(usuarioSeleccionado.getDT()); + + // rrecorro los usuarios del sistema + for (Map.Entry<String, Usuario> u : usuarios.entrySet()) { + agregar = true; + // recorro los usuarios seguidos para ver si debo agregar a u al array de retorno + for (DtUsuario uSegido : seguidos){ + // si encuentra coincidencia, no debo agregarlo ya que es un usuario seguido + if (u.getKey().equals(uSegido.getNickname())){ + // lo saco del array para ahorrar procesamiento + seguidos.remove(uSegido); + agregar = false; + break; + } + } + if (agregar){ + noSeguidos.add(u.getValue().getDT()); + } + } + return noSeguidos; + } + + public ArrayList<DtUsuario> listarUsuarioSeguidos(){ + /** + * Devuelve todos los usuarios a quienes sigue usuarioSeleccionado + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + return usuarioSeleccionado.listarUsuariosSeguidos(); + } + + public ArrayList<DtUsuario> listarUsuarios(){ + /** + * Devuelve todos los datos de todos los usuarios + */ + sincronizarUsuariosConBDD(); + ArrayList<DtUsuario> ret = new ArrayList<>(); + for (Map.Entry<String, Usuario> usuario : usuarios.entrySet()) { + ret.add(usuario.getValue().getDT()); + } + return ret; + } + + public ArrayList<DtUsuario> listarUsuariosEliminados(){ + /** + * Devuelve todos los datos de todos los usuarios eliminados + */ + ArrayList<DtUsuario> ret = new ArrayList(); + try { + for (Usuario u : new UsuarioJpaController().findUsuarioEliminadoEntities()){ + ret.add(u.getDT()); + } + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + return ret; + } + + public ArrayList<DtVideo> listarVideosEnCategoria(String cat){ + /** + * Devuelve todos los videos del sistema que pertenezcan a la categoria indicada + */ + if (cat.equals("")){ + throw new RuntimeException("La categoria no puede ser vacia"); + } + sincronizarUsuariosConBDD(); + sincronizarCategoriasConBDD(); + ArrayList<DtVideo> ret = new ArrayList(); + for (Map.Entry<String, Usuario> u : usuarios.entrySet()){ + ret.addAll(u.getValue().obtenerVideosEnCategoria(cat)); + } + return ret; + } + + public ArrayList<DtVideo> listarVideosDeUsuario(){ + /** + * Devuelve todos los videos de usuarioSeleccionado + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + return usuarioSeleccionado.listarVideosDeCanal(); + } + + public ArrayList<DtVideo> listarVideosDeListaDeReproduccion(){ + /** + * Devuelve los videos de la lista de reproduccion idListaSeleccionada + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (idListaSeleccionada == 0){ + throw new RuntimeException("El sistema no tiene una lista de reproduccion seleccionado"); + } + return usuarioSeleccionado.listarVideosDeListaDeReproduccion(idListaSeleccionada); + } + + public void modificarListaDeReproduccion(DtListaDeReproduccion lista){ + /** + * Se modifican los datos de la lista idListaSeleccionada + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (idListaSeleccionada == 0){ + throw new RuntimeException("El sistema no tiene una lista de reproduccion seleccionado"); + } + if (lista == null){ + throw new RuntimeException("El DataType recibido es null"); + } + if ( ! existeCategoria(lista.getCategoria())){ + throw new RuntimeException("La categoria no existe"); + } + // no confio en que el DataType recibido venga con el id del video correcto, + // asi que creo otro y con el idVideoSeleccionado por las dudas + DtListaDeReproduccion dtl = new DtListaDeReproduccion( + idListaSeleccionada, + lista.getNombre(), + lista.getPrivacidad(), + lista.getTipo(), + lista.getCategoria()); + usuarioSeleccionado.modificarListaDeReproduccionDeCanal(dtl); + } + + public void modificarUsuarioYCanal(DtUsuario usr,DtCanal canal){ + /** + * Se modifican los datos de usuarioActual y su canal + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (usr == null){ + throw new RuntimeException("El DataType usuario no puede ser null"); + } + if (canal == null){ + throw new RuntimeException("El DataType canal no puede ser null"); + } + usuarioSeleccionado.modificar(usr, canal); + try { + new UsuarioJpaController().edit(usuarioSeleccionado); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + public void modificarVideo(DtVideo video){ + /** + * Se modifican los datos del video idVideoSeleccionado + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + if (video == null){ + throw new RuntimeException("El DataType video no puede ser null"); + } + if ( ! existeCategoria(video.getCategoria())){ + throw new RuntimeException("La categoria no existe"); + } + // no confio en que el DataType recibido venga con el id del video correcto, + // asi que creo otro y con el idVideoSeleccionado por las dudas + DtVideo dtv = new DtVideo( + idVideoSeleccionado, + video.getNombre(), + video.getDescripcion(), + video.getDuracion(), + video.getFechaPublicacion(), + video.getUrlVideoOriginal(), + video.getPrivacidad(), + video.getCategoria(), + 0, 0); + + usuarioSeleccionado.modificarVideoDeCanal(dtv); + } + + public DtUsuario obtenerPropietarioDeVideo(int idVideo){ + /** + * Busca entre todos los usuarios al propietario del video con ese ID + */ + + sincronizarUsuariosConBDD(); + // Esto es un parche, pero de los que nunca se despegan... + // A tiempos desesperados, medidas desesperadas + for (Map.Entry<String, Usuario> u : usuarios.entrySet()){ + try { + u.getValue().obtenerVideo(idVideo); + return u.getValue().getDT(); + } catch (Exception e) { + // a seguir buscando + } + } + throw new RuntimeException("El iID de video no crresponde a ningun usuario"); + } + + public DtCanal obtenerCanalDeUsuario(){ + /** + * Devuelve los datos del canal del usuario en memoria usuarioSeleccionado + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + return usuarioSeleccionado.obtenerCanal(); + } + + public ArrayList<DtValoracion> obtenerValoracionesDeVideo(){ + /** + * Devuelve las valoraciones de idVideoSeleccionado + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + return usuarioSeleccionado.listarValoracionesDeVideo(idVideoSeleccionado); + } + + public DtValoracion obtenerValoracionDada(){ + /** + * Devuelve la valoracion dada por usuarioActual al video idVideoSeleccionado + * + */ + if (this.usuarioActual == null) { + throw new RuntimeException("El sistema no tiene un usuario actual seleccionado"); + } + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + // si la funcion retorna null, significa que el usuario no lo ha valorado. Entonces no se considera error + return usuarioSeleccionado.obtenerValoracion(idVideoSeleccionado, usuarioActual.getNickname()); + } + + public void quitarVideoDeListaDeReproduccion(int idVideo){ + /** + * Quita el video idVideoSeleccionado de la lista idListaSeleccionada + */ + if (usuarioSeleccionado == null) { + throw new RuntimeException("El sistema no tiene un usuario actual seleccionado"); + } + if (idListaSeleccionada == 0){ + throw new RuntimeException("El sistema no tiene una lista de reproduccion seleccionado"); + } + if (idVideo == 0){ + throw new RuntimeException("El ID de video no es valido"); + } + usuarioSeleccionado.quitarVideoDeListaDeReproduccion(idListaSeleccionada, idVideo); + } + + public DtUsuario seleccionarUsuario(String nickname){ + /** + * El sistema recuerda un link al usuario como usuarioSeleccionado + * Devuelve los datos de usuarioSeleccionado + */ + sincronizarUsuariosConBDD(); + usuarioSeleccionado = usuarios.get(nickname); + if (usuarioSeleccionado == null){ + throw new RuntimeException("No se encontro ningun usuario con ese nickname"); + } + return usuarioSeleccionado.getDT(); + } + + public DtUsuario seleccionarUsuarioEliminado(String nickname){ + /** + * El sistema recuerda un link al usuario eliminado como usuarioActual Devuelve + * los datos de usuarioActual + */ + try { + usuarioSeleccionado = new UsuarioJpaController().findUsuario(nickname); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + if (usuarioSeleccionado == null){ + throw new RuntimeException("No se encontro ningun usuario con ese nickname"); + } + return usuarioSeleccionado.getDT(); + } + + public DtUsuario seleccionarUsuarioActual(String nickname){ + /** + * El sistema recuerda un link al usuario como usuarioActual Devuelve + * los datos de usuarioActual + */ + sincronizarUsuariosConBDD(); + usuarioActual = usuarios.get(nickname); + if (usuarioActual == null){ + throw new RuntimeException("No se encontro ningun usuario con ese nickname"); + } + return usuarioActual.getDT(); + } + + public DtVideo seleccionarVideo(int idVideo){ + /** + El sistema recuerda el ID del video como idVideoSeleccionado Devuelve + * los datos del video seleccionado + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + DtVideo ret = usuarioSeleccionado.obtenerVideoDeCanal(idVideo); + idVideoSeleccionado = idVideo; + return ret; + } + + public DtListaDeReproduccion seleccionarListaDeReproduccion(int idLista){ + /** + * El sistema recuerda el ID de la lista como idListaSeleccionada + * Devuelve los datos de la lista de reproduccion seleccionada perteneciente a usuarioSeleccionado + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + DtListaDeReproduccion ret = usuarioSeleccionado.obtenerListaDeReproduccion(idLista); + idListaSeleccionada = idLista; + return ret; + } + + public void seguirUsuario(){ + /** + * El usuario usuarioActual comienza a seguir a usuarioSeleccionado En + * caso de que este ya lo este siguiendo, lo deja de seguir + */ + if (this.usuarioActual == null) { + throw new RuntimeException("El sistema no tiene un usuario actual seleccionado"); + } + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + usuarioActual.agregarOQuitarSeguido(usuarioSeleccionado); + try { + new UsuarioJpaController().edit(usuarioSeleccionado); + new UsuarioJpaController().edit(usuarioActual); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + public boolean validarNuevaListaParticular(String nombre){ + /** + * Devuelve false si usuarioSeleccionado posee una lista de reproducion con ese nombre + */ + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + sincronizarListasPorDefectoConBDD(); + if (listasPorDefecto.containsKey(nombre)) { + return false; + } + return usuarioSeleccionado.validarListaParticular(nombre); + } + + public boolean validarNuevaListaPorDefecto(String nombre){ + /** + * Devuelve false si existe algun usuario en el sistema que posea una + * lista de reproduccion con ese nombre + */ + sincronizarListasPorDefectoConBDD(); + sincronizarUsuariosConBDD(); + if (listasPorDefecto.containsKey(nombre)) { + return false; + } + for (Map.Entry<String, Usuario> u : this.usuarios.entrySet()){ + if ( ! u.getValue().validarListaParticular(nombre)){ + return false; + } + } + return true; + } +} + diff --git a/UyTube_logica/src/Logica/Controladores/CUsuario.java b/UyTube_logica/src/Logica/Controladores/CUsuario.java new file mode 100644 index 0000000..d1afc0a --- /dev/null +++ b/UyTube_logica/src/Logica/Controladores/CUsuario.java @@ -0,0 +1,823 @@ +package Logica.Controladores; + +import JPAControllerClasses.BusquedaEnBDD; +import JPAControllerClasses.CategoriaJpaController; +import JPAControllerClasses.ListaPorDefectoJpaController; +import JPAControllerClasses.UsuarioJpaController; +import Logica.Clases.Categoria; +import Logica.Clases.ListaPorDefecto; +import Logica.Clases.Usuario; +import Logica.Clases.Video; +import Logica.DataType.DtCanal; +import Logica.DataType.DtComentario; +import Logica.DataType.DtListaDeReproduccion; +import Logica.DataType.DtUsuario; +import Logica.DataType.DtValoracion; +import Logica.DataType.DtVideo; +import Logica.Enumerados.Filtrado; +import Logica.Enumerados.Ordenacion; +import Logica.Enumerados.Privacidad; +import Logica.Enumerados.TipoListaDeReproduccion; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import Logica.Interfaces.IUsuario; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + +public class CUsuario implements IUsuario { + private static CUsuario instancia = null; + private Usuario usuarioActual; + private Usuario usuarioSeleccionado; + private int idListaSeleccionada; + private int idVideoSeleccionado; + + private CUsuario() { + this.usuarioActual = null; + this.usuarioSeleccionado = null; + this.idListaSeleccionada = 0; + this.idVideoSeleccionado = 0; + } + public static CUsuario getInstancia() { + if (instancia == null) { + instancia = new CUsuario(); + } + return instancia; + } + + //***************** Traer datos de la base de datos ******************* + /** + * Lista los usuarios no eliminados desde la base de datos + * @return Mapa de usuarios indexados por nickname + */ + private Map<String, Usuario> obtenerUsuarios(){ + Map<String, Usuario> usuarios = new TreeMap(); + try { + List<Usuario> usuariosEnBDD = new UsuarioJpaController().findUsuarioEntities(); + for (Usuario u : usuariosEnBDD){ + usuarios.put(u.getNickname(), u); + } + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + return usuarios; + } + + /** + * Lista las categorias desde la base de datos + * @return Mapa de categorias indexados por nombre + */ + private Map<String, Categoria> obtenerCategorias(){ + Map<String, Categoria> categorias = new TreeMap(); + try { + List<Categoria> categoriasEnBDD = new CategoriaJpaController().findCategoriaEntities(); + for (Categoria c : categoriasEnBDD){ + categorias.put(c.getNombre(), c); + } + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + return categorias; + } + + /** + * Lista los nombres de las listas por defecto desde la base de datos + * @return Mapa de listas por defecto indexados por nombre + */ + private Map<String, ListaPorDefecto> obtenerListasPorDefecto(){ + Map<String, ListaPorDefecto> ListasPorDefecto = new TreeMap(); + try { + List<ListaPorDefecto> listasPorDefectoEnBDD = new ListaPorDefectoJpaController().findListaPorDefectoEntities(); + for (ListaPorDefecto l : listasPorDefectoEnBDD){ + ListasPorDefecto.put(l.getNombre(), l); + } + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + return ListasPorDefecto; + } + + //******************** Funciones de la interfaz ************************ + @Override + public void agregarVideoAListaDeReproduccion(int idLista) { + if (usuarioActual == null){ + throw new RuntimeException("No se ha iniciado sesión"); + } + if (usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + if (idLista == 0){ + throw new RuntimeException("El ID de la lista de reproduccion no es valido"); + } + usuarioActual.agregarVideoALista(idLista, idVideoSeleccionado, usuarioSeleccionado); + } + + @Override + public void altaComentario(DtComentario dtCom) { + if (usuarioActual == null){ + throw new RuntimeException("No se ha iniciado sesión"); + } + if (usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (dtCom == null){ + throw new RuntimeException("El DataType comentario no puede ser null"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + usuarioSeleccionado.agregarComentarioAVideo(idVideoSeleccionado, dtCom, usuarioActual); + } + + @Override + public void altaComentario(DtComentario dtCom, int idComPadre) { + if (usuarioActual == null){ + throw new RuntimeException("No se ha iniciado sesión"); + } + if (usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (dtCom == null){ + throw new RuntimeException("El DataType comentario no puede ser null"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + usuarioSeleccionado.agregarComentarioAVideo(idVideoSeleccionado, idComPadre, dtCom, usuarioActual); + } + + @Override + public void altaListaDeReproduccionParticular(DtListaDeReproduccion lista) { + if (usuarioActual == null) { + throw new RuntimeException("No se ha iniciado sesión"); + } + if (lista == null) { + throw new RuntimeException("El DataType recibido es null"); + } + if ( ! this.obtenerCategorias().containsKey(lista.getCategoria())) { + throw new RuntimeException("La categoria no existe"); + } + usuarioActual.agregarListaParticular(lista); + } + + @Override + public void altaUsuarioCanal(DtUsuario usr, DtCanal canal) { + // valida datos recibidos + if (usr == null){ + throw new RuntimeException("El DataType usuario no puede ser null"); + } + if (canal == null){ + throw new RuntimeException("El DataType canal no puede ser null"); + } + if (existeNickname(usr.getNickname())){ + throw new RuntimeException("El sistema ya tiene un usuario con ese nickname"); + } + if (existeEmail(usr.getCorreo())){ + throw new RuntimeException("El sistema ya tiene un usuario con ese correo"); + } + // obtiene las listas por defecto que el usuario debera crear + ArrayList<String> listasDefault = new ArrayList(); + for (Map.Entry<String, ListaPorDefecto> lpd : this.obtenerListasPorDefecto().entrySet()) { + listasDefault.add(lpd.getKey()); + } + // Crea al usuario + Usuario nuevoUsuario = new Usuario( + usr.getNickname(), + usr.getCorreo(), + usr.getFechaNacimiento(), + usr.getImagen(), + usr.getContrasenia(), + usr.getNombre(), + usr.getApellido(), + canal + ); + // persiste el usuario + try { + new UsuarioJpaController().create(nuevoUsuario); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + // Actualiza sus listas por defecto + nuevoUsuario.actualizarListasPorDefecto(listasDefault); + // Le inicia la sesion + this.iniciarSesionUsuario(usr.getNickname(), usr.getContrasenia()); + } + + @Override + public void altaVideo(DtVideo video) { + if(usuarioActual == null){ + throw new RuntimeException("No se a iniciado sesión"); + } + if (video == null) { + throw new RuntimeException("El video no puede ser null"); + } + if(!obtenerCategorias().containsKey(video.getCategoria())){ + throw new RuntimeException("La categoria no existe"); + } + usuarioActual.agregarVideoACanal(video); + } + + @Override + public void bajaUsuario() { + if(usuarioActual == null){ + throw new RuntimeException("No se a iniciado sesión"); + } + // Bienvenido al parche + // La verdad no sabia bien como implementar esta funcion, asi que mejor no reinventar la rueda, uso la que ya existe aunque implique llamar al otro controlador... + IAdmin ca = Fabrica.getInstancia().getIAdmin(); + ca.seleccionarUsuarioActual(usuarioActual.getNickname()); + cerrarSesion(); + ca.bajaUsuario(); + } + + @Override + public ArrayList<Object> buscar(String busqueda, Filtrado filtro, Ordenacion orden) { + //Cambiar la linea de abajo cuando se implemente la funcion de juan + // hecho + ArrayList<Object> ret = new BusquedaEnBDD().buscar(busqueda, filtro, orden); + + for (int i = 0; i < ret.size(); i++) { + + if (ret.get(i) instanceof DtVideo) { + DtVideo vid = (DtVideo) ret.get(i); + if (vid.getPrivacidad() == Privacidad.PRIVADO) { + try { + // Si el usuarioActual es null, o no posee un video con ese ID, se quita el elemento de la lista + this.usuarioActual.obtenerVideo(vid.getId()); + } catch (Exception e) { + ret.remove(i); + i--; + } + } + } else if (ret.get(i) instanceof DtListaDeReproduccion) { + DtListaDeReproduccion list = (DtListaDeReproduccion) ret.get(i); + if (list.getPrivacidad() == Privacidad.PRIVADO) { + if (list.getTipo() == TipoListaDeReproduccion.POR_DEFECTO) { + ret.remove(i); + i--; + } else { + try { + // Si el usuarioActual es null, o no posee una lista con ese ID, se quita el elemento de la lista + this.usuarioActual.obtenerListaDeReproduccion(list.getId()); + } catch (Exception e) { + ret.remove(i); + i--; + } + } + } + } else if (ret.get(i) instanceof DtCanal) { + DtCanal canal = (DtCanal) ret.get(i); + if (canal.getPrivacidad() == Privacidad.PRIVADO) { // Si el canal es privado... + if (sesionIniciada()) { // Si hay una sesion iniciada + if (this.usuarioActual.obtenerCanal().getId() != canal.getId()) { // si el canal no es el propio, se remueve + ret.remove(i); + i--; + } + // si no entro al if, el canal esprivado pero es propio, entonces no se quita + } else { // Si no hay una sesion iniciada, se quita el canal + ret.remove(i); + i--; + } + } + } + } + return ret; + } + + @Override + public ArrayList<Object> buscar(String categoria) { + //Cambiar la linea de abajo cuando se implemente la funcion de juan + // hecho + ArrayList<Object> ret = new BusquedaEnBDD().buscarPorCategoria(categoria); + + for (int i = 0; i < ret.size(); i++) { + + if (ret.get(i) instanceof DtVideo) { + DtVideo vid = (DtVideo) ret.get(i); + if (vid.getPrivacidad() == Privacidad.PRIVADO) { + try { + // Si el usuarioActual es null, o no posee un video con ese ID, se quita el elemento de la lista + this.usuarioActual.obtenerVideo(vid.getId()); + } catch (Exception e) { + ret.remove(i); + i--; + } + } + } else if (ret.get(i) instanceof DtListaDeReproduccion) { + DtListaDeReproduccion list = (DtListaDeReproduccion) ret.get(i); + if (list.getPrivacidad() == Privacidad.PRIVADO) { + if (list.getTipo() == TipoListaDeReproduccion.POR_DEFECTO) { + ret.remove(i); + i--; + } else { + try { + // Si el usuarioActual es null, o no posee una lista con ese ID, se quita el elemento de la lista + this.usuarioActual.obtenerListaDeReproduccion(list.getId()); + } catch (Exception e) { + ret.remove(i); + i--; + } + } + } + } + } + return ret; + } + + @Override + public void cerrarSesion() { + if(usuarioActual == null){ + throw new RuntimeException("No puedes cerrar sesión sin haberla iniciado"); + } + usuarioActual = null; + } + + + @Override + public boolean elUsuarioSeleccionadoEsElUsuarioActual(){ + if (usuarioActual == null || usuarioSeleccionado == null){ + return false; + } + return usuarioActual.getNickname().equals(usuarioSeleccionado.getNickname()); + } + + @Override + public boolean existeEmail(String email) { + if (email.equals("")){ + return false; + } + Map<String, Usuario> Usuarios = obtenerUsuarios(); + + for (Map.Entry<String, Usuario> u : Usuarios.entrySet()) { + if (u.getValue().getCorreo().equals(email)) { + return true; + } + } + + for (Usuario u : new UsuarioJpaController().findUsuarioEliminadoEntities()) { + if (u.getCorreo().equals(email)) { + return true; + } + } + return false; + } + + @Override + public boolean existeNickname(String nickname) { + if (nickname.equals("")){ + return false; + } + Map<String, Usuario> Usuarios = obtenerUsuarios(); + if (Usuarios.containsKey(nickname)) { + return true; + } + + for (Usuario u : new UsuarioJpaController().findUsuarioEliminadoEntities()) { + if (u.getNickname().equals(nickname)) { + return true; + } + } + return false; + } + + @Override + public boolean iniciarSesionUsuario(String nickOEmail, String contrasenia) { + if (usuarioActual != null){ + throw new RuntimeException("Ya hay un usuario con la sesión iniciada"); + } + Map<String, Usuario> usuarios = obtenerUsuarios(); + boolean usuarioEncontrado = false; + // Intenta obtener al usuario por nickname + usuarioActual = usuarios.get(nickOEmail); + if (usuarioActual == null){ // si NO lo encuentra por nickname + // Recorre todos los usuarios buscandolo por su correo + for (Map.Entry<String, Usuario> u : usuarios.entrySet()) { + // Si encuentra al usuario con ese correo + if (u.getValue().getCorreo().equals(nickOEmail)){ + usuarioActual = u.getValue(); + usuarioEncontrado = true; + break; + } + } + }else{ // si lo encuentra por nickname + usuarioEncontrado = true; + } + + if (usuarioEncontrado){ + if (usuarioActual.validarContrasenia(contrasenia)){ + return true; + }else{ + usuarioActual = null; + } + } + return false; + } + + @Override + public void liberarMemoriaListaDeReproduccion(){ + idListaSeleccionada = 0; + } + + @Override + public void liberarMemoriaUsuario(){ + usuarioSeleccionado = null; + } + + @Override + public void liberarMemoriaVideo(){ + idVideoSeleccionado = 0; + } + + @Override + public ArrayList<String> listarCategorias() { + Map<String, Categoria> categorias = obtenerCategorias(); + ArrayList<String> ret = new ArrayList<>(); + + for (Map.Entry<String, Categoria> entry : categorias.entrySet()) { + ret.add(entry.getKey()); + } + return ret; + } + + @Override + public ArrayList<DtComentario> listarComentariosDeVideo() { + if (this.usuarioSeleccionado == null) { + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + return usuarioSeleccionado.listarComentariosDeVideo(idVideoSeleccionado); + } + + @Override + public ArrayList<DtListaDeReproduccion> listarListasDeReproduccionDeUsuario(boolean incluirListasPorDefecto) { + if (this.usuarioSeleccionado == null) { + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + + ArrayList<DtListaDeReproduccion> ret = usuarioSeleccionado.listarListasDeReproduccionDeCanal(false); + + if (elUsuarioSeleccionadoEsElUsuarioActual()) { + // Se incluyen las privadas pero se quitan las POR_DEFECTO segun el parametro recibido + if (incluirListasPorDefecto) { + // se retorna todo + return ret; + } else { + // Se quitan las listas POR_DEFECTO + for (int i = 0; i < ret.size(); i++) { + if (ret.get(i).getTipo() == TipoListaDeReproduccion.POR_DEFECTO) { + ret.remove(i); + i--; + } + } + return ret; + } + } else { + // si no se ha iniciado sesion, o si se inicio sesion pero el usuarioSeleccionado no es el usuarioActual + // Solo se incluyen las listas Publicas, osea que se quitan todas las Privadas + for (int i = 0; i < ret.size(); i++) { + if (ret.get(i).getPrivacidad() == Privacidad.PRIVADO) { + ret.remove(i); + i--; + } + } + return ret; + } + } + + @Override + public ArrayList<DtUsuario> listarUsuarioSeguidores() { + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + return usuarioSeleccionado.listarUsuariosSeguidores(); + } + + @Override + public ArrayList<DtUsuario> listarUsuarioSeguidos() { + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + return usuarioSeleccionado.listarUsuariosSeguidos(); + } + + @Override + public ArrayList<DtUsuario> listarUsuarios() { + ArrayList<DtUsuario> ret = new ArrayList<>(); + for (Map.Entry<String, Usuario> usuario : obtenerUsuarios().entrySet()) { + ret.add(usuario.getValue().getDT()); + } + return ret; + } + + @Override + public ArrayList<DtVideo> listarVideosDeListaDeReproduccion() { + if (this.usuarioSeleccionado == null) { + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + ArrayList<DtVideo> ret = this.usuarioSeleccionado.listarVideosDeListaDeReproduccion(idListaSeleccionada); + if (elUsuarioSeleccionadoEsElUsuarioActual()) { + // incluye los videos privados si y solo si son del usuario actual + // dicho de otra manera: quita los videos privados que no son del usuarioActual + for (int i = 0; i < ret.size(); i++) { + if (ret.get(i).getPrivacidad() == Privacidad.PRIVADO) { + try { + this.usuarioActual.obtenerVideo(ret.get(i).getId()); + } catch (Exception e) { + ret.remove(i); + i--; + } + } + } + return ret; + } else { + // Se devuelven solo los videos Publicos + for (int i = 0; i < ret.size(); i++) { + if (ret.get(i).getPrivacidad() == Privacidad.PRIVADO) { + ret.remove(i); + i--; + } + } + return ret; + } + } + + @Override + public ArrayList<DtVideo> listarVideosDeUsuario() { + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + + if(elUsuarioSeleccionadoEsElUsuarioActual()){ + // se incluyen todos los videos + return usuarioSeleccionado.listarVideosDeCanal(); + }else{ + // Se quitan los videos privados + ArrayList<DtVideo> ret = this.usuarioSeleccionado.listarVideosDeCanal(); + for (int i = 0 ; i < ret.size(); i++) { + if(ret.get(i).getPrivacidad() == Privacidad.PRIVADO){ + ret.remove(i); + i--; + } + } + return ret; + } + } + + @Override + public void modificarListaDeReproduccion(DtListaDeReproduccion lista) { + /** + * Se modifican los datos de la lista idListaSeleccionada + */ + if (this.usuarioActual == null){ + throw new RuntimeException("No se ha iniciado sesión"); + } + if (idListaSeleccionada == 0){ + throw new RuntimeException("El sistema no tiene una lista de reproduccion seleccionado"); + } + if (lista == null){ + throw new RuntimeException("El DataType recibido es null"); + } + if (!this.obtenerCategorias().containsKey(lista.getCategoria())) { + throw new RuntimeException("La categoria no existe"); + } + // no confio en que el DataType recibido venga con el id del video correcto, + // asi que creo otro y con el idVideoSeleccionado por las dudas + DtListaDeReproduccion dtl = new DtListaDeReproduccion( + idListaSeleccionada, + lista.getNombre(), + lista.getPrivacidad(), + lista.getTipo(), + lista.getCategoria()); + usuarioActual.modificarListaDeReproduccionDeCanal(dtl); + } + + @Override + public void modificarUsuarioYCanal(DtUsuario usr, DtCanal canal) { + if (usuarioActual == null) { + throw new RuntimeException("No se a iniciado la sesión"); + } + if (usr == null) { + throw new RuntimeException("Todos los datos del Usuario no pueden ser vacios"); + } + if (canal == null) { + throw new RuntimeException("Todos los datos del Canal no pueden ser vacios"); + } + usuarioActual.modificar(usr, canal); + + try { + new UsuarioJpaController().edit(usuarioActual); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + @Override + public void modificarVideo(DtVideo video) { + if (usuarioActual == null) { + throw new RuntimeException("No se a iniciado la sesión"); + } + if (video == null) { + throw new RuntimeException("Todos los datos del video no pueden ser vacios"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + if (!this.obtenerCategorias().containsKey(video.getCategoria())) { + throw new RuntimeException("La categoria no existe"); + } + + DtVideo dtv = new DtVideo( + idVideoSeleccionado, + video.getNombre(), + video.getDescripcion(), + video.getDuracion(), + video.getFechaPublicacion(), + video.getUrlVideoOriginal(), + video.getPrivacidad(), + video.getCategoria(), + 0, 0); + usuarioActual.modificarVideoDeCanal(dtv); + } + + @Override + public DtCanal obtenerCanalDeUsuario() { + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + return usuarioSeleccionado.obtenerCanal(); + } + + @Override + public DtUsuario obtenerPropietarioDeVideo(int idVideo) { + // Esto es un parche, pero de los que nunca se despegan... + // A tiempos desesperados, medidas desesperadas + for (Map.Entry<String, Usuario> u : this.obtenerUsuarios().entrySet()){ + try { + u.getValue().obtenerVideo(idVideo); + return u.getValue().getDT(); + } catch (Exception e) { + // a seguir buscando + } + } + throw new RuntimeException("El iID de video no crresponde a ningun usuario"); + } + + @Override + public DtUsuario obtenerPropietarioDeListaDeReproduccion(int idLista) { + // Esto es un parche, pero de los que nunca se despegan... + // A tiempos desesperados, medidas desesperadas + for (Map.Entry<String, Usuario> u : this.obtenerUsuarios().entrySet()){ + try { + u.getValue().obtenerListaDeReproduccion(idLista); + return u.getValue().getDT(); + } catch (Exception e) { + // a seguir buscando + } + } + throw new RuntimeException("El iID de video no crresponde a ningun usuario"); + } + + @Override + public DtValoracion obtenerValoracionDada() { + if (usuarioActual == null) { + throw new RuntimeException("No se a iniciado la sesión"); + } + if(usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + return usuarioSeleccionado.obtenerValoracion(idVideoSeleccionado, usuarioActual.getNickname()); + } + + @Override + public ArrayList<DtValoracion> obtenerValoracionesDeVideo() { + if(usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + return usuarioSeleccionado.listarValoracionesDeVideo(idVideoSeleccionado); + } + + @Override + public void quitarVideoDeListaDeReproduccion(int idVideo) { + if(usuarioActual == null){ + throw new RuntimeException("No se a iniciado la sesión"); + } + if (idListaSeleccionada == 0){ + throw new RuntimeException("El sistema no tiene una lista de reproduccion seleccionada"); + } + usuarioActual.quitarVideoDeListaDeReproduccion(idListaSeleccionada,idVideo); + + } + + @Override + public void seguirUsuario() { + if (this.usuarioActual == null){ + throw new RuntimeException("No se ha iniciado sesión"); + } + if (this.usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + usuarioActual.agregarOQuitarSeguido(usuarioSeleccionado); + try { + new UsuarioJpaController().edit(usuarioSeleccionado); + new UsuarioJpaController().edit(usuarioActual); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + @Override + public DtUsuario seleccionarUsuario(String nickname) { + usuarioSeleccionado = obtenerUsuarios().get(nickname); + if (usuarioSeleccionado == null){ + throw new RuntimeException("No se encontro ningun usuario con ese nickname"); + } + return usuarioSeleccionado.getDT(); + } + + @Override + public DtListaDeReproduccion seleccionarListaDeReproduccion(int idLista) { + if (this.usuarioSeleccionado == null){ + String nick = this.obtenerPropietarioDeListaDeReproduccion(idLista).getNickname(); + this.seleccionarUsuario(nick); + } + DtListaDeReproduccion ret = usuarioSeleccionado.obtenerListaDeReproduccion(idLista); + idListaSeleccionada = idLista; + return ret; + } + + @Override + public DtVideo seleccionarVideo(int idVideo) { + if (this.usuarioSeleccionado == null){ + String nick = this.obtenerPropietarioDeVideo(idVideo).getNickname(); + this.seleccionarUsuario(nick); + } + DtVideo ret = usuarioSeleccionado.obtenerVideoDeCanal(idVideo); + idVideoSeleccionado = idVideo; + return ret; + } + + @Override + public boolean sesionIniciada(){ + return (usuarioActual != null); + } + + @Override + public boolean validarNuevaListaParticular(String nombre) { + if (this.usuarioActual == null){ + throw new RuntimeException("No se ha iniciado sesión"); + } + if (obtenerListasPorDefecto().containsKey(nombre)) { + return false; + } + if (idListaSeleccionada != 0){ + if (usuarioActual.obtenerListaDeReproduccion(idListaSeleccionada).getNombre().equals(nombre)){ + return true; + } + } + return usuarioActual.validarListaParticular(nombre); + } + + @Override + public boolean validarNuevoVideo(String nombre) { + if (this.usuarioActual == null){ + throw new RuntimeException("No se ha iniciado sesión"); + } + if (idVideoSeleccionado != 0){ + if (usuarioActual.obtenerVideo(idVideoSeleccionado).getNombre().equals(nombre)){ + return true; + } + } + return usuarioActual.validarListaParticular(nombre); + } + + @Override + public void valorarVideo(DtValoracion val) { + if (this.usuarioActual == null){ + throw new RuntimeException("No se ha iniciado sesión"); + } + if (usuarioSeleccionado == null){ + throw new RuntimeException("El sistema no tiene un usuario seleccionado"); + } + if (idVideoSeleccionado == 0){ + throw new RuntimeException("El sistema no tiene un video seleccionado"); + } + if (val == null){ + usuarioSeleccionado.quitarValoracion(idVideoSeleccionado, usuarioActual.getNickname()); + }else{ + usuarioSeleccionado.agregarModificarValoracionDeVideo(idVideoSeleccionado, val, usuarioActual); + } + } + +} diff --git a/UyTube_logica/src/Logica/DataType/DtCanal.java b/UyTube_logica/src/Logica/DataType/DtCanal.java new file mode 100644 index 0000000..40408a0 --- /dev/null +++ b/UyTube_logica/src/Logica/DataType/DtCanal.java @@ -0,0 +1,40 @@ +package Logica.DataType; + +import Logica.Enumerados.Privacidad; + +public class DtCanal { + private int id; + private String nombre; + private String descripcion; + private Privacidad privacidad; + + public DtCanal(int id, String nombre, String descripcion,Privacidad privacidad) { + this.id = id; + this.nombre = nombre; + this.descripcion = descripcion; + this.privacidad = privacidad; + } + + public int getId() { + return id; + } + + public String getNombre() { + return nombre; + } + + public String getDescripcion() { + return descripcion; + } + + public Privacidad getPrivacidad() { + return privacidad; + } + + @Override + public String toString() { + return "DtCanal{" + "id=" + id + ", nombre=" + nombre + ", descripcion=" + descripcion + ", privacidad=" + privacidad + '}'; + } + + +} diff --git a/UyTube_logica/src/Logica/DataType/DtCategoria.java b/UyTube_logica/src/Logica/DataType/DtCategoria.java new file mode 100644 index 0000000..21b7c92 --- /dev/null +++ b/UyTube_logica/src/Logica/DataType/DtCategoria.java @@ -0,0 +1,19 @@ +package Logica.DataType; + +public class DtCategoria { + private String nombre; + + public DtCategoria(String nombre) { + this.nombre = nombre; + } + + public String getNombre() { + return nombre; + } + + @Override + public String toString() { + return "DtCategoria{" + "nombre=" + nombre + '}'; + } + +} diff --git a/UyTube_logica/src/Logica/DataType/DtComentario.java b/UyTube_logica/src/Logica/DataType/DtComentario.java new file mode 100644 index 0000000..8df8fd3 --- /dev/null +++ b/UyTube_logica/src/Logica/DataType/DtComentario.java @@ -0,0 +1,46 @@ +package Logica.DataType; + +import java.sql.Date; + +public class DtComentario { + private int id; + private String nickname; + private Date fecha; + private String texto; + private int nivelSubComentario; + + public DtComentario(int id, String nickname, Date fecha, String texto, int nivelSubComentario) { + this.id = id; + this.nickname = nickname; + this.fecha = fecha; + this.texto = texto; + this.nivelSubComentario = nivelSubComentario; + } + + public int getId() { + return id; + } + + public String getNickname() { + return nickname; + } + + public Date getFecha() { + return fecha; + } + + public String getTexto() { + return texto; + } + + public int getNivelSubComentario() { + return nivelSubComentario; + } + + @Override + public String toString() { + return "DtComentario{" + "id=" + id + ", nickname=" + nickname + ", fecha=" + fecha + ", texto=" + texto + ", nivelSubComentario=" + nivelSubComentario + '}'; + } + + +} diff --git a/UyTube_logica/src/Logica/DataType/DtListaDeReproduccion.java b/UyTube_logica/src/Logica/DataType/DtListaDeReproduccion.java new file mode 100644 index 0000000..d617e63 --- /dev/null +++ b/UyTube_logica/src/Logica/DataType/DtListaDeReproduccion.java @@ -0,0 +1,56 @@ +package Logica.DataType; + +import Logica.Enumerados.Privacidad; +import Logica.Enumerados.TipoListaDeReproduccion; + +public class DtListaDeReproduccion { + private int id; + private String nombre; + private Privacidad privacidad; + private TipoListaDeReproduccion tipo; + private String categoria; + private String nombreDuenio; + + public DtListaDeReproduccion(int id, String nombre, Privacidad privacidad, TipoListaDeReproduccion tipo, String categoria) { + this.id = id; + this.nombre = nombre; + this.privacidad = privacidad; + this.tipo = tipo; + this.categoria = categoria; + } + + public DtListaDeReproduccion(int id, String nombre, Privacidad privacidad, TipoListaDeReproduccion tipo, String categoria, String nombreDuenio) { + this.id = id; + this.nombre = nombre; + this.privacidad = privacidad; + this.tipo = tipo; + this.categoria = categoria; + this.nombreDuenio = nombreDuenio; + } + + public int getId() { + return id; + } + + public String getNombre() { + return nombre; + } + + public Privacidad getPrivacidad() { + return privacidad; + } + + public TipoListaDeReproduccion getTipo() { + return tipo; + } + + public String getCategoria() { + return categoria; + } + + @Override + public String toString() { + return "DtListaDeReproduccion{" + "id=" + id + ", nombre=" + nombre + ", privacidad=" + privacidad + ", tipo=" + tipo + ", categoria=" + categoria + '}'; + } + +} diff --git a/UyTube_logica/src/Logica/DataType/DtPersona.java b/UyTube_logica/src/Logica/DataType/DtPersona.java new file mode 100644 index 0000000..11ec6aa --- /dev/null +++ b/UyTube_logica/src/Logica/DataType/DtPersona.java @@ -0,0 +1,33 @@ +package Logica.DataType; + +public abstract class DtPersona { + private String nombre; + private String apellido; + private String contrasenia; + + public DtPersona(String nombre, String apellido, String contrasenia) { + // esta clase es abstracta, eso se define arriba al hacer 'public abstract class...' + // aca se setean los valores recibidos + this.nombre = nombre; + this.apellido = apellido; + this.contrasenia = contrasenia; + } + + public String getNombre() { + return nombre; + } + + public String getApellido() { + return apellido; + } + + public String getContrasenia() { + return contrasenia; + } + + @Override + public String toString() { + return "DtPersona{" + "nombre=" + nombre + ", apellido=" + apellido + ", contrasenia=" + contrasenia + '}'; + } + +} diff --git a/UyTube_logica/src/Logica/DataType/DtUsuario.java b/UyTube_logica/src/Logica/DataType/DtUsuario.java new file mode 100644 index 0000000..10f8db0 --- /dev/null +++ b/UyTube_logica/src/Logica/DataType/DtUsuario.java @@ -0,0 +1,68 @@ +package Logica.DataType; + +import java.sql.Date; + +public class DtUsuario extends DtPersona{ + private String nickname; + private String correo; + private Date fechaNacimiento; + private Date fechaEliminado; + private String imagen; + private int cantSeguidores; + + public DtUsuario(String nickname, String contrasenia, String nombre, String apellido, String correo, Date fechaNacimiento, String imagen, int cantSeguidores) { + // Antes de leer esto, lee el constructor de DtPersona... + // para setear los atributos de la clase padre, se utiliza super(..) y + // sele asan los atributos que recibe el constructor de la clase padre + super(nombre, apellido, contrasenia); + // y ahora se setean los atributos propios + this.nickname = nickname; + this.correo = correo; + this.fechaNacimiento = fechaNacimiento; + this.imagen = imagen; + this.cantSeguidores = cantSeguidores; + } + + public DtUsuario(String nickname, String contrasenia, String nombre, String apellido, String correo, Date fechaNacimiento, Date fechaEliminado, String imagen, int cantSeguidores) { + // Antes de leer esto, lee el constructor de DtPersona... + // para setear los atributos de la clase padre, se utiliza super(..) y + // sele asan los atributos que recibe el constructor de la clase padre + super(nombre, apellido, contrasenia); + // y ahora se setean los atributos propios + this.nickname = nickname; + this.correo = correo; + this.fechaNacimiento = fechaNacimiento; + this.fechaEliminado = fechaEliminado; + this.imagen = imagen; + this.cantSeguidores = cantSeguidores; + } + + public String getNickname() { + return nickname; + } + + public String getCorreo() { + return correo; + } + + public Date getFechaNacimiento() { + return fechaNacimiento; + } + + public Date getFechaEliminado() { + return fechaEliminado; + } + + public String getImagen() { + return imagen; + } + + public int getCantSeguidores() { + return cantSeguidores; + } + + @Override + public String toString() { + return "DtUsuario{" + super.toString() + ", nickname=" + nickname + ", correo=" + correo + ", fechaNacimiento=" + fechaNacimiento + ", fechaEliminado=" + fechaEliminado + ", imagen=" + imagen + ", cantSeguidores=" + cantSeguidores + '}'; + } +} diff --git a/UyTube_logica/src/Logica/DataType/DtValoracion.java b/UyTube_logica/src/Logica/DataType/DtValoracion.java new file mode 100644 index 0000000..bb167e8 --- /dev/null +++ b/UyTube_logica/src/Logica/DataType/DtValoracion.java @@ -0,0 +1,25 @@ +package Logica.DataType; + +import Logica.Enumerados.TipoValoracion; + +public class DtValoracion { + private TipoValoracion val; + private String nickname; + + public DtValoracion(TipoValoracion val, String nickname) { + this.val = val; + this.nickname = nickname; + } + public String getNickname() { + return nickname; + } + public TipoValoracion getVal() { + return val; + } + + @Override + public String toString() { + return "DtValoracion{" + "val=" + val + ", nickname=" + nickname + '}'; + } + +} diff --git a/UyTube_logica/src/Logica/DataType/DtVideo.java b/UyTube_logica/src/Logica/DataType/DtVideo.java new file mode 100644 index 0000000..e7d99e7 --- /dev/null +++ b/UyTube_logica/src/Logica/DataType/DtVideo.java @@ -0,0 +1,92 @@ +package Logica.DataType; + +import java.sql.Time; +import java.sql.Date; +import Logica.Enumerados.Privacidad; + +public class DtVideo { + private int id; + private String nombre; + private String descripcion; + private Time duracion; + private Date fechaPublicacion; + private String urlVideoOriginal; + private Privacidad privacidad; + private String categoria; + private int cantLikes; + private int cantDisLikes; + private String nombreDuenio; + + public DtVideo(int id, String nombre, String descripcion, Time duracion, Date fechaPublicacion, String urlVideoOriginal, Privacidad privacidad, String categoria, int cantLikes, int cantDisLikes) { + this.id = id; + this.nombre = nombre; + this.descripcion = descripcion; + this.duracion = duracion; + this.fechaPublicacion = fechaPublicacion; + this.urlVideoOriginal = urlVideoOriginal; + this.privacidad = privacidad; + this.categoria = categoria; + this.cantLikes = cantLikes; + this.cantDisLikes = cantDisLikes; + } + + public DtVideo(int id, String nombre, String descripcion, Time duracion, Date fechaPublicacion, String urlVideoOriginal, Privacidad privacidad, String categoria, int cantLikes, int cantDisLikes, String nombreDuenio) { + this.id = id; + this.nombre = nombre; + this.descripcion = descripcion; + this.duracion = duracion; + this.fechaPublicacion = fechaPublicacion; + this.urlVideoOriginal = urlVideoOriginal; + this.privacidad = privacidad; + this.categoria = categoria; + this.cantLikes = cantLikes; + this.cantDisLikes = cantDisLikes; + this.nombreDuenio = nombreDuenio; + } + + public int getId() { + return id; + } + + public String getNombre() { + return nombre; + } + + public String getDescripcion() { + return descripcion; + } + + public Time getDuracion() { + return duracion; + } + + public Date getFechaPublicacion() { + return fechaPublicacion; + } + + public String getUrlVideoOriginal() { + return urlVideoOriginal; + } + + public Privacidad getPrivacidad() { + return privacidad; + } + + public String getCategoria() { + return categoria; + } + + public int getCantLikes() { + return cantLikes; + } + + public int getCantDisLikes() { + return cantDisLikes; + } + + @Override + public String toString() { + return "DtVideo{" + "id=" + id + ", nombre=" + nombre + ", descripcion=" + descripcion + ", duracion=" + duracion + ", fechaPublicacion=" + fechaPublicacion + ", urlVideoOriginal=" + urlVideoOriginal + ", privacidad=" + privacidad + ", categoria=" + categoria + ", cantLikes=" + cantLikes + ", cantDisLikes=" + cantDisLikes + '}'; + } + +} diff --git a/UyTube_logica/src/Logica/DatosDePrueba.java b/UyTube_logica/src/Logica/DatosDePrueba.java new file mode 100644 index 0000000..a5b6727 --- /dev/null +++ b/UyTube_logica/src/Logica/DatosDePrueba.java @@ -0,0 +1,54 @@ +package Logica; + +import JPAControllerClasses.BusquedaEnBDD; +import Logica.Clases.Canal; +import Logica.Clases.ListaDeReproduccion; +import Logica.Clases.Video; +import Logica.DataType.DtCanal; +import Logica.DataType.DtListaDeReproduccion; +import Logica.DataType.DtVideo; +import Logica.Enumerados.Filtrado; +import Logica.Enumerados.Ordenacion; +import Logica.Interfaces.IAdmin; +import Logica.Interfaces.IUsuario; +import java.util.ArrayList; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; + +public class DatosDePrueba { + private static IAdmin adminSys = null; + private static IUsuario usuSys = null; + + public static void main(String[] args) { + probar(); + System.exit(0); + } + + private static void probar(){ + Fabrica f = Fabrica.getInstancia(); + usuSys = f.getIUsuario(); + //CUsuario su = CUsuario.getInstancia(); + try { + + } catch (Exception e) { + System.out.println("//////////////////////////"); + System.out.println(e.getMessage()); + System.out.println("//////////////////////////"); + } + } + /* + private static void mostrarLista(ArrayList<Object> lst){ + // Prueba de búsqueda por categorÃa + for (Object o : lst){ + System.out.println("> " + o.toString()); + } + } + */ + private static void mostrarLista(Object lst){ + // Prueba de búsqueda por categorÃa + for (Object o : (ArrayList<Object>)lst){ + System.out.println("> " + o.toString()); + } + } +} diff --git a/UyTube_logica/src/Logica/Enumerados/Filtrado.java b/UyTube_logica/src/Logica/Enumerados/Filtrado.java new file mode 100644 index 0000000..dd06c81 --- /dev/null +++ b/UyTube_logica/src/Logica/Enumerados/Filtrado.java @@ -0,0 +1,5 @@ +package Logica.Enumerados; + +public enum Filtrado { + CANALES, VIDEOS, LISTAS_DE_REPRODUCCION, TODO +} diff --git a/UyTube_logica/src/Logica/Enumerados/Ordenacion.java b/UyTube_logica/src/Logica/Enumerados/Ordenacion.java new file mode 100644 index 0000000..0b06e2d --- /dev/null +++ b/UyTube_logica/src/Logica/Enumerados/Ordenacion.java @@ -0,0 +1,5 @@ +package Logica.Enumerados; + +public enum Ordenacion { + ALFABETICA_ASCENDENTE, FECHA_DESCENDENTE +} diff --git a/UyTube_logica/src/Logica/Enumerados/Privacidad.java b/UyTube_logica/src/Logica/Enumerados/Privacidad.java new file mode 100644 index 0000000..0c63d61 --- /dev/null +++ b/UyTube_logica/src/Logica/Enumerados/Privacidad.java @@ -0,0 +1,5 @@ +package Logica.Enumerados; + +public enum Privacidad { + PUBLICO, PRIVADO +} diff --git a/UyTube_logica/src/Logica/Enumerados/TipoListaDeReproduccion.java b/UyTube_logica/src/Logica/Enumerados/TipoListaDeReproduccion.java new file mode 100644 index 0000000..d5b5ca1 --- /dev/null +++ b/UyTube_logica/src/Logica/Enumerados/TipoListaDeReproduccion.java @@ -0,0 +1,5 @@ +package Logica.Enumerados; + +public enum TipoListaDeReproduccion { + POR_DEFECTO, PARTICULAR +} diff --git a/UyTube_logica/src/Logica/Enumerados/TipoValoracion.java b/UyTube_logica/src/Logica/Enumerados/TipoValoracion.java new file mode 100644 index 0000000..7334f06 --- /dev/null +++ b/UyTube_logica/src/Logica/Enumerados/TipoValoracion.java @@ -0,0 +1,5 @@ +package Logica.Enumerados; + +public enum TipoValoracion { + LIKE, DISLIKE +} diff --git a/UyTube_logica/src/Logica/Fabrica.java b/UyTube_logica/src/Logica/Fabrica.java new file mode 100644 index 0000000..2405684 --- /dev/null +++ b/UyTube_logica/src/Logica/Fabrica.java @@ -0,0 +1,33 @@ +package Logica; + +import Logica.Controladores.CAdmin; +import Logica.Controladores.CUsuario; +import Logica.Interfaces.IAdmin; +import Logica.Interfaces.IUsuario; + + +/* Clase Singleton */ +public class Fabrica { + private static Fabrica instancia = null; + + private Fabrica(){ + + } + + public static Fabrica getInstancia(){ + if( instancia == null ){ + instancia = new Fabrica(); + } + return instancia; + } + + /* Crea una unicia instancia del controlador CAdmin */ + public IAdmin getIAdmin(){ + return CAdmin.getInstancia(); + } + + /* Crea una unicia instancia del controlador CUsuario */ + public IUsuario getIUsuario(){ + return CUsuario.getInstancia(); + } +} diff --git a/UyTube_logica/src/Logica/Interfaces/IAdmin.java b/UyTube_logica/src/Logica/Interfaces/IAdmin.java new file mode 100644 index 0000000..11e3c77 --- /dev/null +++ b/UyTube_logica/src/Logica/Interfaces/IAdmin.java @@ -0,0 +1,361 @@ +package Logica.Interfaces; + +import Logica.DataType.*; +import java.util.ArrayList; + +public interface IAdmin { + + /** + * Agrega el video idVideoSeleccionado a la lista indicada + * + * @param idLista ID de la lista a la cual se agrega el video + */ + public void agregarVideoAListaDeReproduccion(int idLista); + + /** + * Crea la categoria con el nombre indicado + * + * @param categoria nombre de la categoria + */ + public void altaCategoria(String categoria); + + /** + * Comenta el video idVideoSeleccionado a nombre de usuarioActual + * + * @param dtCom Comentario a agregar + */ + public void altaComentario(DtComentario dtCom); + + /** + * Comenta el comentario con dicho ID a nombre de usuarioActual + * + * @param dtCom Comentario a agregar + * @param idComPadre ID del comentario a responder + */ + public void altaComentario(DtComentario dtCom, int idComPadre); + + /** + * Crea la lista de reproduccion para usuarioSeleccionado + * + * @param lista Lista particular a agregar + */ + public void altaListaDeReproduccionParticular(DtListaDeReproduccion lista); + + /** + * Crea la lista de reproduccion para todos los usuarios del sistema y la + * agrega listas por defecto (para que se creen al crear un usuario nuevo) + * + * @param lista Lista por defecto a agregar + */ + public void altaListaDeReproduccionPorDefecto(DtListaDeReproduccion lista); + + /** + * Crea un usuario y su canal a partir de los datos recibidos + * + * @param usr Datos del usuario a dar de alta + * @param canal Datos del canal del usuario + */ + public void altaUsuarioCanal(DtUsuario usr, DtCanal canal); + + /** + * Se ingresa la nueva valoracion dada por usuarioActual al video + * idVideoSeleccionado Si el usuario ya habia valorado, se actualiza la + * valoracion dada + * + * @param val Valoracion dada + */ + public void altaValoracion(DtValoracion val); + + /** + * Se crea un video nuevo en el canal de usuarioSeleccionado + * + * @param video Datos del video a dar de alta + */ + public void altaVideo(DtVideo video); + + /** + * Elimina el usuario actual seleccionado + */ + public void bajaUsuario(); + + /** + * Verifica si existe una categoria con el nombre recibido + * + * @param cat Nombre de la categoria a verificar + * @return true si la categoria ya existe + */ + public boolean existeCategoria(String cat); + + /** + * Verifica si existe un usuario con el mail recibido + * + * @param email Correo a verificar + * @return true si el correo ya esta en uso + */ + public boolean existeEmail(String email); + + /** + * Verifica si existe un usuario con el nickname recibido + * + * @param nickname Nickname a verificar + * @return true si el nickname ya esta en uso + */ + public boolean existeNickname(String nickname); + + /** + * Inicio de sesion para administradores + * + * @param id ID del administrador + * @param pass contraseña del administrador + * @return true si el ID existe y la contraseña es correcta + */ + public boolean iniciarSesionAdministrador(int id, String pass); + + /** + * Libera memoria de la lista de reproduccion seleccionada + */ + public void liberarMemoriaListaDeReproduccion(); + + /** + * Libera memoria del usuario seleccionado + */ + public void liberarMemoriaUsuario(); + + /** + * Libera memoria del usuario actual seleccionado + */ + public void liberarMemoriaUsuarioActual(); + + /** + * Libera memoria del video seleccionado + */ + public void liberarMemoriaVideo(); + + /** + * Devuelve todas las categorias existentes en el sistema + * + * @return Conjunto de nombres de categorÃas + */ + public ArrayList<String> listarCategorias(); + + /** + * Devuelve en forma ordenada (recursiva ) todos los comentarios de + * idVideoSeleccionado + * + * @return Conjunto de comentarios + */ + public ArrayList<DtComentario> listarComentariosDeVideo(); + + /** + * Devuelve todos las listas de reproduccion del sistema que pertenezcan a + * la categoria indicada + * + * @param cat Nombre de categorÃa + * @return Conjunto de listas de reproduccion + */ + public ArrayList<DtListaDeReproduccion> listarListasDeReproduccionEnCategoria(String cat); + + /** + * Devuelve todas las listas de reproduccion de usuarioSeleccionado o de + * usuarioActual segun el nickname indicado + * + * @param nickname Nickname del usuario seleccionado o del usuario actual + * @return Conjunto de listas de reproduccion + */ + public ArrayList<DtListaDeReproduccion> listarListasDeReproduccionDeUsuario(String nickname); + + /** + * Devuelve las listas de reproduccion particulares de usuarioSeleccionado + * + * @return Conjunto de listas de reproduccion + */ + public ArrayList<DtListaDeReproduccion> listarListasDeReproduccionParticularesDeUsuario(); + + /** + * Devuelve todos los usuarios que siguen a usuarioSeleccionado + * + * @return Conjunto de usuarios + */ + public ArrayList<DtUsuario> listarUsuarioSeguidores(); + + /** + * Devuelve todos los usuarios a quienes NO sigue usuarioSeleccionado + * + * @return Conjunto de usuarios + */ + public ArrayList<DtUsuario> listarUsuarioNoSeguidos(); + + /** + * Devuelve todos los usuarios a quienes sigue usuarioSeleccionado + * + * @return Conjunto de usuarios + */ + public ArrayList<DtUsuario> listarUsuarioSeguidos(); + + /** + * Devuelve todos los datos de todos los usuarios + * + * @return Conjunto de usuarios + */ + public ArrayList<DtUsuario> listarUsuarios(); + + /** + * Devuelve todos los datos de todos los usuarios eliminados + * + * @return Conjunto de usuarios + */ + public ArrayList<DtUsuario> listarUsuariosEliminados(); + + /** + * Devuelve todos los videos del sistema que pertenezcan a la categoria + * indicada + * + * @param cat Nombre de categorÃa + * @return Conjunto de videos + */ + public ArrayList<DtVideo> listarVideosEnCategoria(String cat); + + /** + * Devuelve todos los videos de usuarioSeleccionado + * + * @return Conjunto de videos + */ + public ArrayList<DtVideo> listarVideosDeUsuario(); + + /** + * Devuelve los videos de la lista de reproduccion idListaSeleccionada + * + * @return Conjunto de videos + */ + public ArrayList<DtVideo> listarVideosDeListaDeReproduccion(); + + /** + * Se modifican los datos de la lista idListaSeleccionada + * + * @param lista Datos de la lista de reproduccion + */ + public void modificarListaDeReproduccion(DtListaDeReproduccion lista); + + /** + * Se modifican los datos de usuarioActual y su canal + * + * @param usr Datos del usuario + * @param canal Datos del canal + */ + public void modificarUsuarioYCanal(DtUsuario usr, DtCanal canal); + + /** + * Se modifican los datos del video idVideoSeleccionado + * + * @param video Datos del video + */ + public void modificarVideo(DtVideo video); + + /** + * Busca entre todos los usuarios al propietario del video con ese ID + * + * @param idVideo ID del video + * @return Datos del usuario + */ + public DtUsuario obtenerPropietarioDeVideo(int idVideo); + + /** + * Devuelve los datos del canal del usuario en memoria usuarioSeleccionado + * + * @return Datos del canal + */ + public DtCanal obtenerCanalDeUsuario(); + + /** + * Devuelve las valoraciones de idVideoSeleccionado + * + * @return Conjunto de valoraciones + */ + public ArrayList<DtValoracion> obtenerValoracionesDeVideo(); + + /** + * Devuelve la valoracion dada por usuarioActual al video + * idVideoSeleccionado + * + * @return Valoracion dada o null si no ha valorado + */ + public DtValoracion obtenerValoracionDada(); + + /** + * Quita el video idVideoSeleccionado de la lista idListaSeleccionada + * @param idVideo ID del video + */ + public void quitarVideoDeListaDeReproduccion(int idVideo); + + /** + * Quita el video idVideoSeleccionado de la lista idListaSeleccionada + * + * @param nickname Nickname del usuario + * @return Datos del usuario + */ + public DtUsuario seleccionarUsuario(String nickname); + + /** + * El sistema recuerda un link al usuario como usuarioActual Devuelve los + * datos de usuarioActual + * + * @param nickname Nickname del usuario + * @return Datos del usuario + */ + public DtUsuario seleccionarUsuarioActual(String nickname); + + /** + * El sistema recuerda un link al usuario eliminado como usuarioSeleccionado + * Devuelve los datos de usuarioActual + * + * @param nickname Nickname del usuario + * @return Datos del usuario + */ + public DtUsuario seleccionarUsuarioEliminado(String nickname); + + /** + * El sistema recuerda el ID del video como idVideoSeleccionado Devuelve los + * datos del video seleccionado + * + * @param idVideo ID del video + * @return Datos del video + */ + public DtVideo seleccionarVideo(int idVideo); + + /** + * El sistema recuerda el ID de la lista como idListaSeleccionada Devuelve + * los datos de la lista de reproduccion seleccionada perteneciente a + * usuarioSeleccionado + * + * @param idLista ID de la lista de reproduccion + * @return Datos de la lista de reproduccion + */ + public DtListaDeReproduccion seleccionarListaDeReproduccion(int idLista); + + /** + * El usuario usuarioActual comienza a seguir a usuarioSeleccionado En caso + * de que este ya lo este siguiendo, lo deja de seguir + */ + public void seguirUsuario(); + + /** + * Devuelve false si usuarioSeleccionado posee una lista de reproducion con + * ese nombre + * + * @param nombre Nombre de la lista de reproduccion + * @return true si el usuario no posee ya una lista de reproduccion con ese + * nombre + */ + public boolean validarNuevaListaParticular(String nombre); + + /** + * Devuelve false si existe algun usuario en el sistema que posea una lista + * de reproduccion con ese nombre + * + * @param nombre Nombre de la lista de reproduccion + * @return true si ningun usuario posee una lista con ese nombre, y ademas + * no existen listas por defecto con ese nombre + */ + public boolean validarNuevaListaPorDefecto(String nombre); + +} diff --git a/UyTube_logica/src/Logica/Interfaces/IUsuario.java b/UyTube_logica/src/Logica/Interfaces/IUsuario.java new file mode 100644 index 0000000..e94a489 --- /dev/null +++ b/UyTube_logica/src/Logica/Interfaces/IUsuario.java @@ -0,0 +1,361 @@ +package Logica.Interfaces; + +import Logica.DataType.*; +import Logica.Enumerados.*; +import java.util.ArrayList; + +public interface IUsuario { + + /** + * Agrega el video idVideoSeleccionado que pertenece a usuarioSeleccionado, + * a la lista indicada perteneciente a usuarioActual + * + * @param idLista ID de la lista de reproduccon + */ + public void agregarVideoAListaDeReproduccion(int idLista); + + /** + * Comenta el video idVideoSeleccionado perteneciente a usuarioSeleccionado, + * a nombre de usuarioActual + * + * @param dtCom Comentario a agregar + */ + public void altaComentario(DtComentario dtCom); + + /** + * Comenta a nombre de usuarioActual, el comentario con el ID indicado, que + * pertenece al video idVideoSeleccionado, que pertenece a + * usuarioSeleccionado + * + * @param dtCom Comentario a agregar + * @param idComPadre ID del comentario a responder + */ + public void altaComentario(DtComentario dtCom, int idComPadre); + + /** + * Da de alta la lista de reproduccion particular para usuarioActual + * + * @param lista Lista particular a dar de alta + */ + public void altaListaDeReproduccionParticular(DtListaDeReproduccion lista); + + /** + * Da de alta un usuario y su canal a partir de los datos recibidos + * Luego de darlo de alta, el usuario queda con la sesión iniciada + * + * @param usr Datos del usuario a dar de alta + * @param canal Datos del canal del usuario + */ + public void altaUsuarioCanal(DtUsuario usr, DtCanal canal); + + /** + * Da de alta un video en el canal de usuarioActual + * + * @param video Datos del video a dar de alta + */ + public void altaVideo(DtVideo video); + + /** + * Da de baja al usuarioActual + * En el proceso se cierra la sesion + */ + public void bajaUsuario(); + + /** + * Busca contenido por coincidencia de texto en nombre o descripcion de los + * contenidos del sistema En el resultado se incluirán (si corresponde segun + * el filtrado) los videos privados del usuarioActual + * Si no se ha iniciado sesión, se muestran sólo los contenidos públicos + * + * @param busqueda Texto a buscar (si es vacÃo incluye todo el contenido) + * @param filtro Tipo de contenido en el cual se realizará la búsqueda + * @param orden Manera de ordenar el resultado de la búsqueda + * @return Resultado de la busqueda. Puede contener DtVideo, + * DtListaDeReproduccion y/o DtCanal. (para usar los elementos devueltos hay + * que castearlos) + */ + public ArrayList<Object> buscar(String busqueda, Filtrado filtro, Ordenacion orden); + + /** + * Busca contenido que pertenezcan a la categoria indicada El Resultado + * contendrá todos los contenidos publicos, y los contenidos privados del + * usuarioActual + * Si no se ha iniciado sesión, se muestran sólo los contenidos públicos + * + * @param categoria Nombre de la categoria a buscar + * @return Resultado de la busqueda. Puede contener DtVideo y + * DtListaDeReproduccion. (para usar los elementos devueltos hay que + * castearlos) + */ + public ArrayList<Object> buscar(String categoria); + + /** + * Cierra la sesión del usuarioActual (lo quita de memoria) + */ + public void cerrarSesion(); + + /** + * Como el nombre de la funcion lo indica, es para saber si el usuario que + * se ha seleccionado, es el usuario que tiene la inicion sesiada + * + * @return true si el usuario seleccionado es el usuario que inicio la + * sesion + */ + public boolean elUsuarioSeleccionadoEsElUsuarioActual(); + + /** + * Verifica si existe un usuario con el email indicado + * + * @param email Email a verificar + * @return true si el email ya esta en uso + */ + public boolean existeEmail(String email); + + /** + * Verifica si existe un usuario con el nickname indicado + * + * @param nickname Nickname a verificar + * @return true si el nickname ya esta en uso + */ + public boolean existeNickname(String nickname); + + /** + * Inicia la sesión del usuario. Si los datos son correctos se guarda al + * usuario como usuarioActual + * + * @param nickOEmail Nickname o email del usuario + * @param contrasenia Contraseña del usuario + * @return true si el usuario con el nickname o email existe y ademas la + * contrasenia es correcta + */ + public boolean iniciarSesionUsuario(String nickOEmail, String contrasenia); + + /** + * Libera memoria de la lista de reproduccion seleccionada + */ + public void liberarMemoriaListaDeReproduccion(); + + /** + * Libera memoria del usuario seleccionado + */ + public void liberarMemoriaUsuario(); + + /** + * Libera memoria del video seleccionado + */ + public void liberarMemoriaVideo(); + + /** + * Devuelve todas las categorias existentes en el sistema + * + * @return Conjunto de nombres de categorÃas + */ + public ArrayList<String> listarCategorias(); + + /** + * Devuelve en forma ordenada (recursiva) todos los comentarios de + * idVideoSeleccionado perteneciente a usuarioSeleccionado + * + * @return Conjunto de comentarios + */ + public ArrayList<DtComentario> listarComentariosDeVideo(); + + /** + * Devuelve las listas de reproduccion del usuarioSeleccionado Si el + * usuarioSeleccionado es el usuarioActual, y se incluyen las listas por + * defecto: devuelve todas las listas del usuarioSeleccionado. Si el + * usuarioSeleccionado es el usuarioActual, y NO se incluyen las listas por + * defecto: devuelve las listas particulares (privadas y publicas) del + * usuarioSeleccionado Si el usuarioSeleccionado NO ES el usuarioActual: + * devuelve solo las listas publicas + * + * @param incluirListasPorDefecto True si se desea incluir en el listado las + * listas por defecto + * @return Conjunto de listas de reproduccion + */ + public ArrayList<DtListaDeReproduccion> listarListasDeReproduccionDeUsuario(boolean incluirListasPorDefecto); + + /** + * Devuelve todos los usuarios que siguen a usuarioSeleccionado + * + * @return Conjunto de usuarios + */ + public ArrayList<DtUsuario> listarUsuarioSeguidores(); + + /** + * Devuelve todos los usuarios a los que sigue usuarioSeleccionado + * + * @return Conjunto de usuarios + */ + public ArrayList<DtUsuario> listarUsuarioSeguidos(); + + /** + * Devuelve todos los datos de todos los usuarios del sistema + * + * @return Conjunto de usuarios + */ + public ArrayList<DtUsuario> listarUsuarios(); + + /** + * Lista los videos contenidos en la lista idListaSeleccionada perteneciente + * al usuarioSeleccionado Si la lista contiene video privado que no + * pertenezca a usuarioActual, estos no se incluiran en el resultado + * Si no se ha iniciado sesion solo lista los videos publicos + * + * @return Conjunto de videos + */ + public ArrayList<DtVideo> listarVideosDeListaDeReproduccion(); + + /** + * Devuelve los videos públicos del usuarioSeleccionado Si el + * usuarioSeleccionado es el usuarioActual: Se incluirán los videos privados + * + * @return Conjunto de videos + */ + public ArrayList<DtVideo> listarVideosDeUsuario(); + + /** + * Se modifican los datos de la lista idListaSeleccionada que pertenece a + * usuarioActual + * + * @param lista Nuevos datos de la lista de reproduccion + */ + public void modificarListaDeReproduccion(DtListaDeReproduccion lista); + + /** + * Se modifican los datos de usuarioActual y su canal + * + * @param usr Nuevos datos del usuario + * @param canal Nuevos datos del canal + */ + public void modificarUsuarioYCanal(DtUsuario usr, DtCanal canal); + + /** + * Se modifican los datos del video idVideoSeleccionado que pertenece a + * usuarioActual + * + * @param video Nuevos datos del video + */ + public void modificarVideo(DtVideo video); + + /** + * Devuelve los datos del canal del usuarioSeleccionado + * + * @return Datos del canal + */ + public DtCanal obtenerCanalDeUsuario(); + + /** + * Busca entre todos los usuarios al propietario del video con el ID indicado + * + * @param idVideo ID del video + * @return Datos del usuario + */ + public DtUsuario obtenerPropietarioDeVideo(int idVideo); + + /** + * Busca entre todos los usuarios al propietario de la lista de reproduccion con el ID indicado + * + * @param idLista ID de la lista de reproduccion + * @return Datos del usuario + */ + public DtUsuario obtenerPropietarioDeListaDeReproduccion(int idLista); + + /** + * Devuelve la valoracion dada por usuarioActual al video + * idVideoSeleccionado perteneciente al usuarioSeleccionado + * + * @return Valoracion dada o null si no ha valorado + */ + public DtValoracion obtenerValoracionDada(); + + /** + * Devuelve las valoraciones de idVideoSeleccionado perteneciente a + * usuarioSeleccionado + * + * @return Conjunto de valoraciones + */ + public ArrayList<DtValoracion> obtenerValoracionesDeVideo(); + + /** + * Quita el video indicado de la lista idListaSeleccionada perteneciente al + * usuarioActual + * + * @param idVideo ID del video a quitar + */ + public void quitarVideoDeListaDeReproduccion(int idVideo); + + /** + * El usuarioActual comienza a seguir a usuarioSeleccionado En caso de que + * este ya lo esté siguiendo, lo deja de seguir + */ + public void seguirUsuario(); + + /** + * Selecciona un usuario del sistema El sistema recuerda el usuario como + * usuarioSeleccionado Devuelve los datos de usuarioSeleccionado + * + * @param nickname Nickname del usuario + * @return Datos del usuario + */ + public DtUsuario seleccionarUsuario(String nickname); + + /** + * Selecciona una lista de reproduccion del usuarioSeleccionado El sistema + * recuerda el ID de la lista como idListaSeleccionada. Si no hay un + * usuarioSeleccionado, el sistema busca al propietario de la lista y lo + * selecciona + * + * @param idLista ID de la lista de reproduccion + * @return Datos de la lista de reproduccion seleccionada + */ + public DtListaDeReproduccion seleccionarListaDeReproduccion(int idLista); + + /** + * Selecciona un video del usuarioSeleccionado El sistema recuerda el ID del + * video como idVideoSeleccionado. Si no hay un usuarioSeleccionado, el + * sistema busca al propietario del video y lo selecciona + * + * @param idVideo ID del video + * @return Datos del video seleccionado + */ + public DtVideo seleccionarVideo(int idVideo); + + /** + * Permite saber si hay una sesion iniciada + * @return true si hay una sesion iniciada + */ + public boolean sesionIniciada(); + + /** + * Verifica si el usuarioActual puede agregar una lista de reproduccion con + * el nombre indicado (Si hay una idListaSeleccionada y su nombre coincide + * con el nombre a verificar, retorna true) + * + * @param nombre Nombre de la lista de reproduccion + * @return true si el usuarioActual puede agregar una lista de reproduccion + * con ese nombre + */ + public boolean validarNuevaListaParticular(String nombre); + + /** + * Verifica si el usuarioActual puede agregar un video con el nombre + * indicado (Si hay un idVideoSeleccionado y su nombre coincide con el + * nombre a verificar, retorna true) + * + * @param nombre Nombre del video + * @return true si el usuarioActual puede agregar un video con ese nombre + */ + public boolean validarNuevoVideo(String nombre); + + /** + * Se ingresa la nueva valoracion dada por usuarioActual al video + * idVideoSeleccionado perteneciente a usuarioSeleccionado Si el usuario ya + * habia valorado, se actualiza la valoracion dada Si la valoracion recibida + * es null, se quita la valoracion dada + * + * @param val Valoracion dada (puede ser null) + */ + public void valorarVideo(DtValoracion val); + +} diff --git a/UyTube_logica/src/META-INF/persistence.xml b/UyTube_logica/src/META-INF/persistence.xml new file mode 100644 index 0000000..aa020d7 --- /dev/null +++ b/UyTube_logica/src/META-INF/persistence.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> + <persistence-unit name="UyTubePU" transaction-type="RESOURCE_LOCAL"> + <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> + <class>Logica.Clases.Administrador</class> + <class>Logica.Clases.Canal</class> + <class>Logica.Clases.Categoria</class> + <class>Logica.Clases.Comentario</class> + <class>Logica.Clases.ListaDeReproduccion</class> + <class>Logica.Clases.ListaPorDefecto</class> + <class>Logica.Clases.Persona</class> + <class>Logica.Clases.Usuario</class> + <class>Logica.Clases.Valoracion</class> + <class>Logica.Clases.Video</class> + <properties> + <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/UyTube"/> + <property name="javax.persistence.jdbc.user" value="postgres"/> + <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/> + <property name="javax.persistence.jdbc.password" value="1234"/> + <property name="javax.persistence.schema-generation.database.action" value="create"/> + </properties> + </persistence-unit> +</persistence> diff --git a/UyTube_logica/src/Presentacion/Categoria/frmAltaCategoria.form b/UyTube_logica/src/Presentacion/Categoria/frmAltaCategoria.form new file mode 100644 index 0000000..c576cb3 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Categoria/frmAltaCategoria.form @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Alta categoria"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <Events> + <EventHandler event="windowClosing" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowClosing"/> + </Events> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <Component id="jPanel23" min="-2" pref="350" max="-2" attributes="0"/> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" alignment="0" attributes="0"> + <Component id="jPanel23" min="-2" pref="212" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel23"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JTextField" name="txtNombre"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="focusGained" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="txtNombreFocusGained"/> + <EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtNombreKeyPressed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="80" width="290" height="30"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnAceptarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="200" y="150" width="120" height="40"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnCancelar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Cancelar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnCancelarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="150" width="120" height="40"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbMensaje"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="120" width="290" height="20"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel1"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Alta Categoría"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="110" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel122"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Ingrese una nueva Categoría:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="60" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Categoria/frmAltaCategoria.java b/UyTube_logica/src/Presentacion/Categoria/frmAltaCategoria.java new file mode 100644 index 0000000..1f513d6 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Categoria/frmAltaCategoria.java @@ -0,0 +1,236 @@ + +package Presentacion.Categoria; + +import Logica.DataType.DtCategoria; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import java.awt.Color; +import java.awt.event.KeyEvent; +import java.util.ArrayList; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import javax.swing.BorderFactory; +import javax.swing.JOptionPane; +import javax.swing.border.Border; +import javax.swing.plaf.ColorUIResource; + +public class frmAltaCategoria extends javax.swing.JDialog { + + IAdmin sys; + Border bordeDefault; + Color colorOK = new ColorUIResource(40,167,69); + Color colorError = new ColorUIResource(220,53,69); + Pattern patronCategoria= Pattern.compile("^([A-Za-zÑñÃáÉéÃÃÓóÚú\\d\\-_]+)\\s*([A-Za-zÑñÃáÉéÃÃÓóÚú\\d\\-_]+)\\s*" + + "([A-Za-zÑñÃáÉéÃÃÓóÚú\\d\\-_]+)\\s*([A-Za-zÑñÃáÉéÃÃÓóÚú\\d\\-_]+)\\s*([A-Za-zÑñÃáÉéÃÃÓóÚú\\d\\-_]+)\\s*([A-Za-zÑñÃáÉéÃÃÓóÚú\\d\\-_]+)$"); + String nuevaCategoria = new String(); + + public frmAltaCategoria(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + bordeDefault = txtNombre.getBorder(); + sys = Fabrica.getInstancia().getIAdmin(); + } + + private boolean validarCategoria(){ + nuevaCategoria = txtNombre.getText().trim().toUpperCase(); + if(nuevaCategoria.equals("")){ + lbMensaje.setText(" El campo nombre está vacÃo");//mensaje de error al adminstrador + cambiarColoresError(); + return false; + }else if(nuevaCategoria.length() > 30){ + lbMensaje.setText(" El nombre excede los 30 caracteres");//mensaje de error al adminstrador + cambiarColoresError(); + return false; + } + else if(!validarFormatoCategoria(nuevaCategoria)){ + lbMensaje.setText(" El fomrato es alfanumérico");//mensaje de error al adminstrador + cambiarColoresError(); + return false; + } + else{ + //Recorre todas las categorias existentes + try{ + for(String item : sys.listarCategorias()) { + //Si la categoria ya existe avisa al administrador + if(nuevaCategoria.equals(item)){ + lbMensaje.setText(" "+nuevaCategoria + " ya existe");//mensaje de error al adminstrador + cambiarColoresError(); + nuevaCategoria = ""; + return false; + } + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + } + return true; + } + + private boolean validarFormatoCategoria(String cat){ + Matcher mather = patronCategoria.matcher(cat); + if (mather.find() == true) { + return true; + } + return false; + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel23 = new javax.swing.JPanel(); + txtNombre = new javax.swing.JTextField(); + btnAceptar = new javax.swing.JButton(); + btnCancelar = new javax.swing.JButton(); + lbMensaje = new javax.swing.JLabel(); + jLabel1 = new javax.swing.JLabel(); + jLabel122 = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Alta categoria"); + setResizable(false); + addWindowListener(new java.awt.event.WindowAdapter() { + public void windowClosing(java.awt.event.WindowEvent evt) { + formWindowClosing(evt); + } + }); + + jPanel23.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + txtNombre.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + txtNombre.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusGained(java.awt.event.FocusEvent evt) { + txtNombreFocusGained(evt); + } + }); + txtNombre.addKeyListener(new java.awt.event.KeyAdapter() { + public void keyPressed(java.awt.event.KeyEvent evt) { + txtNombreKeyPressed(evt); + } + }); + jPanel23.add(txtNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 80, 290, 30)); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnAceptar.setText("Aceptar"); + btnAceptar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnAceptarActionPerformed(evt); + } + }); + jPanel23.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 150, 120, 40)); + + btnCancelar.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnCancelar.setText("Cancelar"); + btnCancelar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnCancelarActionPerformed(evt); + } + }); + jPanel23.add(btnCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 150, 120, 40)); + + lbMensaje.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jPanel23.add(lbMensaje, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 120, 290, 20)); + + jLabel1.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N + jLabel1.setText("Alta CategorÃa"); + jPanel23.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 20, -1, -1)); + + jLabel122.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel122.setText("Ingrese una nueva CategorÃa:"); + jPanel23.add(jLabel122, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 60, -1, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel23, javax.swing.GroupLayout.PREFERRED_SIZE, 350, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(jPanel23, javax.swing.GroupLayout.PREFERRED_SIZE, 212, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE)) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed + //Si la categoria supera la validacion la ingresa + if (validarCategoria()) { + try { + sys.altaCategoria(nuevaCategoria); + txtNombre.setText(""); + cambiarColoresOK(); + nuevaCategoria = ""; + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + } + }//GEN-LAST:event_btnAceptarActionPerformed + + private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed + txtNombre.setText(""); + lbMensaje.setText(""); + lbMensaje.setOpaque(false); + this.setVisible(false); + }//GEN-LAST:event_btnCancelarActionPerformed + + private void txtNombreFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtNombreFocusGained + // Cuando obtiene el foco los colores se resetean + txtNombre.setText(""); + lbMensaje.setText(""); + lbMensaje.setOpaque(false); + txtNombre.setBorder(bordeDefault); + }//GEN-LAST:event_txtNombreFocusGained + + private void cambiarColoresOK(){ + lbMensaje.setForeground(Color.white); //texto en rojo + lbMensaje.setBackground(colorOK); + lbMensaje.setText(" CategorÃa \"" + nuevaCategoria + "\" ingresada. OK");// + lbMensaje.setOpaque(true); + txtNombre.setBorder(bordeDefault); //Pone el borde con sus valores por default + } + + private void cambiarColoresError() { + lbMensaje.setBackground(colorError); + lbMensaje.setOpaque(true); + lbMensaje.setForeground(Color.WHITE); //texto en rojo + txtNombre.setBorder(BorderFactory.createLineBorder(colorError, 1));//color del borde rojo + } + + private void txtNombreKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNombreKeyPressed + // Al presionar ENTER + if (evt.getKeyCode() == KeyEvent.VK_ENTER) { + //Si la categoria supera la validacion la ingresa + if (validarCategoria()) { + try { + sys.altaCategoria(nuevaCategoria); + txtNombre.setText(""); + cambiarColoresOK(); + nuevaCategoria = ""; + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + } + } + }//GEN-LAST:event_txtNombreKeyPressed + + private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing + // Al cerrar el formulario se limpian los campos + txtNombre.setText(""); + lbMensaje.setText(""); + lbMensaje.setOpaque(false); + }//GEN-LAST:event_formWindowClosing + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnAceptar; + private javax.swing.JButton btnCancelar; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel122; + private javax.swing.JPanel jPanel23; + private javax.swing.JLabel lbMensaje; + private javax.swing.JTextField txtNombre; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Categoria/frmConsultaCategoria.form b/UyTube_logica/src/Presentacion/Categoria/frmConsultaCategoria.form new file mode 100644 index 0000000..de103ca --- /dev/null +++ b/UyTube_logica/src/Presentacion/Categoria/frmConsultaCategoria.form @@ -0,0 +1,178 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Consultar categoria"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <Component id="jPanel25" min="-2" pref="790" max="-2" attributes="0"/> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <Component id="jPanel25" min="-2" pref="410" max="-2" attributes="0"/> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel25"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JButton" name="cmdAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + </Properties> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="cmdAceptarMouseClicked"/> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="cmdAceptarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="543" y="323" width="220" height="70"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel123"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Categorías:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane47"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="40" width="220" height="350"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstCategorias"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstCategoriasValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel124"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Videos:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane48"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="280" y="40" width="240" height="350"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstListaReproducion"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel125"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="List. Reproducción:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="280" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane49"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="40" width="210" height="280"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstVideos"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Categoria/frmConsultaCategoria.java b/UyTube_logica/src/Presentacion/Categoria/frmConsultaCategoria.java new file mode 100644 index 0000000..4f1660b --- /dev/null +++ b/UyTube_logica/src/Presentacion/Categoria/frmConsultaCategoria.java @@ -0,0 +1,163 @@ + +package Presentacion.Categoria; + +import Logica.DataType.*; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; + +public class frmConsultaCategoria extends javax.swing.JDialog { + Fabrica f = Fabrica.getInstancia(); + IAdmin Sys = f.getIAdmin(); + String CategoriaActual; + public frmConsultaCategoria(java.awt.Frame parent, boolean modal) { + super(parent, modal); + try { + initComponents(); + this.setLocationRelativeTo(null); + ArrayList<String> ListaCategorias = Sys.listarCategorias(); + DefaultListModel modelo = new DefaultListModel(); + + for (String it : ListaCategorias) { + modelo.addElement(it); + } + lstCategorias.setModel(modelo); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + + + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel25 = new javax.swing.JPanel(); + cmdAceptar = new javax.swing.JButton(); + jLabel123 = new javax.swing.JLabel(); + jScrollPane47 = new javax.swing.JScrollPane(); + lstCategorias = new javax.swing.JList<>(); + jLabel124 = new javax.swing.JLabel(); + jScrollPane48 = new javax.swing.JScrollPane(); + lstListaReproducion = new javax.swing.JList<>(); + jLabel125 = new javax.swing.JLabel(); + jScrollPane49 = new javax.swing.JScrollPane(); + lstVideos = new javax.swing.JList<>(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Consultar categoria"); + setResizable(false); + + jPanel25.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + cmdAceptar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + cmdAceptar.setText("Aceptar"); + cmdAceptar.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + cmdAceptarMouseClicked(evt); + } + }); + cmdAceptar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cmdAceptarActionPerformed(evt); + } + }); + jPanel25.add(cmdAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(543, 323, 220, 70)); + + jLabel123.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel123.setText("CategorÃas:"); + jPanel25.add(jLabel123, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, -1, -1)); + + lstCategorias.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstCategoriasValueChanged(evt); + } + }); + jScrollPane47.setViewportView(lstCategorias); + + jPanel25.add(jScrollPane47, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 40, 220, 350)); + + jLabel124.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel124.setText("Videos:"); + jPanel25.add(jLabel124, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 10, -1, -1)); + + jScrollPane48.setViewportView(lstListaReproducion); + + jPanel25.add(jScrollPane48, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 40, 240, 350)); + + jLabel125.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel125.setText("List. Reproducción:"); + jPanel25.add(jLabel125, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 10, -1, -1)); + + jScrollPane49.setViewportView(lstVideos); + + jPanel25.add(jScrollPane49, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 40, 210, 280)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel25, javax.swing.GroupLayout.PREFERRED_SIZE, 790, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel25, javax.swing.GroupLayout.PREFERRED_SIZE, 410, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void cmdAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdAceptarActionPerformed + + }//GEN-LAST:event_cmdAceptarActionPerformed + + private void cmdAceptarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_cmdAceptarMouseClicked + dispose(); + }//GEN-LAST:event_cmdAceptarMouseClicked + + private void lstCategoriasValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstCategoriasValueChanged + try { + CategoriaActual = lstCategorias.getSelectedValue(); + + //Lista la listas de reproduccion de la categoria seleccionada + ArrayList<DtListaDeReproduccion> ListaRDeCategoria = Sys.listarListasDeReproduccionEnCategoria(CategoriaActual); + DefaultListModel modeloLR = new DefaultListModel(); + + for (DtListaDeReproduccion it : ListaRDeCategoria) { + modeloLR.addElement(it.getNombre()); + } + lstListaReproducion.setModel(modeloLR); + + //Lista los Videos de la categoria + ArrayList<DtVideo> VideosCategoria = Sys.listarVideosEnCategoria(CategoriaActual); + DefaultListModel modeloV = new DefaultListModel(); + + for (DtVideo it : VideosCategoria) { + modeloV.addElement(it.getNombre()); + } + lstVideos.setModel(modeloV); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null,(String)e.getMessage(), "Error:", JOptionPane.ERROR_MESSAGE); + } + + }//GEN-LAST:event_lstCategoriasValueChanged + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton cmdAceptar; + private javax.swing.JLabel jLabel123; + private javax.swing.JLabel jLabel124; + private javax.swing.JLabel jLabel125; + private javax.swing.JPanel jPanel25; + private javax.swing.JScrollPane jScrollPane47; + private javax.swing.JScrollPane jScrollPane48; + private javax.swing.JScrollPane jScrollPane49; + private javax.swing.JList<String> lstCategorias; + private javax.swing.JList<String> lstListaReproducion; + private javax.swing.JList<String> lstVideos; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Categoria/frmListarCategorias.form b/UyTube_logica/src/Presentacion/Categoria/frmListarCategorias.form new file mode 100644 index 0000000..7e699ed --- /dev/null +++ b/UyTube_logica/src/Presentacion/Categoria/frmListarCategorias.form @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Listar categoria"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <Component id="jPanel26" min="-2" pref="290" max="-2" attributes="0"/> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <Component id="jPanel26" min="-2" pref="380" max="-2" attributes="0"/> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel26"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnAceptarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="133" y="333" width="140" height="40"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane46"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="40" width="250" height="280"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstCategorias"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel122"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Categorías:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Categoria/frmListarCategorias.java b/UyTube_logica/src/Presentacion/Categoria/frmListarCategorias.java new file mode 100644 index 0000000..cac7c5b --- /dev/null +++ b/UyTube_logica/src/Presentacion/Categoria/frmListarCategorias.java @@ -0,0 +1,85 @@ + +package Presentacion.Categoria; + +import Logica.Controladores.CAdmin; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; + +public class frmListarCategorias extends javax.swing.JDialog { + + public frmListarCategorias(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + + try { + DefaultListModel modelo2 = new DefaultListModel(); + for (int i = 0; i < CAdmin.getInstancia().listarCategorias().size(); i++) { + modelo2.add(i, CAdmin.getInstancia().listarCategorias().get(i)); + } + lstCategorias.setModel(modelo2); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel26 = new javax.swing.JPanel(); + btnAceptar = new javax.swing.JButton(); + jScrollPane46 = new javax.swing.JScrollPane(); + lstCategorias = new javax.swing.JList<>(); + jLabel122 = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Listar categoria"); + setResizable(false); + + jPanel26.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnAceptar.setText("Aceptar"); + btnAceptar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnAceptarActionPerformed(evt); + } + }); + jPanel26.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(133, 333, 140, 40)); + + jScrollPane46.setViewportView(lstCategorias); + + jPanel26.add(jScrollPane46, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 40, 250, 280)); + + jLabel122.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel122.setText("CategorÃas:"); + jPanel26.add(jLabel122, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 10, -1, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel26, javax.swing.GroupLayout.PREFERRED_SIZE, 290, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel26, javax.swing.GroupLayout.PREFERRED_SIZE, 380, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed + dispose(); + }//GEN-LAST:event_btnAceptarActionPerformed + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnAceptar; + private javax.swing.JLabel jLabel122; + private javax.swing.JPanel jPanel26; + private javax.swing.JScrollPane jScrollPane46; + private javax.swing.JList<String> lstCategorias; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.form b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.form new file mode 100644 index 0000000..1643af7 --- /dev/null +++ b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.form @@ -0,0 +1,255 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Agregar video a lista de reproduccion"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="790" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel21" min="-2" pref="790" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="410" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel21" min="-2" pref="410" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel21"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Container class="javax.swing.JScrollPane" name="jScrollPane40"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="200" width="220" height="130"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstUsuariosL"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstUsuariosLValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Container class="javax.swing.JScrollPane" name="jScrollPane41"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="280" y="40" width="210" height="290"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstVideos"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstVideosValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Container class="javax.swing.JScrollPane" name="jScrollPane42"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="520" y="40" width="240" height="290"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstListasRep"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstListasRepValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel115"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Seleccionar propietario de lista:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="180" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel116"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Listas del usuario seleccionado:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="520" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel117"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Videos del usuario seleccionado:"/> + <Property name="toolTipText" type="java.lang.String" value=""/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="280" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnCancelar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Cancelar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnCancelarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="350" width="220" height="40"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Agregar"/> + <Property name="enabled" type="boolean" value="false"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnAceptarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="520" y="350" width="240" height="40"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane43"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="40" width="220" height="130"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstUsuariosV"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstUsuariosVValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel118"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Seleccionar propietario del video:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.java b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.java new file mode 100644 index 0000000..227d5b2 --- /dev/null +++ b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAgregarVideoAListaDeReproduccion.java @@ -0,0 +1,334 @@ +package Presentacion.ListaDeReproduccion; + +import Logica.DataType.DtCanal; +import Logica.DataType.DtListaDeReproduccion; +import Logica.DataType.DtUsuario; +import Logica.DataType.DtVideo; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; + + +public class frmAgregarVideoAListaDeReproduccion extends javax.swing.JDialog { + IAdmin sys; + ArrayList<DtVideo> listaDeVideos; + ArrayList<DtListaDeReproduccion> listaDeListasRep; + ArrayList<DtVideo> dtv; + boolean liberarMemoria; + public frmAgregarVideoAListaDeReproduccion(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + + + try { + // obtiene la instancia de sistema + sys = Fabrica.getInstancia().getIAdmin(); + + // lista usuarios en el JList + listarUsuarios(sys.listarUsuarios()); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + + + } + private void listarUsuarios(ArrayList<DtUsuario> ListaUsuarios){ + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : ListaUsuarios) { + modelo.addElement(it.getNickname()); + } + lstUsuariosV.setModel(modelo); + lstUsuariosL.setModel(modelo); + + } + + private boolean habilitarAceptar(){ + if(!(lstListasRep.isSelectionEmpty() || + lstVideos.isSelectionEmpty() || + lstUsuariosL.isSelectionEmpty() || + lstUsuariosV.isSelectionEmpty())) + { + return true; + }else{ + return false; + } + } + + + + private void listarVideos(ArrayList<DtVideo> ListaVideos){ + DefaultListModel modelo = new DefaultListModel(); + for (DtVideo it : ListaVideos) { + modelo.addElement(it.getNombre()); + } + lstVideos.setModel(modelo); + } + + private void listarListassRep(ArrayList<DtListaDeReproduccion> listaListasRep){ + DefaultListModel modelo = new DefaultListModel(); + for (DtListaDeReproduccion it : listaListasRep) { + modelo.addElement(it.getNombre()); + } + lstListasRep.setModel(modelo); + } + + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel21 = new javax.swing.JPanel(); + jScrollPane40 = new javax.swing.JScrollPane(); + lstUsuariosL = new javax.swing.JList<>(); + jScrollPane41 = new javax.swing.JScrollPane(); + lstVideos = new javax.swing.JList<>(); + jScrollPane42 = new javax.swing.JScrollPane(); + lstListasRep = new javax.swing.JList<>(); + jLabel115 = new javax.swing.JLabel(); + jLabel116 = new javax.swing.JLabel(); + jLabel117 = new javax.swing.JLabel(); + btnCancelar = new javax.swing.JButton(); + btnAceptar = new javax.swing.JButton(); + jScrollPane43 = new javax.swing.JScrollPane(); + lstUsuariosV = new javax.swing.JList<>(); + jLabel118 = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Agregar video a lista de reproduccion"); + setResizable(false); + + jPanel21.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + lstUsuariosL.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstUsuariosLValueChanged(evt); + } + }); + jScrollPane40.setViewportView(lstUsuariosL); + + jPanel21.add(jScrollPane40, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 200, 220, 130)); + + lstVideos.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstVideosValueChanged(evt); + } + }); + jScrollPane41.setViewportView(lstVideos); + + jPanel21.add(jScrollPane41, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 40, 210, 290)); + + lstListasRep.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstListasRepValueChanged(evt); + } + }); + jScrollPane42.setViewportView(lstListasRep); + + jPanel21.add(jScrollPane42, new org.netbeans.lib.awtextra.AbsoluteConstraints(520, 40, 240, 290)); + + jLabel115.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel115.setText("Seleccionar propietario de lista:"); + jPanel21.add(jLabel115, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 180, -1, -1)); + + jLabel116.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel116.setText("Listas del usuario seleccionado:"); + jPanel21.add(jLabel116, new org.netbeans.lib.awtextra.AbsoluteConstraints(520, 20, -1, -1)); + + jLabel117.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel117.setText("Videos del usuario seleccionado:"); + jLabel117.setToolTipText(""); + jPanel21.add(jLabel117, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 20, -1, -1)); + + btnCancelar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + btnCancelar.setText("Cancelar"); + btnCancelar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnCancelarActionPerformed(evt); + } + }); + jPanel21.add(btnCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 350, 220, 40)); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + btnAceptar.setText("Agregar"); + btnAceptar.setEnabled(false); + btnAceptar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnAceptarActionPerformed(evt); + } + }); + jPanel21.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(520, 350, 240, 40)); + + lstUsuariosV.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstUsuariosVValueChanged(evt); + } + }); + jScrollPane43.setViewportView(lstUsuariosV); + + jPanel21.add(jScrollPane43, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 40, 220, 130)); + + jLabel118.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel118.setText("Seleccionar propietario del video:"); + jPanel21.add(jLabel118, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 20, -1, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 790, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel21, javax.swing.GroupLayout.PREFERRED_SIZE, 790, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 410, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel21, javax.swing.GroupLayout.PREFERRED_SIZE, 410, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed + + dispose(); + }//GEN-LAST:event_btnCancelarActionPerformed + + private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed + try { + if (lstUsuariosL.isSelectionEmpty() && lstUsuariosV.isSelectionEmpty()) { + JOptionPane.showMessageDialog(null, "No ha indicado ningun usuario", "Error", JOptionPane.WARNING_MESSAGE); + } else { + if (lstUsuariosL.isSelectionEmpty()) { + JOptionPane.showMessageDialog(null, "Debe seleccionar el usuario propietario de la lista", "Error", JOptionPane.WARNING_MESSAGE); + } else { + if (lstUsuariosV.isSelectionEmpty()) { + JOptionPane.showMessageDialog(null, "Debe seleccionar el usuario propietario del video", "Error", JOptionPane.WARNING_MESSAGE); + } else { + if (lstVideos.isSelectionEmpty()) { + JOptionPane.showMessageDialog(null, "Debe seleccionar un video para agregar", "Error", JOptionPane.WARNING_MESSAGE); + } else { + if (lstListasRep.isSelectionEmpty()) { + JOptionPane.showMessageDialog(null, "Debe seleccionar una lista para agregarle el video", "Error", JOptionPane.WARNING_MESSAGE); + } else { + + + int idLista = listaDeListasRep.get(lstListasRep.getSelectedIndex()).getId(); + String nombreVideo = listaDeVideos.get(lstVideos.getSelectedIndex()).getNombre(); + String nombreLista = listaDeListasRep.get(lstListasRep.getSelectedIndex()).getNombre(); + sys.agregarVideoAListaDeReproduccion(idLista); + JOptionPane.showMessageDialog(null, "Se ha añadido el video '" + nombreVideo + "' a la lista '" + nombreLista + "'", "Listo", JOptionPane.INFORMATION_MESSAGE); + DefaultListModel model = (DefaultListModel) lstListasRep.getModel(); + model.clear(); + DefaultListModel model1 = (DefaultListModel) lstVideos.getModel(); + model1.clear(); + lstUsuariosL.clearSelection(); + lstUsuariosV.clearSelection(); + if(liberarMemoria){ + sys.liberarMemoriaUsuario(); + } + + sys.liberarMemoriaUsuarioActual(); + sys.liberarMemoriaVideo(); + } + } + } + } + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } //listaRep->agregarVideo->aceptar + }//GEN-LAST:event_btnAceptarActionPerformed + + + private void lstUsuariosVValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuariosVValueChanged + if (evt.getValueIsAdjusting()) return; + if (lstUsuariosV.getSelectedIndex()<0) return; + + try { + String nick = lstUsuariosV.getSelectedValue(); + DtUsuario dtu = sys.seleccionarUsuario(nick); + + listaDeVideos = sys.listarVideosDeUsuario(); + listarVideos(listaDeVideos); + btnAceptar.setEnabled(habilitarAceptar()); + + + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + + } // TODO add your handling code heres: + }//GEN-LAST:event_lstUsuariosVValueChanged + + private void lstUsuariosLValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuariosLValueChanged +if (evt.getValueIsAdjusting()) return; + if (lstUsuariosL.getSelectedIndex()<0) return; + + try { + String nick = lstUsuariosL.getSelectedValue(); + DtUsuario dtu = sys.seleccionarUsuarioActual(nick); + + listaDeListasRep = sys.listarListasDeReproduccionDeUsuario(nick); + listarListassRep(listaDeListasRep); + btnAceptar.setEnabled(habilitarAceptar()); + + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + + } // TODO add your handling code here: + }//GEN-LAST:event_lstUsuariosLValueChanged + + private void lstVideosValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstVideosValueChanged + try { + if(!(lstVideos.isSelectionEmpty())){ + int idVideo = listaDeVideos.get(lstVideos.getSelectedIndex()).getId(); + btnAceptar.setEnabled(habilitarAceptar()); + + sys.seleccionarVideo(idVideo); + + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } // TODO add your handling code here: + }//GEN-LAST:event_lstVideosValueChanged + + private void lstListasRepValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstListasRepValueChanged + btnAceptar.setEnabled(habilitarAceptar()); + + + // TODO add your handling code here: }//GEN-LAST:event_lstListasRepValueChanged + } + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnAceptar; + private javax.swing.JButton btnCancelar; + private javax.swing.JLabel jLabel115; + private javax.swing.JLabel jLabel116; + private javax.swing.JLabel jLabel117; + private javax.swing.JLabel jLabel118; + private javax.swing.JPanel jPanel21; + private javax.swing.JScrollPane jScrollPane40; + private javax.swing.JScrollPane jScrollPane41; + private javax.swing.JScrollPane jScrollPane42; + private javax.swing.JScrollPane jScrollPane43; + private javax.swing.JList<String> lstListasRep; + private javax.swing.JList<String> lstUsuariosL; + private javax.swing.JList<String> lstUsuariosV; + private javax.swing.JList<String> lstVideos; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.form b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.form new file mode 100644 index 0000000..3d948e6 --- /dev/null +++ b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.form @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <NonVisualComponents> + <Component class="javax.swing.ButtonGroup" name="GrupoTipo"> + </Component> + <Component class="javax.swing.ButtonGroup" name="GrupoPublicoPrivado"> + </Component> + </NonVisualComponents> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Nueva lista de reproduccion"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="810" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel17" min="-2" pref="810" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="430" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel17" min="-2" pref="430" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel17"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="jLabel100"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Nombre:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="410" y="40" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JTextField" name="txtNombre"> + <Events> + <EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtNombreKeyReleased"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="470" y="40" width="310" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JPanel" name="jPanel18"> + <Properties> + <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"> + <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo"> + <EtchetBorder/> + </Border> + </Property> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="80" width="750" height="270"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="jLabel101"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Usuarios:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane31"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="380" y="40" width="340" height="180"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstCategorias"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JRadioButton" name="rbPublica"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="GrupoPublicoPrivado"/> + </Property> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Pública"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rbPublicaActionPerformed"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="12"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="380" y="230" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JRadioButton" name="rbPrivada"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="GrupoPublicoPrivado"/> + </Property> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Privada"/> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="9"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="490" y="230" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel102"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Categoría:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="380" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane32"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="40" width="320" height="180"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstUsuarios"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstUsuariosValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + </SubComponents> + </Container> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnAceptarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="410" y="370" width="370" height="50"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnCancelar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Cancelar"/> + </Properties> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="btnCancelarMouseClicked"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="370" width="350" height="50"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JPanel" name="pnlTipo"> + <Properties> + <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"> + <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo"> + <TitledBorder title="Tipo"/> + </Border> + </Property> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="32" y="10" width="330" height="60"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JRadioButton" name="rbPorDefecto"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="GrupoTipo"/> + </Property> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Por defecto"/> + </Properties> + <Events> + <EventHandler event="itemStateChanged" listener="java.awt.event.ItemListener" parameters="java.awt.event.ItemEvent" handler="rbPorDefectoItemStateChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="9"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="200" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JRadioButton" name="rbParticular"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="GrupoTipo"/> + </Property> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Particular"/> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="9"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="50" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java new file mode 100644 index 0000000..b9d49b4 --- /dev/null +++ b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java @@ -0,0 +1,344 @@ +package Presentacion.ListaDeReproduccion; + +import Logica.DataType.*; +import Logica.Enumerados.Privacidad; +import Logica.Enumerados.TipoListaDeReproduccion; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; + +public class frmAltaListaDeReproduccion extends javax.swing.JDialog { + + Fabrica f = Fabrica.getInstancia(); + IAdmin Sys = f.getIAdmin(); + + public frmAltaListaDeReproduccion(java.awt.Frame parent, boolean modal) { + super(parent, modal); + + try { + initComponents(); + this.setLocationRelativeTo(null); + ArrayList<DtUsuario> ListaUsuarios = Sys.listarUsuarios(); + DefaultListModel modeloUsuario = new DefaultListModel(); + for (DtUsuario it : ListaUsuarios) { + modeloUsuario.addElement(it.getNickname()); + } + lstUsuarios.setModel(modeloUsuario); + ArrayList<String> ListaCategoria = Sys.listarCategorias(); + DefaultListModel modeloCategoria = new DefaultListModel(); + for (String it : ListaCategoria) { + modeloCategoria.addElement(it); + } + lstCategorias.setModel(modeloCategoria); + lstCategorias.setSelectedValue("UNDEFINED", true); + rbParticular.setSelected(true); + rbPublica.setSelected(true); + + btnAceptar.setEnabled(false); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + GrupoTipo = new javax.swing.ButtonGroup(); + GrupoPublicoPrivado = new javax.swing.ButtonGroup(); + jPanel17 = new javax.swing.JPanel(); + jLabel100 = new javax.swing.JLabel(); + txtNombre = new javax.swing.JTextField(); + jPanel18 = new javax.swing.JPanel(); + jLabel101 = new javax.swing.JLabel(); + jScrollPane31 = new javax.swing.JScrollPane(); + lstCategorias = new javax.swing.JList<>(); + rbPublica = new javax.swing.JRadioButton(); + rbPrivada = new javax.swing.JRadioButton(); + jLabel102 = new javax.swing.JLabel(); + jScrollPane32 = new javax.swing.JScrollPane(); + lstUsuarios = new javax.swing.JList<>(); + btnAceptar = new javax.swing.JButton(); + btnCancelar = new javax.swing.JButton(); + pnlTipo = new javax.swing.JPanel(); + rbPorDefecto = new javax.swing.JRadioButton(); + rbParticular = new javax.swing.JRadioButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Nueva lista de reproduccion"); + setResizable(false); + + jPanel17.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + jLabel100.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel100.setText("Nombre:"); + jPanel17.add(jLabel100, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 40, -1, -1)); + + txtNombre.addKeyListener(new java.awt.event.KeyAdapter() { + public void keyReleased(java.awt.event.KeyEvent evt) { + txtNombreKeyReleased(evt); + } + }); + jPanel17.add(txtNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(470, 40, 310, -1)); + + jPanel18.setBorder(javax.swing.BorderFactory.createEtchedBorder()); + jPanel18.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + jLabel101.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel101.setText("Usuarios:"); + jPanel18.add(jLabel101, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, -1, -1)); + + jScrollPane31.setViewportView(lstCategorias); + + jPanel18.add(jScrollPane31, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 40, 340, 180)); + + GrupoPublicoPrivado.add(rbPublica); + rbPublica.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + rbPublica.setText("Pública"); + rbPublica.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + rbPublicaActionPerformed(evt); + } + }); + jPanel18.add(rbPublica, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 230, -1, -1)); + + GrupoPublicoPrivado.add(rbPrivada); + rbPrivada.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + rbPrivada.setText("Privada"); + jPanel18.add(rbPrivada, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 230, -1, -1)); + + jLabel102.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel102.setText("CategorÃa:"); + jPanel18.add(jLabel102, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 10, -1, -1)); + + lstUsuarios.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstUsuariosValueChanged(evt); + } + }); + jScrollPane32.setViewportView(lstUsuarios); + + jPanel18.add(jScrollPane32, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 40, 320, 180)); + + jPanel17.add(jPanel18, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 80, 750, 270)); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + btnAceptar.setText("Aceptar"); + btnAceptar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnAceptarActionPerformed(evt); + } + }); + jPanel17.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 370, 370, 50)); + + btnCancelar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + btnCancelar.setText("Cancelar"); + btnCancelar.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + btnCancelarMouseClicked(evt); + } + }); + jPanel17.add(btnCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 370, 350, 50)); + + pnlTipo.setBorder(javax.swing.BorderFactory.createTitledBorder("Tipo")); + pnlTipo.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + pnlTipo.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + GrupoTipo.add(rbPorDefecto); + rbPorDefecto.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + rbPorDefecto.setText("Por defecto"); + rbPorDefecto.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + rbPorDefectoItemStateChanged(evt); + } + }); + pnlTipo.add(rbPorDefecto, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 20, -1, -1)); + + GrupoTipo.add(rbParticular); + rbParticular.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + rbParticular.setText("Particular"); + pnlTipo.add(rbParticular, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 20, -1, -1)); + + jPanel17.add(pnlTipo, new org.netbeans.lib.awtextra.AbsoluteConstraints(32, 10, 330, 60)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 810, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel17, javax.swing.GroupLayout.PREFERRED_SIZE, 810, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 430, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel17, javax.swing.GroupLayout.PREFERRED_SIZE, 430, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnCancelarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnCancelarMouseClicked + try { + Sys.liberarMemoriaUsuario(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + dispose(); + }//GEN-LAST:event_btnCancelarMouseClicked + + private void rbPorDefectoItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_rbPorDefectoItemStateChanged + if (rbPorDefecto.isSelected() == true) { + txtNombre.setText(""); + rbPublica.setEnabled(false); + rbPrivada.setSelected(true); + lstUsuarios.setEnabled(false); + lstCategorias.setEnabled(false); + lstCategorias.setSelectedValue("UNDEFINED", true); + lstUsuarios.clearSelection(); + btnAceptar.setEnabled(false); + } else { + txtNombre.setText(""); + rbPublica.setEnabled(true); + lstUsuarios.setEnabled(true); + lstCategorias.setEnabled(true); + lstCategorias.clearSelection(); + lstUsuarios.clearSelection(); + lstCategorias.setSelectedValue("UNDEFINED", true); + btnAceptar.setEnabled(false); + } + }//GEN-LAST:event_rbPorDefectoItemStateChanged + + private void txtNombreKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNombreKeyReleased + // mientras se escrbe el nombre de la lista + habilitarDeshabilitarBotonAceptar(); + }//GEN-LAST:event_txtNombreKeyReleased + + private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed + DtListaDeReproduccion lst = null; + Privacidad Priv = null; + + if (txtNombre.getText().isEmpty()) { + JOptionPane.showMessageDialog(null, "El nombre de la lista de reproduccion no puede ser vacio", "Avertencia:", JOptionPane.WARNING_MESSAGE); + return; + } + if (rbPrivada.isSelected() == true) { + Priv = Privacidad.PRIVADO; + } + if (rbPublica.isSelected() == true) { + Priv = Privacidad.PUBLICO; + } + + try { + + if (rbParticular.isSelected() == true) { + + if (lstUsuarios.getSelectedValue().isEmpty()) { + JOptionPane.showMessageDialog(null, "Debe seleccionar un usuario para continuar", "Avertencia:", JOptionPane.WARNING_MESSAGE); + return; + } + + Sys.seleccionarUsuario(lstUsuarios.getSelectedValue()); + + if (Sys.obtenerCanalDeUsuario().getPrivacidad() == Privacidad.PRIVADO && rbPublica.isSelected() == true) { + JOptionPane.showMessageDialog(null, "Un canal privado no puede tener una lista de reproducion publica", "Avertencia:", JOptionPane.WARNING_MESSAGE); + return; + } + + lst = new DtListaDeReproduccion(0, txtNombre.getText(), Priv, TipoListaDeReproduccion.PARTICULAR, lstCategorias.getSelectedValue()); + + + if (!Sys.validarNuevaListaParticular(lst.getNombre())) { + JOptionPane.showMessageDialog(null, "El usuario ya posee una lista de reproduccion con ese nombre", "Avertencia:", JOptionPane.WARNING_MESSAGE); + return; + } + + Sys.altaListaDeReproduccionParticular(lst); + JOptionPane.showMessageDialog(null, "Lista particular creada", "Informacion:", JOptionPane.INFORMATION_MESSAGE); + } + + if (rbPorDefecto.isSelected() == true) { + + lst = new DtListaDeReproduccion(0, txtNombre.getText(), Privacidad.PRIVADO, TipoListaDeReproduccion.POR_DEFECTO, "UNDEFINED"); + + if (!Sys.validarNuevaListaPorDefecto(lst.getNombre())) { + JOptionPane.showMessageDialog(null, "El nombre para la lista de reproduccion ya esta usado", "Avertencia:", JOptionPane.WARNING_MESSAGE); + return; + } + + Sys.altaListaDeReproduccionPorDefecto(lst); + JOptionPane.showMessageDialog(null, "Lista por defecto creada", "Informacion:", JOptionPane.INFORMATION_MESSAGE); + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + + try { + Sys.liberarMemoriaUsuario(); + txtNombre.setText(""); + dispose(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnAceptarActionPerformed + + private void lstUsuariosValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuariosValueChanged + // al seleccionar un usuario + habilitarDeshabilitarBotonAceptar(); + }//GEN-LAST:event_lstUsuariosValueChanged + + private void rbPublicaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rbPublicaActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_rbPublicaActionPerformed + + private void habilitarDeshabilitarBotonAceptar(){ + // si se selecciono para crear lista particular + if (rbParticular.isSelected()) { + if (lstUsuarios.getSelectedIndex() < 0 || lstCategorias.getSelectedIndex() < 0 || txtNombre.getText().isEmpty()) { + btnAceptar.setEnabled(false); + return; + } + btnAceptar.setEnabled(true); + } else { // si se selecciono para crear lista particular + if (txtNombre.getText().isEmpty()) { + btnAceptar.setEnabled(false); + return; + } + btnAceptar.setEnabled(true); + } + } + + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.ButtonGroup GrupoPublicoPrivado; + private javax.swing.ButtonGroup GrupoTipo; + private javax.swing.JButton btnAceptar; + private javax.swing.JButton btnCancelar; + private javax.swing.JLabel jLabel100; + private javax.swing.JLabel jLabel101; + private javax.swing.JLabel jLabel102; + private javax.swing.JPanel jPanel17; + private javax.swing.JPanel jPanel18; + private javax.swing.JScrollPane jScrollPane31; + private javax.swing.JScrollPane jScrollPane32; + private javax.swing.JList<String> lstCategorias; + private javax.swing.JList<String> lstUsuarios; + private javax.swing.JPanel pnlTipo; + public static javax.swing.JRadioButton rbParticular; + public static javax.swing.JRadioButton rbPorDefecto; + public static javax.swing.JRadioButton rbPrivada; + protected static javax.swing.JRadioButton rbPublica; + private javax.swing.JTextField txtNombre; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.form b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.form new file mode 100644 index 0000000..80e89cb --- /dev/null +++ b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.form @@ -0,0 +1,258 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Consultar lista de reproduccion"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="850" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel20" min="-2" pref="850" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="450" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel20" min="-2" pref="450" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel20"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="20" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + </Properties> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="btnAceptarMouseClicked"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="580" y="380" width="240" height="60"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel106"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Usuario"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel107"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Listas de Reproducción:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="290" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane37"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="50" width="240" height="320"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstUsuarios"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstUsuariosValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Container class="javax.swing.JScrollPane" name="jScrollPane38"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="580" y="50" width="240" height="320"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstVideos"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + <Property name="toolTipText" type="java.lang.String" value="Doble clic para ver mas informacion de video"/> + </Properties> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="lstVideosMouseClicked"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel108"> + <Properties> + <Property name="text" type="java.lang.String" value="Categoría:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="420" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel109"> + <Properties> + <Property name="text" type="java.lang.String" value="Privacidad:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="400" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel110"> + <Properties> + <Property name="text" type="java.lang.String" value="Tipo:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="380" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel111"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Videos:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="580" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane39"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="290" y="50" width="260" height="320"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstListasRep"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstListasRepValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="lbTipo"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="380" width="150" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbCategoria"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="420" width="200" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbPrivacidad"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="400" width="150" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java new file mode 100644 index 0000000..da802ad --- /dev/null +++ b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java @@ -0,0 +1,287 @@ +package Presentacion.ListaDeReproduccion; + +import Logica.DataType.*; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import Presentacion.Video.frmConsultaVideo; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; + +public class frmConsultaListaDeReproduccion extends javax.swing.JDialog { + + Fabrica f = Fabrica.getInstancia(); + IAdmin Sys = f.getIAdmin(); + ArrayList<DtListaDeReproduccion> ListasDeReproducion; + ArrayList<DtVideo> Listavideos; + boolean liberarMemoria; + + public frmConsultaListaDeReproduccion(java.awt.Frame parent, boolean modal) { + super(parent, modal); + liberarMemoria = true; + try { + initComponents(); + this.setLocationRelativeTo(null); + + ArrayList<DtUsuario> ListaUsuarios = Sys.listarUsuarios(); + DefaultListModel modeloUsuario = new DefaultListModel(); + + for (DtUsuario it : ListaUsuarios) { + modeloUsuario.addElement(it.getNickname()); + } + lstUsuarios.setModel(modeloUsuario); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + dispose(); + } + } + + public frmConsultaListaDeReproduccion(javax.swing.JDialog parent, boolean modal,String nickname, int idListaVideo) { + super(parent, modal); + liberarMemoria = false; + try { + initComponents(); + this.setLocationRelativeTo(null); + + ArrayList<DtUsuario> ListaUsuarios = Sys.listarUsuarios(); + DefaultListModel modeloUsuario = new DefaultListModel(); + + for (DtUsuario it : ListaUsuarios) { + modeloUsuario.addElement(it.getNickname()); + } + lstUsuarios.setModel(modeloUsuario); + + lstUsuarios.setSelectedValue(nickname, true); + + lstListasRep.setSelectedValue(Sys.seleccionarListaDeReproduccion(idListaVideo).getNombre(), true); + lstListasRep.setEnabled(false); + lstUsuarios.setEnabled(false); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + + } + + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel20 = new javax.swing.JPanel(); + btnAceptar = new javax.swing.JButton(); + jLabel106 = new javax.swing.JLabel(); + jLabel107 = new javax.swing.JLabel(); + jScrollPane37 = new javax.swing.JScrollPane(); + lstUsuarios = new javax.swing.JList<>(); + jScrollPane38 = new javax.swing.JScrollPane(); + lstVideos = new javax.swing.JList<>(); + jLabel108 = new javax.swing.JLabel(); + jLabel109 = new javax.swing.JLabel(); + jLabel110 = new javax.swing.JLabel(); + jLabel111 = new javax.swing.JLabel(); + jScrollPane39 = new javax.swing.JScrollPane(); + lstListasRep = new javax.swing.JList<>(); + lbTipo = new javax.swing.JLabel(); + lbCategoria = new javax.swing.JLabel(); + lbPrivacidad = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Consultar lista de reproduccion"); + setResizable(false); + + jPanel20.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 0, 20)); // NOI18N + btnAceptar.setText("Aceptar"); + btnAceptar.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + btnAceptarMouseClicked(evt); + } + }); + jPanel20.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 380, 240, 60)); + + jLabel106.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel106.setText("Usuario"); + jPanel20.add(jLabel106, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 20, -1, -1)); + + jLabel107.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel107.setText("Listas de Reproducción:"); + jPanel20.add(jLabel107, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 20, -1, -1)); + + lstUsuarios.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstUsuariosValueChanged(evt); + } + }); + jScrollPane37.setViewportView(lstUsuarios); + + jPanel20.add(jScrollPane37, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 50, 240, 320)); + + lstVideos.setToolTipText("Doble clic para ver mas informacion de video"); + lstVideos.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + lstVideosMouseClicked(evt); + } + }); + jScrollPane38.setViewportView(lstVideos); + + jPanel20.add(jScrollPane38, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 50, 240, 320)); + + jLabel108.setText("CategorÃa:"); + jPanel20.add(jLabel108, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 420, -1, -1)); + + jLabel109.setText("Privacidad:"); + jPanel20.add(jLabel109, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 400, -1, -1)); + + jLabel110.setText("Tipo:"); + jPanel20.add(jLabel110, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 380, -1, -1)); + + jLabel111.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel111.setText("Videos:"); + jPanel20.add(jLabel111, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 20, -1, -1)); + + lstListasRep.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstListasRepValueChanged(evt); + } + }); + jScrollPane39.setViewportView(lstListasRep); + + jPanel20.add(jScrollPane39, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 50, 260, 320)); + + lbTipo.setText(" "); + jPanel20.add(lbTipo, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 380, 150, -1)); + + lbCategoria.setText(" "); + jPanel20.add(lbCategoria, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 420, 200, -1)); + + lbPrivacidad.setText(" "); + jPanel20.add(lbPrivacidad, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 400, 150, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 850, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel20, javax.swing.GroupLayout.PREFERRED_SIZE, 850, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 450, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel20, javax.swing.GroupLayout.PREFERRED_SIZE, 450, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnAceptarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnAceptarMouseClicked + if (liberarMemoria){ + Sys.liberarMemoriaUsuario(); + } + Sys.liberarMemoriaListaDeReproduccion(); + Sys.liberarMemoriaVideo(); + + lstListasRep.clearSelection(); + lstUsuarios.clearSelection(); + lstVideos.clearSelection(); + lbCategoria.setText(""); + lbPrivacidad.setText(""); + lbTipo.setText(""); + + dispose(); + + }//GEN-LAST:event_btnAceptarMouseClicked + + private void lstUsuariosValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuariosValueChanged + //Cuando se seleccione algo el lstUsuarios + if (evt.getValueIsAdjusting()) return; + if (lstUsuarios.getSelectedIndex()<0) return; + lstVideos.setModel(new DefaultListModel()); + try { + DtUsuario dtUsu = Sys.seleccionarUsuario(lstUsuarios.getSelectedValue()); + + ListasDeReproducion = Sys.listarListasDeReproduccionDeUsuario(dtUsu.getNickname()); + + DefaultListModel modelo = new DefaultListModel(); + + for (DtListaDeReproduccion it : ListasDeReproducion) { + modelo.addElement(it.getNombre()); + } + lstListasRep.setModel(modelo); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstUsuariosValueChanged + + private void lstListasRepValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstListasRepValueChanged + if (evt.getValueIsAdjusting()) return; + if (lstListasRep.getSelectedIndex()<0) return; + + + try { + + DtListaDeReproduccion dtLista = ListasDeReproducion.get(lstListasRep.getSelectedIndex()); + int IDLista = dtLista.getId(); + Sys.seleccionarListaDeReproduccion(IDLista); + lbCategoria.setText(" " + dtLista.getCategoria()); + lbPrivacidad.setText(" " + dtLista.getPrivacidad().toString()); + if (dtLista.getTipo().toString() == "POR_DEFECTO") { + lbTipo.setText(" " + "POR DEFECTO"); + } + if (dtLista.getTipo().toString() == "PARTICULAR") { + lbTipo.setText(" " + "PARTICULAR"); + } + + Listavideos = Sys.listarVideosDeListaDeReproduccion(); + DefaultListModel modelo = new DefaultListModel(); + for (DtVideo it : Listavideos) { + modelo.addElement(it.getNombre()); + } + lstVideos.setModel(modelo); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + dispose(); + } + }//GEN-LAST:event_lstListasRepValueChanged + + private void lstVideosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lstVideosMouseClicked + if (evt.getClickCount() != 2) return; + if (lstVideos.getSelectedIndex()<0) return; + + int indexSeleccionado = lstVideos.getSelectedIndex(); + int idVideo = Listavideos.get(indexSeleccionado).getId(); + + DtUsuario Usu = Sys.obtenerPropietarioDeVideo(idVideo); + + new frmConsultaVideo(this, true, Usu.getNickname(), idVideo).setVisible(true); + }//GEN-LAST:event_lstVideosMouseClicked + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnAceptar; + private javax.swing.JLabel jLabel106; + private javax.swing.JLabel jLabel107; + private javax.swing.JLabel jLabel108; + private javax.swing.JLabel jLabel109; + private javax.swing.JLabel jLabel110; + private javax.swing.JLabel jLabel111; + private javax.swing.JPanel jPanel20; + private javax.swing.JScrollPane jScrollPane37; + private javax.swing.JScrollPane jScrollPane38; + private javax.swing.JScrollPane jScrollPane39; + private javax.swing.JLabel lbCategoria; + private javax.swing.JLabel lbPrivacidad; + private javax.swing.JLabel lbTipo; + private javax.swing.JList<String> lstListasRep; + private javax.swing.JList<String> lstUsuarios; + private javax.swing.JList<String> lstVideos; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.form b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.form new file mode 100644 index 0000000..74ed9c1 --- /dev/null +++ b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.form @@ -0,0 +1,181 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Consultar lista de reproduccion"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <Component id="jPanel20" min="-2" pref="333" max="-2" attributes="0"/> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <Component id="jPanel20" min="-2" pref="450" max="-2" attributes="0"/> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel20"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="20" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + </Properties> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="btnAceptarMouseClicked"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="370" width="290" height="60"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane38"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="140" width="290" height="210"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstVideos"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + <Property name="toolTipText" type="java.lang.String" value="Doble clic para ver mas informacion de video"/> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel108"> + <Properties> + <Property name="text" type="java.lang.String" value="Categoría:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="80" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel109"> + <Properties> + <Property name="text" type="java.lang.String" value="Privacidad:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="60" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel110"> + <Properties> + <Property name="text" type="java.lang.String" value="Nombre:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel111"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Videos de la lista:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="110" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbTipo"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="90" y="40" width="210" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbCategoria"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="90" y="80" width="210" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbPrivacidad"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="90" y="60" width="210" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel112"> + <Properties> + <Property name="text" type="java.lang.String" value="Tipo:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="40" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbNombre"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="90" y="20" width="210" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.java b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.java new file mode 100644 index 0000000..9e98ff9 --- /dev/null +++ b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccionEliminada.java @@ -0,0 +1,151 @@ +package Presentacion.ListaDeReproduccion; + +import Logica.DataType.*; +import Logica.Enumerados.TipoListaDeReproduccion; +import Logica.Enumerados.TipoValoracion; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import Presentacion.Video.frmConsultaVideo; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; + +public class frmConsultaListaDeReproduccionEliminada extends javax.swing.JDialog { + + Fabrica f = Fabrica.getInstancia(); + IAdmin Sys = f.getIAdmin(); + ArrayList<DtVideo> Listavideos; + + public frmConsultaListaDeReproduccionEliminada(javax.swing.JDialog parent, boolean modal, int idLista) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + + try { + // obtiene los datos de la lista a mostrar + DtListaDeReproduccion dtLista = Sys.seleccionarListaDeReproduccion(idLista); + ArrayList<DtVideo> listaVideos = Sys.listarVideosDeListaDeReproduccion(); + + // Lista los videos que contiene la lista de reproduccion + DefaultListModel modeloUsuario = new DefaultListModel(); + for (DtVideo it : listaVideos) { + modeloUsuario.addElement(it.getNombre()); + } + lstVideos.setModel(modeloUsuario); + + // carga los datos de la lista en los labels + lbNombre.setText(dtLista.getNombre()); + lbCategoria.setText(dtLista.getCategoria()); + lbPrivacidad.setText(dtLista.getPrivacidad().toString()); + if (dtLista.getTipo() == TipoListaDeReproduccion.POR_DEFECTO) { + lbTipo.setText("POR DEFECTO"); + } + if (dtLista.getTipo() == TipoListaDeReproduccion.PARTICULAR) { + lbTipo.setText("PARTICULAR"); + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + dispose(); + } + + } + + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel20 = new javax.swing.JPanel(); + btnAceptar = new javax.swing.JButton(); + jScrollPane38 = new javax.swing.JScrollPane(); + lstVideos = new javax.swing.JList<>(); + jLabel108 = new javax.swing.JLabel(); + jLabel109 = new javax.swing.JLabel(); + jLabel110 = new javax.swing.JLabel(); + jLabel111 = new javax.swing.JLabel(); + lbTipo = new javax.swing.JLabel(); + lbCategoria = new javax.swing.JLabel(); + lbPrivacidad = new javax.swing.JLabel(); + jLabel112 = new javax.swing.JLabel(); + lbNombre = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Consultar lista de reproduccion"); + setResizable(false); + + jPanel20.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 0, 20)); // NOI18N + btnAceptar.setText("Aceptar"); + btnAceptar.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + btnAceptarMouseClicked(evt); + } + }); + jPanel20.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 370, 290, 60)); + + lstVideos.setToolTipText("Doble clic para ver mas informacion de video"); + jScrollPane38.setViewportView(lstVideos); + + jPanel20.add(jScrollPane38, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 140, 290, 210)); + + jLabel108.setText("CategorÃa:"); + jPanel20.add(jLabel108, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 80, -1, -1)); + + jLabel109.setText("Privacidad:"); + jPanel20.add(jLabel109, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 60, -1, -1)); + + jLabel110.setText("Nombre:"); + jPanel20.add(jLabel110, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 20, -1, -1)); + + jLabel111.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel111.setText("Videos de la lista:"); + jPanel20.add(jLabel111, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 110, -1, -1)); + + lbTipo.setText(" "); + jPanel20.add(lbTipo, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 40, 210, -1)); + + lbCategoria.setText(" "); + jPanel20.add(lbCategoria, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 80, 210, -1)); + + lbPrivacidad.setText(" "); + jPanel20.add(lbPrivacidad, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 60, 210, -1)); + + jLabel112.setText("Tipo:"); + jPanel20.add(jLabel112, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 40, -1, -1)); + + lbNombre.setText(" "); + jPanel20.add(lbNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 20, 210, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel20, javax.swing.GroupLayout.PREFERRED_SIZE, 333, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel20, javax.swing.GroupLayout.PREFERRED_SIZE, 450, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnAceptarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnAceptarMouseClicked + dispose(); + }//GEN-LAST:event_btnAceptarMouseClicked + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnAceptar; + private javax.swing.JLabel jLabel108; + private javax.swing.JLabel jLabel109; + private javax.swing.JLabel jLabel110; + private javax.swing.JLabel jLabel111; + private javax.swing.JLabel jLabel112; + private javax.swing.JPanel jPanel20; + private javax.swing.JScrollPane jScrollPane38; + private javax.swing.JLabel lbCategoria; + private javax.swing.JLabel lbNombre; + private javax.swing.JLabel lbPrivacidad; + private javax.swing.JLabel lbTipo; + private javax.swing.JList<String> lstVideos; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.form b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.form new file mode 100644 index 0000000..52f6cf2 --- /dev/null +++ b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.form @@ -0,0 +1,246 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <NonVisualComponents> + <Component class="javax.swing.ButtonGroup" name="rbGrupo"> + </Component> + </NonVisualComponents> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Modificar lista de reproduccion"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="810" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel19" min="-2" pref="810" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="430" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel19" min="-2" pref="430" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel19"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Container class="javax.swing.JScrollPane" name="jScrollPane33"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="50" width="240" height="270"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstUsuarios"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstUsuariosValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel103"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Usuarios:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane34"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="50" width="240" height="270"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstCategorias"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel104"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Categoría:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JRadioButton" name="rbPrivada"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="rbGrupo"/> + </Property> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Privada"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="410" y="340" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JRadioButton" name="rbPublica"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="rbGrupo"/> + </Property> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Pública"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="330" y="340" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnCancelar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Cancelar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnCancelarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="350" width="240" height="50"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnAceptarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="350" width="240" height="50"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane35"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="280" y="50" width="250" height="270"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstListasRep"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstListasRepValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel106"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="List. Reproducción:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="280" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.java b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.java new file mode 100644 index 0000000..19c425b --- /dev/null +++ b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmModificarListaDeReproduccion.java @@ -0,0 +1,343 @@ +package Presentacion.ListaDeReproduccion; + +import Logica.DataType.DtListaDeReproduccion; +import Logica.DataType.DtUsuario; +import Logica.Enumerados.Privacidad; +import Logica.Enumerados.TipoListaDeReproduccion; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; + +public class frmModificarListaDeReproduccion extends javax.swing.JDialog { + + IAdmin sys; + ArrayList<DtListaDeReproduccion> listaDeListas; + boolean liberarMemoria; + + public frmModificarListaDeReproduccion(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + liberarMemoria = true; + try { + // obtiene la instancia de sistema + sys = Fabrica.getInstancia().getIAdmin(); + + // lista usuarios y categorias en JList + mostrarListaDeUsuarios(sys.listarUsuarios()); + mostrarListaDeCategorias(sys.listarCategorias()); + limpiarElementosDeVentana(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + dispose(); + } + } + + public frmModificarListaDeReproduccion(javax.swing.JDialog parent, boolean modal, String nickname) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + liberarMemoria = false; + try { + // obtiene la instancia de sistema + sys = Fabrica.getInstancia().getIAdmin(); + + // Limpio la ventana + limpiarElementosDeVentana(); + + // lista usuarios y categorias en JList + mostrarListaDeUsuarios(sys.listarUsuarios()); + mostrarListaDeCategorias(sys.listarCategorias()); + // Selecciono el usuario en la lista de usuarios + lstUsuarios.setSelectedValue(nickname, true); + // deshabilito la lista de usuarios para que no lo cambien + lstUsuarios.setEnabled(false); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + dispose(); + } + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + rbGrupo = new javax.swing.ButtonGroup(); + jPanel19 = new javax.swing.JPanel(); + jScrollPane33 = new javax.swing.JScrollPane(); + lstUsuarios = new javax.swing.JList<>(); + jLabel103 = new javax.swing.JLabel(); + jScrollPane34 = new javax.swing.JScrollPane(); + lstCategorias = new javax.swing.JList<>(); + jLabel104 = new javax.swing.JLabel(); + rbPrivada = new javax.swing.JRadioButton(); + rbPublica = new javax.swing.JRadioButton(); + btnCancelar = new javax.swing.JButton(); + btnAceptar = new javax.swing.JButton(); + jScrollPane35 = new javax.swing.JScrollPane(); + lstListasRep = new javax.swing.JList<>(); + jLabel106 = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Modificar lista de reproduccion"); + setResizable(false); + + jPanel19.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + lstUsuarios.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstUsuariosValueChanged(evt); + } + }); + jScrollPane33.setViewportView(lstUsuarios); + + jPanel19.add(jScrollPane33, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 50, 240, 270)); + + jLabel103.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel103.setText("Usuarios:"); + jPanel19.add(jLabel103, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 20, -1, -1)); + + jScrollPane34.setViewportView(lstCategorias); + + jPanel19.add(jScrollPane34, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 50, 240, 270)); + + jLabel104.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel104.setText("CategorÃa:"); + jPanel19.add(jLabel104, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 20, -1, -1)); + + rbGrupo.add(rbPrivada); + rbPrivada.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + rbPrivada.setText("Privada"); + jPanel19.add(rbPrivada, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 340, -1, -1)); + + rbGrupo.add(rbPublica); + rbPublica.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + rbPublica.setText("Pública"); + jPanel19.add(rbPublica, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 340, -1, -1)); + + btnCancelar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + btnCancelar.setText("Cancelar"); + btnCancelar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnCancelarActionPerformed(evt); + } + }); + jPanel19.add(btnCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 350, 240, 50)); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + btnAceptar.setText("Aceptar"); + btnAceptar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnAceptarActionPerformed(evt); + } + }); + jPanel19.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 350, 240, 50)); + + lstListasRep.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstListasRepValueChanged(evt); + } + }); + jScrollPane35.setViewportView(lstListasRep); + + jPanel19.add(jScrollPane35, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 50, 250, 270)); + + jLabel106.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel106.setText("List. Reproducción:"); + jPanel19.add(jLabel106, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 20, -1, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 810, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel19, javax.swing.GroupLayout.PREFERRED_SIZE, 810, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 430, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel19, javax.swing.GroupLayout.PREFERRED_SIZE, 430, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed + // Boton Cancelar + try { + if (liberarMemoria) { + sys.liberarMemoriaUsuario(); + } + sys.liberarMemoriaListaDeReproduccion(); + dispose(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnCancelarActionPerformed + + private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed + // Boton Aceptar + try { + // si se puso como publico pero el canal es privado, muestra error + if (rbPublica.isSelected() && sys.obtenerCanalDeUsuario().getPrivacidad() == Privacidad.PRIVADO) { + JOptionPane.showMessageDialog(null, "Un canal privado no puede tener listas de reproduccion públicas", "Error", JOptionPane.WARNING_MESSAGE); + return; + } + + // obtiene los datos para llenar el DataType y lo crea con ellos + int idLista; + String nuevoNombre = ""; + Privacidad nuevaPrivacidad; + String nuevaCat; + + idLista = listaDeListas.get(lstListasRep.getSelectedIndex()).getId(); + nuevoNombre = listaDeListas.get(lstListasRep.getSelectedIndex()).getNombre(); + + if (rbPublica.isSelected()){ + nuevaPrivacidad = Privacidad.PUBLICO; + }else{ + nuevaPrivacidad = Privacidad.PRIVADO; + } + nuevaCat = lstCategorias.getSelectedValue(); + + + DtListaDeReproduccion nuevosDatos = new DtListaDeReproduccion( + idLista, nuevoNombre, nuevaPrivacidad, TipoListaDeReproduccion.PARTICULAR, nuevaCat + ); + + sys.modificarListaDeReproduccion(nuevosDatos); + + if (liberarMemoria) { + sys.liberarMemoriaUsuario(); + } + sys.liberarMemoriaListaDeReproduccion(); + + JOptionPane.showMessageDialog(null, "Datos modificados correctamente", "OK", JOptionPane.INFORMATION_MESSAGE); + + dispose(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnAceptarActionPerformed + + private void lstUsuariosValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuariosValueChanged + // seleccionar usuario + if (evt.getValueIsAdjusting()) return; + if (lstUsuarios.getSelectedIndex()<0) return; + try { + limpiarElementosDeVentana(); + + String nick = lstUsuarios.getSelectedValue(); + sys.seleccionarUsuario(nick); + listaDeListas = sys.listarListasDeReproduccionParticularesDeUsuario(); + mostrarListaDeListasRep(listaDeListas); + //limpiarElementosDeVentana(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstUsuariosValueChanged + + private void lstListasRepValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstListasRepValueChanged + // Al seleccionar una Lista de reproduccion + if (evt.getValueIsAdjusting()) return; + if (lstListasRep.getSelectedIndex()<0) return; + try { + int indexSeleccionado = lstListasRep.getSelectedIndex(); + int idLista = listaDeListas.get(indexSeleccionado).getId(); + DtListaDeReproduccion dtl = sys.seleccionarListaDeReproduccion(idLista); + mostrarDatosDeListaRep(dtl); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstListasRepValueChanged + + /////////////////////////////////////////////////////////////////////////////////////////// + private void mostrarListaDeUsuarios(ArrayList<DtUsuario> ListaUsuarios){ + DefaultListModel modelo = new DefaultListModel(); + ListaUsuarios.forEach((it) -> { + modelo.addElement(it.getNickname()); + // a que te dejo re loco este for + }); + lstUsuarios.setModel(modelo); + + } + private void mostrarListaDeCategorias(ArrayList<String> l){ + DefaultListModel modelo = new DefaultListModel(); + l.forEach((it) -> { + modelo.addElement(it); + // a que te dejo re loco este for + }); + lstCategorias.setModel(modelo); + } + private void mostrarListaDeListasRep(ArrayList<DtListaDeReproduccion> l){ + DefaultListModel modelo = new DefaultListModel(); + for (DtListaDeReproduccion it : l) { + modelo.addElement(it.getNombre()); + } + lstListasRep.setModel(modelo); + } + private void mostrarDatosDeListaRep(DtListaDeReproduccion dtl) { + rbPublica.setEnabled(true); + rbPrivada.setEnabled(true); + + if (dtl.getPrivacidad() == Privacidad.PUBLICO) { + rbPublica.setSelected(true); + rbPrivada.setSelected(false); + } else { + rbPublica.setSelected(false); + rbPrivada.setSelected(true); + } + lstCategorias.setEnabled(true); + lstCategorias.setSelectedValue(dtl.getCategoria(), true); + btnAceptar.setEnabled(true); + } + private void limpiarElementosDeVentana(){ + // limpieza de radiobuttoms + rbGrupo.clearSelection(); + rbPublica.setEnabled(false); + rbPrivada.setEnabled(false); + + // limpieza de listas + lstListasRep.setModel(new DefaultListModel()); + + // desseleccionado de listas + lstCategorias.clearSelection(); + lstCategorias.setEnabled(false); + btnAceptar.setEnabled(false); + } + + /////////////////////////////////////////////////////////////////////////////////////////// + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnAceptar; + private javax.swing.JButton btnCancelar; + private javax.swing.JLabel jLabel103; + private javax.swing.JLabel jLabel104; + private javax.swing.JLabel jLabel106; + private javax.swing.JPanel jPanel19; + private javax.swing.JScrollPane jScrollPane33; + private javax.swing.JScrollPane jScrollPane34; + private javax.swing.JScrollPane jScrollPane35; + private javax.swing.JList<String> lstCategorias; + private javax.swing.JList<String> lstListasRep; + private javax.swing.JList<String> lstUsuarios; + private javax.swing.ButtonGroup rbGrupo; + private javax.swing.JRadioButton rbPrivada; + private javax.swing.JRadioButton rbPublica; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.form b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.form new file mode 100644 index 0000000..ad46cb5 --- /dev/null +++ b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.form @@ -0,0 +1,223 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Quitar video de lista de reproduccion"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="790" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel22" min="-2" pref="790" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="410" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel22" min="-2" pref="410" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel22"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="jLabel118"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Usuarios:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane43"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="30" width="180" height="300"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstUsuarios"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="12" style="0"/> + </Property> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstUsuariosValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JButton" name="btnCancelar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Cancelar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnCancelarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="350" width="180" height="40"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel119"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Videos:"/> + <Property name="toolTipText" type="java.lang.String" value=""/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="440" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane44"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="30" width="200" height="300"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstListasRep"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="12" style="0"/> + </Property> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstListasRepValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel120"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Listas de Reproducción:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane45"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="440" y="30" width="320" height="300"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstVideos"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="12" style="0"/> + </Property> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstVideosValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JButton" name="btnQuitar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Quitar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnQuitarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="440" y="350" width="320" height="40"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.java b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.java new file mode 100644 index 0000000..dfd8929 --- /dev/null +++ b/UyTube_logica/src/Presentacion/ListaDeReproduccion/frmQuitarVideoDeListaDeReproduccion.java @@ -0,0 +1,282 @@ +package Presentacion.ListaDeReproduccion; + +import Logica.Fabrica; +import Logica.DataType.DtListaDeReproduccion; +import Logica.DataType.DtUsuario; +import Logica.DataType.DtVideo; +import Logica.Interfaces.IAdmin; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; + +public class frmQuitarVideoDeListaDeReproduccion extends javax.swing.JDialog { + + private ArrayList<Integer> indexListRes = new ArrayList(); + private ArrayList<Integer> indexVideos = new ArrayList(); + IAdmin sys; + private String usrSeleccionado = "", nombreVideo=""; + private int idVideo, idListaRep; + + public frmQuitarVideoDeListaDeReproduccion(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + try { + sys = Fabrica.getInstancia().getIAdmin(); + cargarListaUsuarios();// Carga los usuarios al abrir el formulario + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + } + + private void limpiarLstVideos(){ + DefaultListModel modelo = new DefaultListModel(); + lstVideos.setModel(modelo); + indexVideos.clear(); + } + + private void cargarListaUsuarios(){ + DefaultListModel modelo = new DefaultListModel(); + try { + if(!sys.listarUsuarios().isEmpty()){ + for(DtUsuario elem: sys.listarUsuarios()){ + modelo.addElement(elem.getNickname()); + } + lstUsuarios.setModel(modelo); + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + + } + + private void cargarListaReproducion(ArrayList<DtListaDeReproduccion> dts){ + indexListRes.clear(); + DefaultListModel modelo = new DefaultListModel(); + if(!dts.isEmpty()){ + for (DtListaDeReproduccion elem : dts) { + modelo.addElement(elem.getNombre()); + indexListRes.add(elem.getId());//guarda todos los id en la misma posicion que el modelo + } + lstListasRep.setModel(modelo); + } + limpiarLstVideos(); + } + + private void cargarListaVideos(){ + indexVideos.clear(); + DefaultListModel modelo = new DefaultListModel(); + try { + for (DtVideo elem : sys.listarVideosDeListaDeReproduccion()) { + modelo.addElement(elem.getNombre()); + indexVideos.add(elem.getId());//guarda todos los id en la misma posicion que el modelo + } + lstVideos.setModel(modelo); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel22 = new javax.swing.JPanel(); + jLabel118 = new javax.swing.JLabel(); + jScrollPane43 = new javax.swing.JScrollPane(); + lstUsuarios = new javax.swing.JList<>(); + btnCancelar = new javax.swing.JButton(); + jLabel119 = new javax.swing.JLabel(); + jScrollPane44 = new javax.swing.JScrollPane(); + lstListasRep = new javax.swing.JList<>(); + jLabel120 = new javax.swing.JLabel(); + jScrollPane45 = new javax.swing.JScrollPane(); + lstVideos = new javax.swing.JList<>(); + btnQuitar = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Quitar video de lista de reproduccion"); + setResizable(false); + + jPanel22.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + jLabel118.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel118.setText("Usuarios:"); + jPanel22.add(jLabel118, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 10, -1, -1)); + + lstUsuarios.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N + lstUsuarios.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstUsuariosValueChanged(evt); + } + }); + jScrollPane43.setViewportView(lstUsuarios); + + jPanel22.add(jScrollPane43, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 30, 180, 300)); + + btnCancelar.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnCancelar.setText("Cancelar"); + btnCancelar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnCancelarActionPerformed(evt); + } + }); + jPanel22.add(btnCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 350, 180, 40)); + + jLabel119.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel119.setText("Videos:"); + jLabel119.setToolTipText(""); + jPanel22.add(jLabel119, new org.netbeans.lib.awtextra.AbsoluteConstraints(440, 10, -1, -1)); + + lstListasRep.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N + lstListasRep.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstListasRepValueChanged(evt); + } + }); + jScrollPane44.setViewportView(lstListasRep); + + jPanel22.add(jScrollPane44, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 30, 200, 300)); + + jLabel120.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel120.setText("Listas de Reproducción:"); + jPanel22.add(jLabel120, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 10, -1, -1)); + + lstVideos.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N + lstVideos.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstVideosValueChanged(evt); + } + }); + jScrollPane45.setViewportView(lstVideos); + + jPanel22.add(jScrollPane45, new org.netbeans.lib.awtextra.AbsoluteConstraints(440, 30, 320, 300)); + + btnQuitar.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnQuitar.setText("Quitar"); + btnQuitar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnQuitarActionPerformed(evt); + } + }); + jPanel22.add(btnQuitar, new org.netbeans.lib.awtextra.AbsoluteConstraints(440, 350, 320, 40)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 790, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel22, javax.swing.GroupLayout.PREFERRED_SIZE, 790, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 410, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel22, javax.swing.GroupLayout.PREFERRED_SIZE, 410, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed + //listaRep->quitarVideo->cancelar + try { + sys.liberarMemoriaUsuario(); + sys.liberarMemoriaListaDeReproduccion(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + }finally{ + dispose(); + } + }//GEN-LAST:event_btnCancelarActionPerformed + + private void btnQuitarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnQuitarActionPerformed + if (lstUsuarios.getSelectedIndex() < 0) { + JOptionPane.showMessageDialog(null, "Debe seleccionar un usuario", "Error", JOptionPane.WARNING_MESSAGE); + return; + } + if (lstListasRep.getSelectedIndex() < 0) { + JOptionPane.showMessageDialog(null, "Debe seleccionar una lista de reproducción", "Error", JOptionPane.WARNING_MESSAGE); + return; + } + if (lstVideos.getSelectedIndex() < 0) { + JOptionPane.showMessageDialog(null, "Debe seleccionar un video", "Error", JOptionPane.WARNING_MESSAGE); + return; + } + + try { + int opcion = JOptionPane.showConfirmDialog(null, + "¿Realmente desea quitar de la lista el video: \"" + nombreVideo + "\"?", + "Confirmar quitar Video", + JOptionPane.OK_CANCEL_OPTION, + JOptionPane.QUESTION_MESSAGE); + + if (opcion == 0) { + sys.quitarVideoDeListaDeReproduccion(idVideo);//Elimina el video de la lista de reproduccion + cargarListaVideos(); + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnQuitarActionPerformed + + private void lstUsuariosValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuariosValueChanged + + if (evt.getValueIsAdjusting()) return; + if (lstUsuarios.getSelectedIndex()<0) return; + usrSeleccionado = lstUsuarios.getSelectedValue(); // El sistema selecciona al usuario actual con el nickname seleccionado de la lista + try { + sys.seleccionarUsuario(usrSeleccionado); //Selecciona el usuarioSeleccionado + ArrayList<DtListaDeReproduccion> dtListRep = sys.listarListasDeReproduccionDeUsuario(usrSeleccionado); + cargarListaReproducion(dtListRep); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstUsuariosValueChanged + + private void lstListasRepValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstListasRepValueChanged + if (evt.getValueIsAdjusting()) return; + if (lstListasRep.getSelectedIndex()<0) return; + try { + idListaRep=indexListRes.get(lstListasRep.getSelectedIndex()); + DtListaDeReproduccion dt = sys.seleccionarListaDeReproduccion(idListaRep);//Selecciona la lista de reproduccion + cargarListaVideos(); //Carga los videos de la lista seleccionada + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstListasRepValueChanged + + private void lstVideosValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstVideosValueChanged + if (evt.getValueIsAdjusting()) return; + if (lstVideos.getSelectedIndex()<0) return; + idVideo = indexVideos.get(lstVideos.getSelectedIndex()); + nombreVideo = lstVideos.getSelectedValue(); + }//GEN-LAST:event_lstVideosValueChanged + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnCancelar; + private javax.swing.JButton btnQuitar; + private javax.swing.JLabel jLabel118; + private javax.swing.JLabel jLabel119; + private javax.swing.JLabel jLabel120; + private javax.swing.JPanel jPanel22; + private javax.swing.JScrollPane jScrollPane43; + private javax.swing.JScrollPane jScrollPane44; + private javax.swing.JScrollPane jScrollPane45; + private javax.swing.JList<String> lstListasRep; + private javax.swing.JList<String> lstUsuarios; + private javax.swing.JList<String> lstVideos; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Usuario/frmAltaUsuario.form b/UyTube_logica/src/Presentacion/Usuario/frmAltaUsuario.form new file mode 100644 index 0000000..147db8c --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmAltaUsuario.form @@ -0,0 +1,463 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.8" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <NonVisualComponents> + <Component class="javax.swing.ButtonGroup" name="GrupoPrivacidad"> + </Component> + </NonVisualComponents> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Alta usuario"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <Events> + <EventHandler event="windowClosed" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowClosed"/> + <EventHandler event="windowActivated" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowActivated"/> + </Events> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="980" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel2" min="-2" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="550" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel2" min="-2" pref="550" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel2"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JTextField" name="txtNikname"> + <Events> + <EventHandler event="focusGained" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="txtNiknameFocusGained"/> + <EventHandler event="focusLost" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="txtNiknameFocusLost"/> + <EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtNiknameKeyPressed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="50" width="270" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JTextField" name="txtNombre"> + <Events> + <EventHandler event="focusGained" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="txtNombreFocusGained"/> + <EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtNombreKeyPressed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="90" width="270" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JTextField" name="txtApellido"> + <Events> + <EventHandler event="focusGained" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="txtApellidoFocusGained"/> + <EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtApellidoKeyPressed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="130" width="270" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JTextField" name="txtEmail"> + <Events> + <EventHandler event="focusGained" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="txtEmailFocusGained"/> + <EventHandler event="keyTyped" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtEmailKeyTyped"/> + <EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtEmailKeyPressed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="170" width="300" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btSeleccionar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="18" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Selecionar Imágen"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btSeleccionarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="170" y="290" width="200" height="60"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JTextField" name="txtNombreCanal"> + <Events> + <EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtNombreCanalKeyPressed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="540" y="60" width="280" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane1"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="540" y="120" width="400" height="190"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JTextArea" name="txtDescripcion"> + <Properties> + <Property name="columns" type="int" value="20"/> + <Property name="rows" type="int" value="5"/> + </Properties> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JRadioButton" name="rdPrivado"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="GrupoPrivacidad"/> + </Property> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="selected" type="boolean" value="true"/> + <Property name="text" type="java.lang.String" value="Privado"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="710" y="350" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnCargar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value=" Cargar "/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnCargarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="580" y="460" width="360" height="60"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btCancelar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Cancelar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btCancelarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="463" width="340" height="60"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel1"> + <Properties> + <Property name="text" type="java.lang.String" value="Nickname"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="50" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel3"> + <Properties> + <Property name="text" type="java.lang.String" value="Nombre"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="90" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel6"> + <Properties> + <Property name="text" type="java.lang.String" value="Apellido"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="130" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel8"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Usuario"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="10" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel9"> + <Properties> + <Property name="text" type="java.lang.String" value="Seleccione la fecha de nacimiento"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="220" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel11"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Canal"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="450" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel12"> + <Properties> + <Property name="text" type="java.lang.String" value="Nombre"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="450" y="60" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel13"> + <Properties> + <Property name="text" type="java.lang.String" value="Descripción"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="450" y="120" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JSeparator" name="jSeparator1"> + <Properties> + <Property name="orientation" type="int" value="1"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="420" y="0" width="10" height="560"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel14"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="(Opcional)"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="840" y="60" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JRadioButton" name="rdPublico"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="GrupoPrivacidad"/> + </Property> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Público"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="540" y="350" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JSeparator" name="jSeparator2"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="0" y="30" width="980" height="10"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel10"> + <Properties> + <Property name="text" type="java.lang.String" value="Imágen"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="270" width="-1" height="20"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JPanel" name="pnlImagen"> + <Properties> + <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"> + <Border info="org.netbeans.modules.form.compat2.border.BevelBorderInfo"> + <BevelBorder/> + </Border> + </Property> + </Properties> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="pnlImagenMouseClicked"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="290" width="130" height="130"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="lbImg"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="5" y="5" width="120" height="120"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel42"> + <Properties> + <Property name="text" type="java.lang.String" value="Email"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="170" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel50"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="(Opcional)"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="90" y="270" width="90" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbMsjNikname"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="70" width="270" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbMsjNombre"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="110" width="270" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbMsjApellido"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="150" width="270" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbMsjEmail"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="190" width="300" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbMsjFecha"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="240" width="350" height="15"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnQuitarImagen"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="18" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Quitar Imágen"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnQuitarImagenActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="170" y="360" width="200" height="60"/> + </Constraint> + </Constraints> + </Component> + <Component class="com.toedter.calendar.JDateChooser" name="jDateChooser1"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="265" y="220" width="130" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Usuario/frmAltaUsuario.java b/UyTube_logica/src/Presentacion/Usuario/frmAltaUsuario.java new file mode 100644 index 0000000..f10d56f --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmAltaUsuario.java @@ -0,0 +1,723 @@ +package Presentacion.Usuario; + +import Logica.DataType.DtCanal; +import Logica.DataType.DtUsuario; +import Logica.Enumerados.Privacidad; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import com.sun.glass.events.KeyEvent; +import java.awt.Color; +import java.awt.Image; +import java.io.File; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; +import javax.swing.BorderFactory; +import javax.swing.ImageIcon; +import javax.swing.JFileChooser; +import javax.swing.JOptionPane; +import javax.swing.filechooser.FileNameExtensionFilter; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import javax.swing.JLabel; +import javax.swing.JTextField; +import javax.swing.border.Border; +import javax.swing.plaf.ColorUIResource; + + +public class frmAltaUsuario extends javax.swing.JDialog { + + // Patrón para validar el email + Pattern patronEmail = Pattern.compile("^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" + + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"); + + Pattern patronNombres= Pattern.compile("^([A-Za-zÑñÃáÉéÃÃÓóÚú]+)\\s*([A-Za-zÑñÃáÉéÃÃÓóÚú]+)\\s*" + + "([A-Za-zÑñÃáÉéÃÃÓóÚú]+)$"); + IAdmin sys; + Border bordeDefault; + Color colorOK = new ColorUIResource(40,167,69); + Color colorError = new ColorUIResource(220,53,69); + String nickname = new String(); + String email = new String(); + String nombre = new String(); + String apellido = new String(); + String nombreCanal = new String(); + String descripcion = new String(); + Privacidad privacidad = Privacidad.PRIVADO; + String ruta = ""; + + java.sql.Date fecha = null; + + public frmAltaUsuario(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + sys = Fabrica.getInstancia().getIAdmin(); + bordeDefault = txtNombre.getBorder(); + cargarImagenEnJlabel(lbImg, ""); + } + + private boolean validarFormatoEmail(String _email){ + Matcher mather = patronEmail.matcher(_email); + if (mather.find() == true) { + return true; + } + return false; + } + + private boolean validarNombres(String _nombre){ + Matcher mather = patronNombres.matcher(_nombre); + if (mather.find() == true) { + return true; + } + return false; + } + + private String convertirPrimeraEnMayusculas(String cadena){ + if (cadena.isEmpty()){ + return ""; + } + char[] caracteres = cadena.toCharArray(); + caracteres[0] = Character.toUpperCase(caracteres[0]);//Convierte el primer caracter de la primer palabra + // el -2 es para evitar una excepción al caernos del arreglo + for (int i = 0; i < cadena.length() - 2; i++) { // Es 'palabra' + if (caracteres[i] == ' ' || caracteres[i] == '.' || caracteres[i] == ',') { // Reemplazamos + caracteres[i + 1] = Character.toUpperCase(caracteres[i + 1]); + } + } + return new String(caracteres); + } + + private boolean validarTxt(JTextField txt, int largo,JLabel lb,String nombreCampo){ + try{ + if (txt.getText().isEmpty() || txt.getText().equals("")){ + lb.setText(" El campo "+nombreCampo+" es obligatorio"); + cambiarColoresError(txt, lb); + return false; + } + else if(txt.getText().length() > largo ){ + lb.setText(" El campo supera los "+largo+" caracteres"); + cambiarColoresError(txt, lb); + return false; + } + else if(nombreCampo.equals("Nickname")){ + if (sys.existeNickname(nickname)) { + lb.setText(" El nickname \"" + nickname + "\" ya existe"); + cambiarColoresError(txt, lb); + return false; + } + } + else if(nombreCampo.equals("Nombre") ){ + if(!validarNombres(nombre)){ + lb.setText(" El nombre \"" + nombre + "\" no es válido"); + cambiarColoresError(txt, lb); + return false; + } + } + else if(nombreCampo.equals("Apellido") ){ + if(!validarNombres(apellido)){ + lb.setText(" El apellido \"" + apellido + "\" no es válido"); + cambiarColoresError(txt, lb); + return false; + } + } + else if(nombreCampo.equals("Email")){ + if(!validarFormatoEmail(email)){ + lb.setText(" El Email no es válido"); + cambiarColoresError(txt, lb); + return false; + } + if(sys.existeEmail(email)){ + lb.setText(" El Email ya existe"); + cambiarColoresError(txt, lb); + return false; + } + } + + else{ + txt.setBorder(bordeDefault); + lb.setText(""); + lb.setOpaque(false); + } + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + return true; + } + + private void cambiarColoresError(JTextField txt, JLabel lb){ + lb.setOpaque(true); + lb.setForeground(Color.WHITE); + lb.setBackground(colorError); + txt.setBorder(BorderFactory.createLineBorder(colorError, 1)); + } + + private void limpiarCampos(){ + txtNikname.setText(""); + txtNombre.setText(""); + txtApellido.setText(""); + txtEmail.setText(""); + txtDescripcion.setText(""); + txtNombreCanal.setText(""); + jDateChooser1.setDate(null); + lbImg.setIcon(null); + ruta = ""; + cargarImagenEnJlabel(lbImg, ruta); + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + GrupoPrivacidad = new javax.swing.ButtonGroup(); + jPanel2 = new javax.swing.JPanel(); + txtNikname = new javax.swing.JTextField(); + txtNombre = new javax.swing.JTextField(); + txtApellido = new javax.swing.JTextField(); + txtEmail = new javax.swing.JTextField(); + btSeleccionar = new javax.swing.JButton(); + txtNombreCanal = new javax.swing.JTextField(); + jScrollPane1 = new javax.swing.JScrollPane(); + txtDescripcion = new javax.swing.JTextArea(); + rdPrivado = new javax.swing.JRadioButton(); + btnCargar = new javax.swing.JButton(); + btCancelar = new javax.swing.JButton(); + jLabel1 = new javax.swing.JLabel(); + jLabel3 = new javax.swing.JLabel(); + jLabel6 = new javax.swing.JLabel(); + jLabel8 = new javax.swing.JLabel(); + jLabel9 = new javax.swing.JLabel(); + jLabel11 = new javax.swing.JLabel(); + jLabel12 = new javax.swing.JLabel(); + jLabel13 = new javax.swing.JLabel(); + jSeparator1 = new javax.swing.JSeparator(); + jLabel14 = new javax.swing.JLabel(); + rdPublico = new javax.swing.JRadioButton(); + jSeparator2 = new javax.swing.JSeparator(); + jLabel10 = new javax.swing.JLabel(); + pnlImagen = new javax.swing.JPanel(); + lbImg = new javax.swing.JLabel(); + jLabel42 = new javax.swing.JLabel(); + jLabel50 = new javax.swing.JLabel(); + lbMsjNikname = new javax.swing.JLabel(); + lbMsjNombre = new javax.swing.JLabel(); + lbMsjApellido = new javax.swing.JLabel(); + lbMsjEmail = new javax.swing.JLabel(); + lbMsjFecha = new javax.swing.JLabel(); + btnQuitarImagen = new javax.swing.JButton(); + jDateChooser1 = new com.toedter.calendar.JDateChooser(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Alta usuario"); + setResizable(false); + addWindowListener(new java.awt.event.WindowAdapter() { + public void windowClosed(java.awt.event.WindowEvent evt) { + formWindowClosed(evt); + } + public void windowActivated(java.awt.event.WindowEvent evt) { + formWindowActivated(evt); + } + }); + + jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + txtNikname.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusGained(java.awt.event.FocusEvent evt) { + txtNiknameFocusGained(evt); + } + public void focusLost(java.awt.event.FocusEvent evt) { + txtNiknameFocusLost(evt); + } + }); + txtNikname.addKeyListener(new java.awt.event.KeyAdapter() { + public void keyPressed(java.awt.event.KeyEvent evt) { + txtNiknameKeyPressed(evt); + } + }); + jPanel2.add(txtNikname, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 50, 270, -1)); + + txtNombre.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusGained(java.awt.event.FocusEvent evt) { + txtNombreFocusGained(evt); + } + }); + txtNombre.addKeyListener(new java.awt.event.KeyAdapter() { + public void keyPressed(java.awt.event.KeyEvent evt) { + txtNombreKeyPressed(evt); + } + }); + jPanel2.add(txtNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 90, 270, -1)); + + txtApellido.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusGained(java.awt.event.FocusEvent evt) { + txtApellidoFocusGained(evt); + } + }); + txtApellido.addKeyListener(new java.awt.event.KeyAdapter() { + public void keyPressed(java.awt.event.KeyEvent evt) { + txtApellidoKeyPressed(evt); + } + }); + jPanel2.add(txtApellido, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 130, 270, -1)); + + txtEmail.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusGained(java.awt.event.FocusEvent evt) { + txtEmailFocusGained(evt); + } + }); + txtEmail.addKeyListener(new java.awt.event.KeyAdapter() { + public void keyTyped(java.awt.event.KeyEvent evt) { + txtEmailKeyTyped(evt); + } + public void keyPressed(java.awt.event.KeyEvent evt) { + txtEmailKeyPressed(evt); + } + }); + jPanel2.add(txtEmail, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 170, 300, -1)); + + btSeleccionar.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + btSeleccionar.setText("Selecionar Imágen"); + btSeleccionar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btSeleccionarActionPerformed(evt); + } + }); + jPanel2.add(btSeleccionar, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 290, 200, 60)); + + txtNombreCanal.addKeyListener(new java.awt.event.KeyAdapter() { + public void keyPressed(java.awt.event.KeyEvent evt) { + txtNombreCanalKeyPressed(evt); + } + }); + jPanel2.add(txtNombreCanal, new org.netbeans.lib.awtextra.AbsoluteConstraints(540, 60, 280, -1)); + + txtDescripcion.setColumns(20); + txtDescripcion.setRows(5); + jScrollPane1.setViewportView(txtDescripcion); + + jPanel2.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(540, 120, 400, 190)); + + GrupoPrivacidad.add(rdPrivado); + rdPrivado.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + rdPrivado.setSelected(true); + rdPrivado.setText("Privado"); + jPanel2.add(rdPrivado, new org.netbeans.lib.awtextra.AbsoluteConstraints(710, 350, -1, -1)); + + btnCargar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + btnCargar.setText(" Cargar "); + btnCargar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnCargarActionPerformed(evt); + } + }); + jPanel2.add(btnCargar, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 460, 360, 60)); + + btCancelar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + btCancelar.setText("Cancelar"); + btCancelar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btCancelarActionPerformed(evt); + } + }); + jPanel2.add(btCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 463, 340, 60)); + + jLabel1.setText("Nickname"); + jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 50, -1, -1)); + + jLabel3.setText("Nombre"); + jPanel2.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 90, -1, -1)); + + jLabel6.setText("Apellido"); + jPanel2.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 130, -1, -1)); + + jLabel8.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + jLabel8.setText("Usuario"); + jPanel2.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, -1, -1)); + + jLabel9.setText("Seleccione la fecha de nacimiento"); + jPanel2.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 220, -1, -1)); + + jLabel11.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + jLabel11.setText("Canal"); + jPanel2.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 10, -1, -1)); + + jLabel12.setText("Nombre"); + jPanel2.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 60, -1, -1)); + + jLabel13.setText("Descripción"); + jPanel2.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 120, -1, -1)); + + jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL); + jPanel2.add(jSeparator1, new org.netbeans.lib.awtextra.AbsoluteConstraints(420, 0, 10, 560)); + + jLabel14.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel14.setText("(Opcional)"); + jPanel2.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(840, 60, -1, -1)); + + GrupoPrivacidad.add(rdPublico); + rdPublico.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + rdPublico.setText("Público"); + jPanel2.add(rdPublico, new org.netbeans.lib.awtextra.AbsoluteConstraints(540, 350, -1, -1)); + jPanel2.add(jSeparator2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 30, 980, 10)); + + jLabel10.setText("Imágen"); + jPanel2.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 270, -1, 20)); + + pnlImagen.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED)); + pnlImagen.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + pnlImagenMouseClicked(evt); + } + }); + pnlImagen.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + pnlImagen.add(lbImg, new org.netbeans.lib.awtextra.AbsoluteConstraints(5, 5, 120, 120)); + + jPanel2.add(pnlImagen, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 290, 130, 130)); + + jLabel42.setText("Email"); + jPanel2.add(jLabel42, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 170, -1, -1)); + + jLabel50.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel50.setText("(Opcional)"); + jPanel2.add(jLabel50, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 270, 90, -1)); + jPanel2.add(lbMsjNikname, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 70, 270, -1)); + jPanel2.add(lbMsjNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 110, 270, -1)); + jPanel2.add(lbMsjApellido, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 150, 270, -1)); + jPanel2.add(lbMsjEmail, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 190, 300, -1)); + jPanel2.add(lbMsjFecha, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 240, 350, 15)); + + btnQuitarImagen.setFont(new java.awt.Font("Dialog", 0, 18)); // NOI18N + btnQuitarImagen.setText("Quitar Imágen"); + btnQuitarImagen.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnQuitarImagenActionPerformed(evt); + } + }); + jPanel2.add(btnQuitarImagen, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 360, 200, 60)); + jPanel2.add(jDateChooser1, new org.netbeans.lib.awtextra.AbsoluteConstraints(265, 220, 130, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 980, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 550, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 550, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btSeleccionarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btSeleccionarActionPerformed + //cargarImagen(lbImagen); + String rutaAnterior = ruta; + ruta = seleccionarImagen(); + if (ruta.isEmpty()) { + ruta = rutaAnterior; + } + cargarImagenEnJlabel(lbImg, ruta); + }//GEN-LAST:event_btSeleccionarActionPerformed + + private void cargarImagenEnJlabel(javax.swing.JLabel jLabelx, String Ruta) { + jLabelx.setText(null); + if (Ruta == null || Ruta.isEmpty()){ + Ruta = "Imagenes\\ukp.png"; + } + // Carga la imagen a la variable de tipo Image + Image img = new ImageIcon(Ruta).getImage(); + // Crea un ImageIcon a partir de la imagen (obtiene las dimenciones del jLbel y escala la imagen para que entre en el mismo) + ImageIcon icono = new ImageIcon( + img.getScaledInstance(jLabelx.getWidth(), jLabelx.getHeight(), Image.SCALE_SMOOTH) + ); + // establece la imagen en el label + jLabelx.setIcon(icono); + } + + private String seleccionarImagen() { + // Crea un JFileChooser + JFileChooser JFC = new JFileChooser(); + // crea un filtro para aceptar solo algunas extensiones + FileNameExtensionFilter filtroImagen = new FileNameExtensionFilter("JPG", "JPEG", "PNG", "jpg", "jpeg", "png"); + // Agrega el filtro al JFileChooser + JFC.setFileFilter(filtroImagen); + + // archivo seleccionado + File archivo; + // para saber si se selecciono algo o se cancelo + int resultado; + + while (true) { + // muestra el JFileChooser + resultado = JFC.showOpenDialog(this); + + // Si pasa algo que no sea el aceptar + if (resultado != JFileChooser.APPROVE_OPTION) { + return ""; + } + + // obtiene el archivo seleccionado + archivo = JFC.getSelectedFile(); + + // Si se selecciono algun archivo + if (archivo != null) { + // obtiene la ruta del archivo + String rutaArchivo = archivo.getAbsolutePath(); + // obtiene el archivo como imagen a partir de la ruta + Image img = new ImageIcon(rutaArchivo).getImage(); + + // verifica que tanto se deformará la imagen al mostrarla en un cuadrado + float deformacion; + if (img.getHeight(null) > img.getWidth(null)) { + deformacion = img.getHeight(null) / img.getWidth(null); + } else { + deformacion = img.getWidth(null) / img.getHeight(null); + } + + if (deformacion < 1.3 && deformacion >= 1) { + // si no se deforma demasiado + // devuelve la ruta absoluta + return rutaArchivo; + } else { + // si se deforma demasiado, lo avisa al usuario para que escoja otra + JOptionPane.showMessageDialog(null, + "La imagen es demasiado alta o demasiado ancha.\n" + img.getWidth(null) + "x" + img.getHeight(null), + "Problemas con la imagen", + JOptionPane.WARNING_MESSAGE + ); + } + } else { + // sino devuelve un string vacio + return ""; + } + } + } + + private void btnCargarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCargarActionPerformed + jDateChooser1.setBorder(bordeDefault); + lbMsjFecha.setText(""); + lbMsjFecha.setOpaque(false); + nombre = convertirPrimeraEnMayusculas(txtNombre.getText().trim()); + nickname = txtNikname.getText().trim(); + apellido = convertirPrimeraEnMayusculas(txtApellido.getText().trim()); + email = txtEmail.getText().toLowerCase().trim(); + descripcion = txtDescripcion.getText().trim(); + nombreCanal = txtNombreCanal.getText().trim(); + //Verifica la opcion seleccionada por los radioButton (Privado o Publico) + if(rdPublico.isSelected()){ + privacidad = Privacidad.PUBLICO; + } + //Verifica que la fecha no sea nula + if( jDateChooser1.getDate() != null){ + java.util.Date utilDate = jDateChooser1.getDate();//Obtiene la fecha del JDateChooser en formato Date + fecha = new java.sql.Date(utilDate.getTime());//Lo combierte al tipo Date sql + } + //Arrays para validaciones + JTextField v1[] = {txtNikname,txtNombre,txtApellido,txtEmail}; + int[] v2= {30,30,30,35}; + JLabel[] v3= {lbMsjNikname, lbMsjNombre, lbMsjApellido, lbMsjEmail}; + String[] v4 ={"Nickname","Nombre","Apellido","Email"}; + int[] v5 ={0,0,0,0}; + + for (int i = 0; i < v5.length; i++) { + if (validarTxt(v1[i], v2[i], v3[i], v4[i])) { + v5[i] = 1; + } + } + if (fecha == null) { + jDateChooser1.setBorder(BorderFactory.createLineBorder(colorError, 1)); + lbMsjFecha.setText(" La fecha de nacimiento es obligatoria"); + lbMsjFecha.setOpaque(true); + lbMsjFecha.setForeground(Color.WHITE); + lbMsjFecha.setBackground(colorError); + }else { + java.util.Date hoy = new java.util.Date(); + if (hoy.compareTo(fecha) <= 0){ + jDateChooser1.setBorder(BorderFactory.createLineBorder(colorError, 1)); + lbMsjFecha.setText(" La fecha es posterior a la actual"); + lbMsjFecha.setOpaque(true); + lbMsjFecha.setForeground(Color.WHITE); + lbMsjFecha.setBackground(colorError); + return; + } + } + if(v5[0]==0 || v5[1]==0 || v5[2]==0 || v5[3]==0){ + return; + } + + if(txtNombreCanal.getText().equals("")){ + nombreCanal = nickname; + txtNombreCanal.setText(nickname); + } + + try { + DtUsuario dtUsuario = new DtUsuario(nickname, nickname, nombre, apellido, email, fecha, ruta, 0); + DtCanal dtCanal = new DtCanal(0, nombreCanal, descripcion, privacidad); + sys.altaUsuarioCanal(dtUsuario, dtCanal); + JOptionPane.showMessageDialog(null, "Se ha creado el usuario "+nickname, "Alta de usuario", JOptionPane.INFORMATION_MESSAGE); + limpiarCampos(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnCargarActionPerformed + + private void pnlImagenMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_pnlImagenMouseClicked + //cargar imagen en nuevo usuario + //cargarImagen(jLabel34); + }//GEN-LAST:event_pnlImagenMouseClicked + + private void btCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btCancelarActionPerformed + //usuario->nuevo usuario->cancelar + limpiarCampos(); + this.setVisible(false); + }//GEN-LAST:event_btCancelarActionPerformed + + private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed + // TODO add your handling code here: + limpiarCampos(); + }//GEN-LAST:event_formWindowClosed + + private void txtNiknameKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNiknameKeyPressed + if(evt.getKeyCode() == KeyEvent.VK_ENTER){ + txtNombre.requestFocus(); + } + }//GEN-LAST:event_txtNiknameKeyPressed + + private void txtNiknameFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtNiknameFocusGained + //Al recibir el foco restaura los valores + txtNikname.setBorder(bordeDefault); + lbMsjNikname.setText(""); + lbMsjNikname.setOpaque(false); + }//GEN-LAST:event_txtNiknameFocusGained + + private void txtEmailFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtEmailFocusGained + //Al recibir el foco restaura los valores + txtEmail.setBorder(bordeDefault); + lbMsjEmail.setText(""); + lbMsjEmail.setOpaque(false); + }//GEN-LAST:event_txtEmailFocusGained + + private void txtEmailKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtEmailKeyTyped + // Al presionar enter + if(evt.getKeyChar() == KeyEvent.VK_ENTER){ + jDateChooser1.requestFocus(); + } + }//GEN-LAST:event_txtEmailKeyTyped + + private void txtNombreFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtNombreFocusGained + //Al recibir el foco restaura los valores + txtNombre.setBorder(bordeDefault); + lbMsjNombre.setText(""); + lbMsjNombre.setOpaque(false); + }//GEN-LAST:event_txtNombreFocusGained + + private void txtNombreKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNombreKeyPressed + // TODO add your handling code here: + if(evt.getKeyCode() == KeyEvent.VK_ENTER){ + txtApellido.requestFocus(); + } + }//GEN-LAST:event_txtNombreKeyPressed + + private void txtApellidoKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtApellidoKeyPressed + // TODO add your handling code here: + if(evt.getKeyCode() == KeyEvent.VK_ENTER){ + txtEmail.requestFocus(); + } + }//GEN-LAST:event_txtApellidoKeyPressed + + private void txtEmailKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtEmailKeyPressed + // TODO add your handling code here: + if(evt.getKeyCode() == KeyEvent.VK_ENTER){ + jDateChooser1.requestFocus(); + } + }//GEN-LAST:event_txtEmailKeyPressed + + private void txtNombreCanalKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNombreCanalKeyPressed + // TODO add your handling code here: + if(evt.getKeyCode() == KeyEvent.VK_ENTER){ + txtDescripcion.requestFocus(); + } + }//GEN-LAST:event_txtNombreCanalKeyPressed + + private void txtApellidoFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtApellidoFocusGained + //Al recibir el foco restaura los valores + txtApellido.setBorder(bordeDefault); + lbMsjApellido.setText(""); + lbMsjApellido.setOpaque(false); + }//GEN-LAST:event_txtApellidoFocusGained + + private void txtNiknameFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtNiknameFocusLost + // Al perder el foco + if(txtNombreCanal.getText().equals("")){ + nombreCanal = txtNikname.getText().trim(); + txtNombreCanal.setText(txtNikname.getText().trim()); + } + }//GEN-LAST:event_txtNiknameFocusLost + + private void formWindowActivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowActivated + // Fecha actual del sistema + Calendar c = new GregorianCalendar();//Objeto de tipo calendario con la fecha actual + java.util.Date fechaActual = new Date(c.get(Calendar.YEAR)-1900,c.get(Calendar.MONTH),c.get(Calendar.DATE));//Obtiene la fecha actual del calendario + jDateChooser1.setDate(fechaActual);//Setea el JDateChooser con la fecha actual + }//GEN-LAST:event_formWindowActivated + + private void btnQuitarImagenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnQuitarImagenActionPerformed + // Quitar imagen + ruta = ""; + cargarImagenEnJlabel(lbImg, ruta); + }//GEN-LAST:event_btnQuitarImagenActionPerformed + + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.ButtonGroup GrupoPrivacidad; + private javax.swing.JButton btCancelar; + private javax.swing.JButton btSeleccionar; + private javax.swing.JButton btnCargar; + private javax.swing.JButton btnQuitarImagen; + private com.toedter.calendar.JDateChooser jDateChooser1; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel10; + private javax.swing.JLabel jLabel11; + private javax.swing.JLabel jLabel12; + private javax.swing.JLabel jLabel13; + private javax.swing.JLabel jLabel14; + private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel42; + private javax.swing.JLabel jLabel50; + private javax.swing.JLabel jLabel6; + private javax.swing.JLabel jLabel8; + private javax.swing.JLabel jLabel9; + private javax.swing.JPanel jPanel2; + private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JSeparator jSeparator1; + private javax.swing.JSeparator jSeparator2; + private javax.swing.JLabel lbImg; + private javax.swing.JLabel lbMsjApellido; + private javax.swing.JLabel lbMsjEmail; + private javax.swing.JLabel lbMsjFecha; + private javax.swing.JLabel lbMsjNikname; + private javax.swing.JLabel lbMsjNombre; + private javax.swing.JPanel pnlImagen; + private javax.swing.JRadioButton rdPrivado; + private javax.swing.JRadioButton rdPublico; + private javax.swing.JTextField txtApellido; + private javax.swing.JTextArea txtDescripcion; + private javax.swing.JTextField txtEmail; + private javax.swing.JTextField txtNikname; + private javax.swing.JTextField txtNombre; + private javax.swing.JTextField txtNombreCanal; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Usuario/frmBajaUsuario.form b/UyTube_logica/src/Presentacion/Usuario/frmBajaUsuario.form new file mode 100644 index 0000000..f4ecc99 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmBajaUsuario.form @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" alignment="0" attributes="0"> + <EmptySpace max="-2" attributes="0"/> + <Component id="lbListarUasario" pref="361" max="32767" attributes="0"/> + <EmptySpace max="-2" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" alignment="0" attributes="0"> + <EmptySpace max="-2" attributes="0"/> + <Component id="lbListarUasario" max="32767" attributes="0"/> + <EmptySpace max="-2" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="lbListarUasario"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Container class="javax.swing.JScrollPane" name="jScrollPane10"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="0" y="30" width="360" height="250"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstListaDeUsuario"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstListaDeUsuarioValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel60"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Usuarios:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="0" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Dar de baja"/> + </Properties> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="btnAceptarMouseClicked"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="150" y="290" width="210" height="70"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnCancelar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Cancelar"/> + </Properties> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="btnCancelarMouseClicked"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="0" y="290" width="140" height="70"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Usuario/frmBajaUsuario.java b/UyTube_logica/src/Presentacion/Usuario/frmBajaUsuario.java new file mode 100644 index 0000000..183a3fc --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmBajaUsuario.java @@ -0,0 +1,156 @@ +package Presentacion.Usuario; + +import Logica.DataType.DtUsuario; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; + +public class frmBajaUsuario extends javax.swing.JDialog { + + IAdmin sys; + + public frmBajaUsuario(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + btnAceptar.setEnabled(false); + + try { + sys = Fabrica.getInstancia().getIAdmin(); + ArrayList<DtUsuario> ListaUsuarios = sys.listarUsuarios(); + mostrarListaDeUsuarios(ListaUsuarios); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + lbListarUasario = new javax.swing.JPanel(); + jScrollPane10 = new javax.swing.JScrollPane(); + lstListaDeUsuario = new javax.swing.JList<>(); + jLabel60 = new javax.swing.JLabel(); + btnAceptar = new javax.swing.JButton(); + btnCancelar = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + + lbListarUasario.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + lstListaDeUsuario.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstListaDeUsuarioValueChanged(evt); + } + }); + jScrollPane10.setViewportView(lstListaDeUsuario); + + lbListarUasario.add(jScrollPane10, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 30, 360, 250)); + + jLabel60.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel60.setText("Usuarios:"); + lbListarUasario.add(jLabel60, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 10, -1, -1)); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N + btnAceptar.setText("Dar de baja"); + btnAceptar.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + btnAceptarMouseClicked(evt); + } + }); + lbListarUasario.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 290, 210, 70)); + + btnCancelar.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N + btnCancelar.setText("Cancelar"); + btnCancelar.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + btnCancelarMouseClicked(evt); + } + }); + lbListarUasario.add(btnCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 290, 140, 70)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(lbListarUasario, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(lbListarUasario, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap()) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnAceptarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnAceptarMouseClicked + // Clic en boton Dar de baja + if (lstListaDeUsuario.getSelectedIndex() < 0) { + JOptionPane.showMessageDialog(null, "Seleccione un usuario para dar de baja", "Error", JOptionPane.WARNING_MESSAGE); + return; + } + try { + sys.bajaUsuario(); + sys.liberarMemoriaUsuarioActual(); + mostrarListaDeUsuarios(sys.listarUsuarios()); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnAceptarMouseClicked + + private void btnCancelarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnCancelarMouseClicked + // Clic en boton Cancelar + try { + sys.liberarMemoriaUsuarioActual(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + dispose(); + }//GEN-LAST:event_btnCancelarMouseClicked + + private void lstListaDeUsuarioValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstListaDeUsuarioValueChanged + // Al seleccionar un usuario de la lista + if (evt.getValueIsAdjusting()) return; + if (lstListaDeUsuario.getSelectedIndex()<0) { + btnAceptar.setEnabled(false); + return; + } + btnAceptar.setEnabled(true); + try { + sys.seleccionarUsuarioActual(lstListaDeUsuario.getSelectedValue()); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstListaDeUsuarioValueChanged + + private void mostrarListaDeUsuarios(ArrayList<DtUsuario> l){ + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : l) { + modelo.addElement(it.getNickname()); + } + lstListaDeUsuario.setModel(modelo); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnAceptar; + private javax.swing.JButton btnCancelar; + private javax.swing.JLabel jLabel60; + private javax.swing.JScrollPane jScrollPane10; + private javax.swing.JPanel lbListarUasario; + private javax.swing.JList<String> lstListaDeUsuario; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuario.form b/UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuario.form new file mode 100644 index 0000000..e89cf57 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuario.form @@ -0,0 +1,521 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Consulta usuario"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" alignment="1" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel6" min="-2" pref="980" max="-2" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <Component id="jPanel6" min="-2" pref="550" max="-2" attributes="0"/> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel6"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="jLabel17"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Seleccione un usuario:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane4"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="60" width="170" height="250"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstUsuarios"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstUsuariosValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel18"> + <Properties> + <Property name="text" type="java.lang.String" value="Usuario:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="60" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel19"> + <Properties> + <Property name="text" type="java.lang.String" value="Nombre:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="90" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel20"> + <Properties> + <Property name="text" type="java.lang.String" value="Apellido:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="120" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel21"> + <Properties> + <Property name="text" type="java.lang.String" value="Email:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="150" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel22"> + <Properties> + <Property name="text" type="java.lang.String" value="Nacimiento: "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="180" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel23"> + <Properties> + <Property name="text" type="java.lang.String" value="Imágen:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="210" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JPanel" name="jPanel1"> + <Properties> + <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"> + <Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo"> + <LineBorder/> + </Border> + </Property> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="300" y="215" width="110" height="110"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="lbImagen"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="5" y="5" width="100" height="100"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="lbFechaN"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="300" y="180" width="200" height="20"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbEmail"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="300" y="150" width="200" height="20"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbApellido"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="300" y="120" width="200" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbNombre"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="300" y="90" width="200" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbCantSeguidores"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="630" y="20" width="100" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JSeparator" name="jSeparator3"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="0" y="340" width="530" height="10"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel30"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Canal:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="360" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel32"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Descripción:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="420" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane5"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="120" y="430" width="390" height="100"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JTextArea" name="txtDescripcion"> + <Properties> + <Property name="editable" type="boolean" value="false"/> + <Property name="columns" type="int" value="20"/> + <Property name="lineWrap" type="boolean" value="true"/> + <Property name="rows" type="int" value="5"/> + </Properties> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JSeparator" name="jSeparator4"> + <Properties> + <Property name="orientation" type="int" value="1"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="530" y="0" width="10" height="560"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbPrivacidad"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="110" y="390" width="110" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbNombreCanal"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="110" y="360" width="110" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JSeparator" name="jSeparator5"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="530" y="230" width="460" height="10"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel39"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Seguidores:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel40"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Seguidos:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="770" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane8"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="770" y="50" width="180" height="150"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstSeguidos"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Container class="javax.swing.JScrollPane" name="jScrollPane9"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="50" width="190" height="150"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstSeguidores"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnAceptarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="553" y="480" width="410" height="50"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel79"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Videos:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="240" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel80"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Listas de Reproducción:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="770" y="240" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane20"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="270" width="200" height="190"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstVideos"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + <Property name="toolTipText" type="java.lang.String" value="Doble clic para ver mas informacion del video"/> + </Properties> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="lstVideosMouseClicked"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Container class="javax.swing.JScrollPane" name="jScrollPane21"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="770" y="272" width="190" height="190"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstListaReproduccion"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + <Property name="toolTipText" type="java.lang.String" value="Doble clic para ver mas informacion de la lista"/> + </Properties> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="lstListaReproduccionMouseClicked"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="lbNickName"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="300" y="60" width="200" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbCantSeguidos"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="840" y="20" width="100" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel31"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Privacidad:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="390" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuario.java b/UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuario.java new file mode 100644 index 0000000..022a893 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuario.java @@ -0,0 +1,425 @@ +package Presentacion.Usuario; + +import Presentacion.ListaDeReproduccion.*; +import Logica.DataType.DtCanal; +import Logica.DataType.DtListaDeReproduccion; +import Logica.DataType.DtUsuario; +import Logica.DataType.DtVideo; +import Logica.Enumerados.Privacidad; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import Presentacion.Video.frmConsultaVideo; +import java.awt.Image; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.ImageIcon; +import javax.swing.JOptionPane; + +public class frmConsultaUsuario extends javax.swing.JDialog { + + IAdmin sys; + ArrayList<DtVideo> listaDeVideos; + ArrayList<DtListaDeReproduccion> listaDeListasRep; + + public frmConsultaUsuario(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + + try { + cargarImagenEnJlabel(lbImagen, ""); + lbImagen.setEnabled(false); + // obtiene la instancia de sistema + sys = Fabrica.getInstancia().getIAdmin(); + + // lista usuarios en el JList + listarUsuarios(sys.listarUsuarios()); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel6 = new javax.swing.JPanel(); + jLabel17 = new javax.swing.JLabel(); + jScrollPane4 = new javax.swing.JScrollPane(); + lstUsuarios = new javax.swing.JList<>(); + jLabel18 = new javax.swing.JLabel(); + jLabel19 = new javax.swing.JLabel(); + jLabel20 = new javax.swing.JLabel(); + jLabel21 = new javax.swing.JLabel(); + jLabel22 = new javax.swing.JLabel(); + jLabel23 = new javax.swing.JLabel(); + jPanel1 = new javax.swing.JPanel(); + lbImagen = new javax.swing.JLabel(); + lbFechaN = new javax.swing.JLabel(); + lbEmail = new javax.swing.JLabel(); + lbApellido = new javax.swing.JLabel(); + lbNombre = new javax.swing.JLabel(); + lbCantSeguidores = new javax.swing.JLabel(); + jSeparator3 = new javax.swing.JSeparator(); + jLabel30 = new javax.swing.JLabel(); + jLabel32 = new javax.swing.JLabel(); + jScrollPane5 = new javax.swing.JScrollPane(); + txtDescripcion = new javax.swing.JTextArea(); + jSeparator4 = new javax.swing.JSeparator(); + lbPrivacidad = new javax.swing.JLabel(); + lbNombreCanal = new javax.swing.JLabel(); + jSeparator5 = new javax.swing.JSeparator(); + jLabel39 = new javax.swing.JLabel(); + jLabel40 = new javax.swing.JLabel(); + jScrollPane8 = new javax.swing.JScrollPane(); + lstSeguidos = new javax.swing.JList<>(); + jScrollPane9 = new javax.swing.JScrollPane(); + lstSeguidores = new javax.swing.JList<>(); + btnAceptar = new javax.swing.JButton(); + jLabel79 = new javax.swing.JLabel(); + jLabel80 = new javax.swing.JLabel(); + jScrollPane20 = new javax.swing.JScrollPane(); + lstVideos = new javax.swing.JList<>(); + jScrollPane21 = new javax.swing.JScrollPane(); + lstListaReproduccion = new javax.swing.JList<>(); + lbNickName = new javax.swing.JLabel(); + lbCantSeguidos = new javax.swing.JLabel(); + jLabel31 = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Consulta usuario"); + setResizable(false); + + jPanel6.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + jLabel17.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel17.setText("Seleccione un usuario:"); + jPanel6.add(jLabel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 20, -1, -1)); + + lstUsuarios.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstUsuariosValueChanged(evt); + } + }); + jScrollPane4.setViewportView(lstUsuarios); + + jPanel6.add(jScrollPane4, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 60, 170, 250)); + + jLabel18.setText("Usuario:"); + jPanel6.add(jLabel18, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 60, -1, -1)); + + jLabel19.setText("Nombre:"); + jPanel6.add(jLabel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 90, -1, -1)); + + jLabel20.setText("Apellido:"); + jPanel6.add(jLabel20, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 120, -1, -1)); + + jLabel21.setText("Email:"); + jPanel6.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 150, -1, -1)); + + jLabel22.setText("Nacimiento: "); + jPanel6.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 180, -1, -1)); + + jLabel23.setText("Imágen:"); + jPanel6.add(jLabel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 210, -1, -1)); + + jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); + jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + jPanel1.add(lbImagen, new org.netbeans.lib.awtextra.AbsoluteConstraints(5, 5, 100, 100)); + + jPanel6.add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 215, 110, 110)); + jPanel6.add(lbFechaN, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 180, 200, 20)); + + lbEmail.setText(" "); + jPanel6.add(lbEmail, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 150, 200, 20)); + + lbApellido.setText(" "); + jPanel6.add(lbApellido, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 120, 200, -1)); + + lbNombre.setText(" "); + jPanel6.add(lbNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 90, 200, -1)); + + lbCantSeguidores.setText(" "); + jPanel6.add(lbCantSeguidores, new org.netbeans.lib.awtextra.AbsoluteConstraints(630, 20, 100, -1)); + jPanel6.add(jSeparator3, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 340, 530, 10)); + + jLabel30.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel30.setText("Canal:"); + jPanel6.add(jLabel30, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 360, -1, -1)); + + jLabel32.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel32.setText("Descripción:"); + jPanel6.add(jLabel32, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 420, -1, -1)); + + txtDescripcion.setEditable(false); + txtDescripcion.setColumns(20); + txtDescripcion.setLineWrap(true); + txtDescripcion.setRows(5); + jScrollPane5.setViewportView(txtDescripcion); + + jPanel6.add(jScrollPane5, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 430, 390, 100)); + + jSeparator4.setOrientation(javax.swing.SwingConstants.VERTICAL); + jPanel6.add(jSeparator4, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 0, 10, 560)); + + lbPrivacidad.setText(" "); + jPanel6.add(lbPrivacidad, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 390, 110, -1)); + + lbNombreCanal.setText(" "); + jPanel6.add(lbNombreCanal, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 360, 110, -1)); + jPanel6.add(jSeparator5, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 230, 460, 10)); + + jLabel39.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel39.setText("Seguidores:"); + jPanel6.add(jLabel39, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 20, -1, -1)); + + jLabel40.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel40.setText("Seguidos:"); + jPanel6.add(jLabel40, new org.netbeans.lib.awtextra.AbsoluteConstraints(770, 20, -1, -1)); + + jScrollPane8.setViewportView(lstSeguidos); + + jPanel6.add(jScrollPane8, new org.netbeans.lib.awtextra.AbsoluteConstraints(770, 50, 180, 150)); + + jScrollPane9.setViewportView(lstSeguidores); + + jPanel6.add(jScrollPane9, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 50, 190, 150)); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N + btnAceptar.setText("Aceptar"); + btnAceptar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnAceptarActionPerformed(evt); + } + }); + jPanel6.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(553, 480, 410, 50)); + + jLabel79.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel79.setText("Videos:"); + jPanel6.add(jLabel79, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 240, -1, -1)); + + jLabel80.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel80.setText("Listas de Reproducción:"); + jPanel6.add(jLabel80, new org.netbeans.lib.awtextra.AbsoluteConstraints(770, 240, -1, -1)); + + lstVideos.setToolTipText("Doble clic para ver mas informacion del video"); + lstVideos.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + lstVideosMouseClicked(evt); + } + }); + jScrollPane20.setViewportView(lstVideos); + + jPanel6.add(jScrollPane20, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 270, 200, 190)); + + lstListaReproduccion.setToolTipText("Doble clic para ver mas informacion de la lista"); + lstListaReproduccion.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + lstListaReproduccionMouseClicked(evt); + } + }); + jScrollPane21.setViewportView(lstListaReproduccion); + + jPanel6.add(jScrollPane21, new org.netbeans.lib.awtextra.AbsoluteConstraints(770, 272, 190, 190)); + + lbNickName.setText(" "); + jPanel6.add(lbNickName, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 60, 200, -1)); + + lbCantSeguidos.setText(" "); + jPanel6.add(lbCantSeguidos, new org.netbeans.lib.awtextra.AbsoluteConstraints(840, 20, 100, -1)); + + jLabel31.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel31.setText("Privacidad:"); + jPanel6.add(jLabel31, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 390, -1, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 980, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 550, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void lstUsuariosValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuariosValueChanged + // Al seleccionar un usuario + if (evt.getValueIsAdjusting()) return; + if (lstUsuarios.getSelectedIndex()<0) return; + + try { + String nick = lstUsuarios.getSelectedValue(); + DtUsuario dtu = sys.seleccionarUsuario(nick); + cargarLabelsConDatosDelUsuario(dtu); + DtCanal dtc = sys.obtenerCanalDeUsuario(); + cargarLabelsConDatosDelCanal(dtc); + + listaDeVideos = sys.listarVideosDeUsuario(); + listarVideos(listaDeVideos); + listaDeListasRep = sys.listarListasDeReproduccionDeUsuario(nick); + listarListassRep(listaDeListasRep); + listarUsuariosSeguidores(sys.listarUsuarioSeguidores()); + listarUsuariosSeguidos(sys.listarUsuarioSeguidos()); + + sys.liberarMemoriaUsuario(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + + } + }//GEN-LAST:event_lstUsuariosValueChanged + + private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed + try { + sys.liberarMemoriaUsuario(); + dispose(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnAceptarActionPerformed + + private void lstVideosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lstVideosMouseClicked + // Doble clic en la lista de videos + if (evt.getClickCount() != 2) return; + if (lstVideos.getSelectedIndex()<0) return; + + int indexSeleccionado = lstVideos.getSelectedIndex(); + int idVideo = listaDeVideos.get(indexSeleccionado).getId(); + new frmConsultaVideo(this, true, lstUsuarios.getSelectedValue(), idVideo).setVisible(true); + }//GEN-LAST:event_lstVideosMouseClicked + + private void lstListaReproduccionMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lstListaReproduccionMouseClicked + // Doble clic en la lista de Listas de reproduccion + if (evt.getClickCount() != 2) return; + if (lstListaReproduccion.getSelectedIndex()<0) return; + + int indexSeleccionado = lstListaReproduccion.getSelectedIndex(); + int idLista = listaDeListasRep.get(indexSeleccionado).getId(); + new frmConsultaListaDeReproduccion(this, true, lstUsuarios.getSelectedValue(), idLista).setVisible(true); + }//GEN-LAST:event_lstListaReproduccionMouseClicked + + /////////////////////////////////////////////////////////////////////////////////////////// + private void listarUsuarios(ArrayList<DtUsuario> ListaUsuarios){ + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : ListaUsuarios) { + modelo.addElement(it.getNickname()); + } + lstUsuarios.setModel(modelo); + + } + private void listarVideos(ArrayList<DtVideo> ListaVideos){ + DefaultListModel modelo = new DefaultListModel(); + for (DtVideo it : ListaVideos) { + modelo.addElement(it.getNombre()); + } + lstVideos.setModel(modelo); + } + private void listarListassRep(ArrayList<DtListaDeReproduccion> listaListasRep){ + DefaultListModel modelo = new DefaultListModel(); + for (DtListaDeReproduccion it : listaListasRep) { + modelo.addElement(it.getNombre()); + } + lstListaReproduccion.setModel(modelo); + } + + private void listarUsuariosSeguidos(ArrayList<DtUsuario> ListaUsuarios){ + lbCantSeguidos.setText(String.valueOf(ListaUsuarios.size())); + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : ListaUsuarios) { + modelo.addElement(it.getNickname()); + } + lstSeguidos.setModel(modelo); + } + private void listarUsuariosSeguidores(ArrayList<DtUsuario> ListaUsuarios){ + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : ListaUsuarios) { + modelo.addElement(it.getNickname()); + } + lstSeguidores.setModel(modelo); + } + private void cargarLabelsConDatosDelUsuario(DtUsuario u){ + lbNickName.setText(u.getNickname()); + lbNombre.setText(u.getNombre()); + lbApellido.setText(u.getApellido()); + lbEmail.setText(u.getCorreo()); + lbFechaN.setText(new SimpleDateFormat("dd-MM-yyyy").format(u.getFechaNacimiento())); + lbCantSeguidores.setText(String.valueOf(u.getCantSeguidores())); + cargarImagenEnJlabel(lbImagen, u.getImagen()); + lbImagen.setEnabled(true); + } + private void cargarLabelsConDatosDelCanal(DtCanal c){ + lbNombreCanal.setText(c.getNombre()); + txtDescripcion.setText(c.getDescripcion()); + if (c.getPrivacidad() == Privacidad.PUBLICO){ + lbPrivacidad.setText("Publico"); + }else{ + lbPrivacidad.setText("Privado"); + } + } + private void cargarImagenEnJlabel(javax.swing.JLabel jLabelx, String Ruta){ + jLabelx.setText(null); + if (Ruta == null || Ruta.isEmpty()){ + Ruta = "Imagenes\\ukp.png"; + } + // Carga la imagen a la variable de tipo Image + Image img = new ImageIcon(Ruta).getImage(); + // Crea un ImageIcon a partir de la imagen (obtiene las dimenciones del jLbel y escala la imagen para que entre en el mismo) + ImageIcon icono = new ImageIcon( + img.getScaledInstance(jLabelx.getWidth(), jLabelx.getHeight(), Image.SCALE_SMOOTH) + ); + // establece la imagen en el label + jLabelx.setIcon(icono); + } + /////////////////////////////////////////////////////////////////////////////////////////// + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnAceptar; + private javax.swing.JLabel jLabel17; + private javax.swing.JLabel jLabel18; + private javax.swing.JLabel jLabel19; + private javax.swing.JLabel jLabel20; + private javax.swing.JLabel jLabel21; + private javax.swing.JLabel jLabel22; + private javax.swing.JLabel jLabel23; + private javax.swing.JLabel jLabel30; + private javax.swing.JLabel jLabel31; + private javax.swing.JLabel jLabel32; + private javax.swing.JLabel jLabel39; + private javax.swing.JLabel jLabel40; + private javax.swing.JLabel jLabel79; + private javax.swing.JLabel jLabel80; + private javax.swing.JPanel jPanel1; + private javax.swing.JPanel jPanel6; + private javax.swing.JScrollPane jScrollPane20; + private javax.swing.JScrollPane jScrollPane21; + private javax.swing.JScrollPane jScrollPane4; + private javax.swing.JScrollPane jScrollPane5; + private javax.swing.JScrollPane jScrollPane8; + private javax.swing.JScrollPane jScrollPane9; + private javax.swing.JSeparator jSeparator3; + private javax.swing.JSeparator jSeparator4; + private javax.swing.JSeparator jSeparator5; + private javax.swing.JLabel lbApellido; + private javax.swing.JLabel lbCantSeguidores; + private javax.swing.JLabel lbCantSeguidos; + private javax.swing.JLabel lbEmail; + private javax.swing.JLabel lbFechaN; + private javax.swing.JLabel lbImagen; + private javax.swing.JLabel lbNickName; + private javax.swing.JLabel lbNombre; + private javax.swing.JLabel lbNombreCanal; + private javax.swing.JLabel lbPrivacidad; + private javax.swing.JList<String> lstListaReproduccion; + private javax.swing.JList<String> lstSeguidores; + private javax.swing.JList<String> lstSeguidos; + private javax.swing.JList<String> lstUsuarios; + private javax.swing.JList<String> lstVideos; + private javax.swing.JTextArea txtDescripcion; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.form b/UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.form new file mode 100644 index 0000000..4a5df94 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.form @@ -0,0 +1,435 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" alignment="1" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel6" min="-2" pref="980" max="-2" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <Component id="jPanel6" alignment="0" pref="579" max="32767" attributes="0"/> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel6"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="jLabel17"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Seleccione un usuario:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane4"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="60" width="170" height="250"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstUsuarios"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstUsuariosValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel18"> + <Properties> + <Property name="text" type="java.lang.String" value="Usuario:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="60" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel19"> + <Properties> + <Property name="text" type="java.lang.String" value="Nombre:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="90" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel20"> + <Properties> + <Property name="text" type="java.lang.String" value="Apellido:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="120" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel21"> + <Properties> + <Property name="text" type="java.lang.String" value="Email:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="150" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel22"> + <Properties> + <Property name="text" type="java.lang.String" value="Baja:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="210" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel23"> + <Properties> + <Property name="text" type="java.lang.String" value="Imágen:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="240" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JPanel" name="jPanel1"> + <Properties> + <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"> + <Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo"> + <LineBorder/> + </Border> + </Property> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="300" y="240" width="110" height="110"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="lbImagen"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="5" y="5" width="100" height="100"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="lbFechaN"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="300" y="180" width="200" height="20"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbEmail"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="300" y="150" width="200" height="20"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbApellido"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="300" y="120" width="200" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbNombre"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="300" y="90" width="200" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JSeparator" name="jSeparator3"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="0" y="370" width="530" height="10"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel30"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Canal:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="390" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel32"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Descripción:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="450" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane5"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="120" y="460" width="390" height="100"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JTextArea" name="txtDescripcion"> + <Properties> + <Property name="editable" type="boolean" value="false"/> + <Property name="columns" type="int" value="20"/> + <Property name="lineWrap" type="boolean" value="true"/> + <Property name="rows" type="int" value="5"/> + </Properties> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JSeparator" name="jSeparator4"> + <Properties> + <Property name="orientation" type="int" value="1"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="530" y="0" width="10" height="580"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbPrivacidad"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="110" y="420" width="390" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbNombreCanal"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="110" y="390" width="390" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnAceptarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="480" width="410" height="70"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel79"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Videos:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="30" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel80"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Listas de Reproducción:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="250" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane20"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="60" width="410" height="160"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstVideos"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + <Property name="toolTipText" type="java.lang.String" value="Doble clic para ver mas informacion del video"/> + </Properties> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="lstVideosMouseClicked"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Container class="javax.swing.JScrollPane" name="jScrollPane21"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="280" width="400" height="160"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstListaReproduccion"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + <Property name="toolTipText" type="java.lang.String" value="Doble clic para ver mas informacion de la lista"/> + </Properties> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="lstListaReproduccionMouseClicked"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="lbNickName"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="300" y="60" width="200" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel31"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Privacidad:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="420" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel24"> + <Properties> + <Property name="text" type="java.lang.String" value="Nacimiento: "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="220" y="180" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbFechaElim"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="300" y="210" width="200" height="20"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.java b/UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.java new file mode 100644 index 0000000..bfb4898 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmConsultaUsuarioEliminado.java @@ -0,0 +1,372 @@ +package Presentacion.Usuario; + +import Logica.DataType.DtCanal; +import Logica.DataType.DtListaDeReproduccion; +import Logica.DataType.DtUsuario; +import Logica.DataType.DtVideo; +import Logica.Enumerados.Privacidad; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import Presentacion.ListaDeReproduccion.frmConsultaListaDeReproduccion; +import Presentacion.ListaDeReproduccion.frmConsultaListaDeReproduccionEliminada; +import Presentacion.Video.frmConsultaVideo; +import Presentacion.Video.frmConsultaVideoEliminado; +import java.awt.Image; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.ImageIcon; +import javax.swing.JOptionPane; + +public class frmConsultaUsuarioEliminado extends javax.swing.JDialog { + + IAdmin sys; + ArrayList<DtVideo> listaDeVideos; + ArrayList<DtListaDeReproduccion> listaDeListasRep; + + public frmConsultaUsuarioEliminado(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + + try { + cargarImagenEnJlabel(lbImagen, ""); + lbImagen.setEnabled(false); + // obtiene la instancia de sistema + sys = Fabrica.getInstancia().getIAdmin(); + + // lista usuarios en el JList + listarUsuarios(sys.listarUsuariosEliminados()); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel6 = new javax.swing.JPanel(); + jLabel17 = new javax.swing.JLabel(); + jScrollPane4 = new javax.swing.JScrollPane(); + lstUsuarios = new javax.swing.JList<>(); + jLabel18 = new javax.swing.JLabel(); + jLabel19 = new javax.swing.JLabel(); + jLabel20 = new javax.swing.JLabel(); + jLabel21 = new javax.swing.JLabel(); + jLabel22 = new javax.swing.JLabel(); + jLabel23 = new javax.swing.JLabel(); + jPanel1 = new javax.swing.JPanel(); + lbImagen = new javax.swing.JLabel(); + lbFechaN = new javax.swing.JLabel(); + lbEmail = new javax.swing.JLabel(); + lbApellido = new javax.swing.JLabel(); + lbNombre = new javax.swing.JLabel(); + jSeparator3 = new javax.swing.JSeparator(); + jLabel30 = new javax.swing.JLabel(); + jLabel32 = new javax.swing.JLabel(); + jScrollPane5 = new javax.swing.JScrollPane(); + txtDescripcion = new javax.swing.JTextArea(); + jSeparator4 = new javax.swing.JSeparator(); + lbPrivacidad = new javax.swing.JLabel(); + lbNombreCanal = new javax.swing.JLabel(); + btnAceptar = new javax.swing.JButton(); + jLabel79 = new javax.swing.JLabel(); + jLabel80 = new javax.swing.JLabel(); + jScrollPane20 = new javax.swing.JScrollPane(); + lstVideos = new javax.swing.JList<>(); + jScrollPane21 = new javax.swing.JScrollPane(); + lstListaReproduccion = new javax.swing.JList<>(); + lbNickName = new javax.swing.JLabel(); + jLabel31 = new javax.swing.JLabel(); + jLabel24 = new javax.swing.JLabel(); + lbFechaElim = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + + jPanel6.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + jLabel17.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel17.setText("Seleccione un usuario:"); + jPanel6.add(jLabel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 20, -1, -1)); + + lstUsuarios.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstUsuariosValueChanged(evt); + } + }); + jScrollPane4.setViewportView(lstUsuarios); + + jPanel6.add(jScrollPane4, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 60, 170, 250)); + + jLabel18.setText("Usuario:"); + jPanel6.add(jLabel18, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 60, -1, -1)); + + jLabel19.setText("Nombre:"); + jPanel6.add(jLabel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 90, -1, -1)); + + jLabel20.setText("Apellido:"); + jPanel6.add(jLabel20, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 120, -1, -1)); + + jLabel21.setText("Email:"); + jPanel6.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 150, -1, -1)); + + jLabel22.setText("Baja:"); + jPanel6.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 210, -1, -1)); + + jLabel23.setText("Imágen:"); + jPanel6.add(jLabel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 240, -1, -1)); + + jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); + jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + jPanel1.add(lbImagen, new org.netbeans.lib.awtextra.AbsoluteConstraints(5, 5, 100, 100)); + + jPanel6.add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 240, 110, 110)); + jPanel6.add(lbFechaN, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 180, 200, 20)); + + lbEmail.setText(" "); + jPanel6.add(lbEmail, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 150, 200, 20)); + + lbApellido.setText(" "); + jPanel6.add(lbApellido, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 120, 200, -1)); + + lbNombre.setText(" "); + jPanel6.add(lbNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 90, 200, -1)); + jPanel6.add(jSeparator3, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 370, 530, 10)); + + jLabel30.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel30.setText("Canal:"); + jPanel6.add(jLabel30, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 390, -1, -1)); + + jLabel32.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel32.setText("Descripción:"); + jPanel6.add(jLabel32, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 450, -1, -1)); + + txtDescripcion.setEditable(false); + txtDescripcion.setColumns(20); + txtDescripcion.setLineWrap(true); + txtDescripcion.setRows(5); + jScrollPane5.setViewportView(txtDescripcion); + + jPanel6.add(jScrollPane5, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 460, 390, 100)); + + jSeparator4.setOrientation(javax.swing.SwingConstants.VERTICAL); + jPanel6.add(jSeparator4, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 0, 10, 580)); + + lbPrivacidad.setText(" "); + jPanel6.add(lbPrivacidad, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 420, 390, -1)); + + lbNombreCanal.setText(" "); + jPanel6.add(lbNombreCanal, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 390, 390, -1)); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N + btnAceptar.setText("Aceptar"); + btnAceptar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnAceptarActionPerformed(evt); + } + }); + jPanel6.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 480, 410, 70)); + + jLabel79.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel79.setText("Videos:"); + jPanel6.add(jLabel79, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 30, -1, -1)); + + jLabel80.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel80.setText("Listas de Reproducción:"); + jPanel6.add(jLabel80, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 250, -1, -1)); + + lstVideos.setToolTipText("Doble clic para ver mas informacion del video"); + lstVideos.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + lstVideosMouseClicked(evt); + } + }); + jScrollPane20.setViewportView(lstVideos); + + jPanel6.add(jScrollPane20, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 60, 410, 160)); + + lstListaReproduccion.setToolTipText("Doble clic para ver mas informacion de la lista"); + lstListaReproduccion.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + lstListaReproduccionMouseClicked(evt); + } + }); + jScrollPane21.setViewportView(lstListaReproduccion); + + jPanel6.add(jScrollPane21, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 280, 400, 160)); + + lbNickName.setText(" "); + jPanel6.add(lbNickName, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 60, 200, -1)); + + jLabel31.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel31.setText("Privacidad:"); + jPanel6.add(jLabel31, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 420, -1, -1)); + + jLabel24.setText("Nacimiento: "); + jPanel6.add(jLabel24, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 180, -1, -1)); + jPanel6.add(lbFechaElim, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 210, 200, 20)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 980, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 579, Short.MAX_VALUE) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void lstUsuariosValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuariosValueChanged + // Al seleccionar un usuario + if (evt.getValueIsAdjusting()) return; + if (lstUsuarios.getSelectedIndex()<0) return; + + try { + String nick = lstUsuarios.getSelectedValue(); + DtUsuario dtu = sys.seleccionarUsuarioEliminado(nick); + cargarLabelsConDatosDelUsuario(dtu); + DtCanal dtc = sys.obtenerCanalDeUsuario(); + cargarLabelsConDatosDelCanal(dtc); + + listaDeVideos = sys.listarVideosDeUsuario(); + listarVideos(listaDeVideos); + listaDeListasRep = sys.listarListasDeReproduccionDeUsuario(nick); + listarListassRep(listaDeListasRep); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstUsuariosValueChanged + + private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed + try { + sys.liberarMemoriaUsuario(); + dispose(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnAceptarActionPerformed + + private void lstVideosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lstVideosMouseClicked + // Doble clic en la lista de videos + if (evt.getClickCount() != 2) return; + if (lstVideos.getSelectedIndex()<0) return; + + int indexSeleccionado = lstVideos.getSelectedIndex(); + int idVideo = listaDeVideos.get(indexSeleccionado).getId(); + new frmConsultaVideoEliminado(this, true, idVideo).setVisible(true); + }//GEN-LAST:event_lstVideosMouseClicked + + private void lstListaReproduccionMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lstListaReproduccionMouseClicked + // Doble clic en la lista de Listas de reproduccion + if (evt.getClickCount() != 2) return; + if (lstListaReproduccion.getSelectedIndex()<0) return; + + int indexSeleccionado = lstListaReproduccion.getSelectedIndex(); + int idLista = listaDeListasRep.get(indexSeleccionado).getId(); + new frmConsultaListaDeReproduccionEliminada(this, true, idLista).setVisible(true); + }//GEN-LAST:event_lstListaReproduccionMouseClicked + + + /////////////////////////////////////////////////////////////////////////////////////////// + private void listarUsuarios(ArrayList<DtUsuario> ListaUsuarios){ + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : ListaUsuarios) { + modelo.addElement(it.getNickname()); + } + lstUsuarios.setModel(modelo); + + } + private void listarVideos(ArrayList<DtVideo> ListaVideos){ + DefaultListModel modelo = new DefaultListModel(); + for (DtVideo it : ListaVideos) { + modelo.addElement(it.getNombre()); + } + lstVideos.setModel(modelo); + } + private void listarListassRep(ArrayList<DtListaDeReproduccion> listaListasRep){ + DefaultListModel modelo = new DefaultListModel(); + for (DtListaDeReproduccion it : listaListasRep) { + modelo.addElement(it.getNombre()); + } + lstListaReproduccion.setModel(modelo); + } + private void cargarLabelsConDatosDelUsuario(DtUsuario u){ + lbNickName.setText(u.getNickname()); + lbNombre.setText(u.getNombre()); + lbApellido.setText(u.getApellido()); + lbEmail.setText(u.getCorreo()); + lbFechaN.setText(new SimpleDateFormat("dd-MM-yyyy").format(u.getFechaNacimiento())); + lbFechaElim.setText(new SimpleDateFormat("dd-MM-yyyy").format(u.getFechaEliminado())); + cargarImagenEnJlabel(lbImagen, u.getImagen()); + lbImagen.setEnabled(true); + } + private void cargarLabelsConDatosDelCanal(DtCanal c){ + lbNombreCanal.setText(c.getNombre()); + txtDescripcion.setText(c.getDescripcion()); + if (c.getPrivacidad() == Privacidad.PUBLICO){ + lbPrivacidad.setText("Publico"); + }else{ + lbPrivacidad.setText("Privado"); + } + } + private void cargarImagenEnJlabel(javax.swing.JLabel jLabelx, String Ruta){ + jLabelx.setText(null); + if (Ruta == null || Ruta.isEmpty()){ + Ruta = "Imagenes\\ukp.png"; + } + // Carga la imagen a la variable de tipo Image + Image img = new ImageIcon(Ruta).getImage(); + // Crea un ImageIcon a partir de la imagen (obtiene las dimenciones del jLbel y escala la imagen para que entre en el mismo) + ImageIcon icono = new ImageIcon( + img.getScaledInstance(jLabelx.getWidth(), jLabelx.getHeight(), Image.SCALE_SMOOTH) + ); + // establece la imagen en el label + jLabelx.setIcon(icono); + } + /////////////////////////////////////////////////////////////////////////////////////////// + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnAceptar; + private javax.swing.JLabel jLabel17; + private javax.swing.JLabel jLabel18; + private javax.swing.JLabel jLabel19; + private javax.swing.JLabel jLabel20; + private javax.swing.JLabel jLabel21; + private javax.swing.JLabel jLabel22; + private javax.swing.JLabel jLabel23; + private javax.swing.JLabel jLabel24; + private javax.swing.JLabel jLabel30; + private javax.swing.JLabel jLabel31; + private javax.swing.JLabel jLabel32; + private javax.swing.JLabel jLabel79; + private javax.swing.JLabel jLabel80; + private javax.swing.JPanel jPanel1; + private javax.swing.JPanel jPanel6; + private javax.swing.JScrollPane jScrollPane20; + private javax.swing.JScrollPane jScrollPane21; + private javax.swing.JScrollPane jScrollPane4; + private javax.swing.JScrollPane jScrollPane5; + private javax.swing.JSeparator jSeparator3; + private javax.swing.JSeparator jSeparator4; + private javax.swing.JLabel lbApellido; + private javax.swing.JLabel lbEmail; + private javax.swing.JLabel lbFechaElim; + private javax.swing.JLabel lbFechaN; + private javax.swing.JLabel lbImagen; + private javax.swing.JLabel lbNickName; + private javax.swing.JLabel lbNombre; + private javax.swing.JLabel lbNombreCanal; + private javax.swing.JLabel lbPrivacidad; + private javax.swing.JList<String> lstListaReproduccion; + private javax.swing.JList<String> lstUsuarios; + private javax.swing.JList<String> lstVideos; + private javax.swing.JTextArea txtDescripcion; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.form b/UyTube_logica/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.form new file mode 100644 index 0000000..513b2d1 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.form @@ -0,0 +1,173 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Dejar de seguir usuario"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="770" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel12" min="-2" pref="770" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="430" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel12" min="-2" pref="430" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel12"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Container class="javax.swing.JScrollPane" name="jScrollPane11"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="40" y="50" width="330" height="290"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstSeguidor"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstSeguidorValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Container class="javax.swing.JScrollPane" name="jScrollPane12"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="410" y="50" width="320" height="290"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstSeguido"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstSeguidoValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel61"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Usuarios:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="40" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel62"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Seguidos:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="410" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnSalir"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="salir"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnSalirActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="40" y="370" width="120" height="40"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnDejarDeSeguir"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Dejar de Seguir"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnDejarDeSeguirActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="530" y="370" width="200" height="40"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.java b/UyTube_logica/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.java new file mode 100644 index 0000000..f2a7725 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmDejarDeSeguirUsuario.java @@ -0,0 +1,227 @@ +package Presentacion.Usuario; + +import Logica.DataType.DtUsuario; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; + +public class frmDejarDeSeguirUsuario extends javax.swing.JDialog { + + private IAdmin Sys; + + public frmDejarDeSeguirUsuario(java.awt.Frame parent, boolean modal) { + super(parent, modal); + try { + initComponents(); + this.setLocationRelativeTo(null); + + Fabrica f = Fabrica.getInstancia(); + Sys = f.getIAdmin(); + + Sys.liberarMemoriaUsuarioActual(); + Sys.liberarMemoriaUsuario(); + + ArrayList<DtUsuario> ListaUsuarios = Sys.listarUsuarios(); + + DefaultListModel modelo = new DefaultListModel(); + + for (DtUsuario it : ListaUsuarios) { + modelo.addElement(it.getNickname()); + + } + lstSeguidor.setModel(modelo); + + btnDejarDeSeguir.setEnabled(false); + lstSeguido.setEnabled(false); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel12 = new javax.swing.JPanel(); + jScrollPane11 = new javax.swing.JScrollPane(); + lstSeguidor = new javax.swing.JList<>(); + jScrollPane12 = new javax.swing.JScrollPane(); + lstSeguido = new javax.swing.JList<>(); + jLabel61 = new javax.swing.JLabel(); + jLabel62 = new javax.swing.JLabel(); + btnSalir = new javax.swing.JButton(); + btnDejarDeSeguir = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Dejar de seguir usuario"); + setResizable(false); + + jPanel12.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + lstSeguidor.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstSeguidorValueChanged(evt); + } + }); + jScrollPane11.setViewportView(lstSeguidor); + + jPanel12.add(jScrollPane11, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 50, 330, 290)); + + lstSeguido.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstSeguidoValueChanged(evt); + } + }); + jScrollPane12.setViewportView(lstSeguido); + + jPanel12.add(jScrollPane12, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 50, 320, 290)); + + jLabel61.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel61.setText("Usuarios:"); + jPanel12.add(jLabel61, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 20, -1, -1)); + + jLabel62.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel62.setText("Seguidos:"); + jPanel12.add(jLabel62, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 20, -1, -1)); + + btnSalir.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnSalir.setText("salir"); + btnSalir.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnSalirActionPerformed(evt); + } + }); + jPanel12.add(btnSalir, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 370, 120, 40)); + + btnDejarDeSeguir.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnDejarDeSeguir.setText("Dejar de Seguir"); + btnDejarDeSeguir.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnDejarDeSeguirActionPerformed(evt); + } + }); + jPanel12.add(btnDejarDeSeguir, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 370, 200, 40)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 770, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel12, javax.swing.GroupLayout.PREFERRED_SIZE, 770, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 430, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel12, javax.swing.GroupLayout.PREFERRED_SIZE, 430, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSalirActionPerformed + //salir + try { + Sys.liberarMemoriaUsuarioActual(); + Sys.liberarMemoriaUsuario(); + dispose(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnSalirActionPerformed + + private void btnDejarDeSeguirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnDejarDeSeguirActionPerformed + + try { + Sys.seguirUsuario();//DEJA de SEGUIR + Sys.seleccionarUsuario(lstSeguidor.getSelectedValue()); + mostrarSeguidos(Sys.listarUsuarioSeguidos()); + Sys.seleccionarUsuarioActual(lstSeguidor.getSelectedValue()); + Sys.liberarMemoriaUsuario(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnDejarDeSeguirActionPerformed + private void mostrarSeguidos(ArrayList<DtUsuario> Seguidos) { + try { + Seguidos = Sys.listarUsuarioSeguidos(); + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : Seguidos) { + modelo.addElement(it.getNickname()); + } + lstSeguido.setModel(modelo); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + } + private void lstSeguidorValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstSeguidorValueChanged + // SegidoRRR + if (evt.getValueIsAdjusting()) { + return; + } + if (lstSeguidor.getSelectedIndex() < 0) { + return; + } + btnDejarDeSeguir.setEnabled(false); + + String Nickname = lstSeguidor.getSelectedValue(); + + try { + DtUsuario user = Sys.seleccionarUsuario(Nickname); + lstSeguido.setEnabled(true); + lstSeguido.clearSelection(); + + mostrarSeguidos(Sys.listarUsuarioSeguidos()); + + Sys.liberarMemoriaUsuario(); + + Sys.seleccionarUsuarioActual(Nickname); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstSeguidorValueChanged + + private void lstSeguidoValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstSeguidoValueChanged + // Segidoooo + if (evt.getValueIsAdjusting()) { + return; + } + if (lstSeguido.getSelectedIndex() < 0) { + return; + } + + String SegidOOO = lstSeguido.getSelectedValue(); + //lstVideos.setEnabled(true); + + try { + DtUsuario user = Sys.seleccionarUsuario(SegidOOO); + btnDejarDeSeguir.setEnabled(true); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstSeguidoValueChanged + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnDejarDeSeguir; + private javax.swing.JButton btnSalir; + private javax.swing.JLabel jLabel61; + private javax.swing.JLabel jLabel62; + private javax.swing.JPanel jPanel12; + private javax.swing.JScrollPane jScrollPane11; + private javax.swing.JScrollPane jScrollPane12; + private javax.swing.JList<String> lstSeguido; + private javax.swing.JList<String> lstSeguidor; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Usuario/frmListarUsuarios.form b/UyTube_logica/src/Presentacion/Usuario/frmListarUsuarios.form new file mode 100644 index 0000000..5077b3d --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmListarUsuarios.form @@ -0,0 +1,111 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Listar usuarios"/> + <Property name="iconImage" type="java.awt.Image" editor="org.netbeans.modules.form.ComponentChooserEditor"> + <ComponentRef name="default"/> + </Property> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" alignment="0" attributes="0"> + <EmptySpace max="-2" attributes="0"/> + <Component id="lbListarUasario" min="-2" pref="300" max="-2" attributes="0"/> + <EmptySpace max="32767" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" alignment="0" attributes="0"> + <EmptySpace max="-2" attributes="0"/> + <Component id="lbListarUasario" max="32767" attributes="0"/> + <EmptySpace max="-2" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="lbListarUasario"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Container class="javax.swing.JScrollPane" name="jScrollPane10"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="0" y="30" width="300" height="250"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstListaDeUsuario"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel60"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Usuarios:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="0" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + </Properties> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="btnAceptarMouseClicked"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="0" y="280" width="300" height="80"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Usuario/frmListarUsuarios.java b/UyTube_logica/src/Presentacion/Usuario/frmListarUsuarios.java new file mode 100644 index 0000000..32aea7d --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmListarUsuarios.java @@ -0,0 +1,105 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package Presentacion.Usuario; +import java.util.ArrayList; +import Logica.DataType.DtUsuario; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; + +public class frmListarUsuarios extends javax.swing.JDialog { + public frmListarUsuarios(java.awt.Frame parent, boolean modal) { + super(parent, modal); + + try { + initComponents(); + this.setLocationRelativeTo(null); + + Fabrica f = Fabrica.getInstancia(); + IAdmin Sys = f.getIAdmin(); + + ArrayList<DtUsuario> ListaUsuarios = Sys.listarUsuarios(); + + DefaultListModel modelo = new DefaultListModel(); + + for (DtUsuario it : ListaUsuarios) { + modelo.addElement(it.getNickname()); + } + lstListaDeUsuario.setModel(modelo); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + + + + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + lbListarUasario = new javax.swing.JPanel(); + jScrollPane10 = new javax.swing.JScrollPane(); + lstListaDeUsuario = new javax.swing.JList<>(); + jLabel60 = new javax.swing.JLabel(); + btnAceptar = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Listar usuarios"); + setResizable(false); + + lbListarUasario.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + jScrollPane10.setViewportView(lstListaDeUsuario); + + lbListarUasario.add(jScrollPane10, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 30, 300, 250)); + + jLabel60.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel60.setText("Usuarios:"); + lbListarUasario.add(jLabel60, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 10, -1, -1)); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N + btnAceptar.setText("Aceptar"); + btnAceptar.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + btnAceptarMouseClicked(evt); + } + }); + lbListarUasario.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 280, 300, 80)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(lbListarUasario, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(lbListarUasario, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap()) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnAceptarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnAceptarMouseClicked + dispose(); + }//GEN-LAST:event_btnAceptarMouseClicked + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnAceptar; + private javax.swing.JLabel jLabel60; + private javax.swing.JScrollPane jScrollPane10; + private javax.swing.JPanel lbListarUasario; + private javax.swing.JList<String> lstListaDeUsuario; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Usuario/frmModificarUsuario.form b/UyTube_logica/src/Presentacion/Usuario/frmModificarUsuario.form new file mode 100644 index 0000000..95cd553 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmModificarUsuario.form @@ -0,0 +1,496 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <NonVisualComponents> + <Component class="javax.swing.ButtonGroup" name="grpPrivacidad"> + </Component> + </NonVisualComponents> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Modificar usuario"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="960" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="lbMes" min="-2" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="560" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="lbMes" min="-2" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="lbMes"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="lbNombre"> + <Properties> + <Property name="text" type="java.lang.String" value="Nombre"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="330" y="60" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbCorreo"> + <Properties> + <Property name="text" type="java.lang.String" value="Correo"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="330" y="140" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel128"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Usuario"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="320" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JTextField" name="txtNombre"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="390" y="60" width="230" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JTextField" name="txtCorreo"> + <Properties> + <Property name="enabled" type="boolean" value="false"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="390" y="140" width="230" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JSeparator" name="jSeparator9"> + <Properties> + <Property name="orientation" type="int" value="1"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="310" y="0" width="10" height="560"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel131"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Seleccionar usuario"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane50"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="50" width="260" height="420"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstUsuarios"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstUsuariosValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JButton" name="btnModificar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Modificar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnModificarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="670" y="490" width="270" height="50"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnSeleccionar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Seleccionar imágen"/> + <Property name="toolTipText" type="java.lang.String" value=""/> + <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor"> + <Color id="Cursor Por defecto"/> + </Property> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnSeleccionarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="450" y="370" width="170" height="50"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JSeparator" name="jSeparator10"> + <Properties> + <Property name="orientation" type="int" value="1"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="640" y="0" width="10" height="560"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel132"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Canal"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="650" y="10" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbNombreC"> + <Properties> + <Property name="text" type="java.lang.String" value="Nombre"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="650" y="60" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JTextField" name="txtNombreCanal"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="740" y="60" width="200" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbDescripcion"> + <Properties> + <Property name="text" type="java.lang.String" value="Descripción"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="650" y="100" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane51"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="740" y="100" width="200" height="160"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JTextArea" name="txtDescrpcion"> + <Properties> + <Property name="columns" type="int" value="20"/> + <Property name="rows" type="int" value="5"/> + </Properties> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JButton" name="btnListaReprodiccion"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Modificar lista de reproducción"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnListaReprodiccionActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="670" y="340" width="270" height="50"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnVideo"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Modificar video"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnVideoActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="670" y="400" width="270" height="50"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnCancelar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Cancelar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnCancelarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="490" width="260" height="50"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JPanel" name="jpImagen"> + <Properties> + <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"> + <Border info="org.netbeans.modules.form.compat2.border.BevelBorderInfo"> + <BevelBorder/> + </Border> + </Property> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="330" y="370" width="110" height="110"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="lbImg"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="5" y="5" width="100" height="100"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JSeparator" name="jSeparator6"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="310" y="40" width="650" height="20"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JTextField" name="txtApellido"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="390" y="100" width="230" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbApellido"> + <Properties> + <Property name="text" type="java.lang.String" value="Apellido"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="330" y="100" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbRCN"> + <Properties> + <Property name="text" type="java.lang.String" value="Repita contraseña"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="330" y="300" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbCN"> + <Properties> + <Property name="text" type="java.lang.String" value="Contraseña nueva"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="330" y="270" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbFecha"> + <Properties> + <Property name="text" type="java.lang.String" value="Fecha de Nac."/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="330" y="180" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JCheckBox" name="chkCambiarContra"> + <Properties> + <Property name="text" type="java.lang.String" value="Cambiar contraseña"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="chkCambiarContraActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="330" y="230" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JRadioButton" name="rbPublico"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="grpPrivacidad"/> + </Property> + <Property name="text" type="java.lang.String" value="Público"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="740" y="270" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JRadioButton" name="rbPrivado"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="grpPrivacidad"/> + </Property> + <Property name="text" type="java.lang.String" value="Privado"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="840" y="270" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbImagen1"> + <Properties> + <Property name="text" type="java.lang.String" value="Imágen (opcional)"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="330" y="340" width="-1" height="20"/> + </Constraint> + </Constraints> + </Component> + <Component class="com.toedter.calendar.JDateChooser" name="dcFecha"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="450" y="180" width="170" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnQuitarImagen"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Quitar imágen"/> + <Property name="toolTipText" type="java.lang.String" value=""/> + <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor"> + <Color id="Cursor Por defecto"/> + </Property> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnQuitarImagenActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="450" y="430" width="170" height="50"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JPasswordField" name="txtContraNueva2"> + <Properties> + <Property name="text" type="java.lang.String" value="jPasswordField1"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="470" y="300" width="150" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JPasswordField" name="txtContraNueva1"> + <Properties> + <Property name="text" type="java.lang.String" value="jPasswordField1"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="470" y="270" width="150" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Usuario/frmModificarUsuario.java b/UyTube_logica/src/Presentacion/Usuario/frmModificarUsuario.java new file mode 100644 index 0000000..59482c5 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmModificarUsuario.java @@ -0,0 +1,640 @@ +package Presentacion.Usuario; + +import Logica.DataType.DtCanal; +import Logica.DataType.DtUsuario; +import Logica.Enumerados.Privacidad; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import Presentacion.ListaDeReproduccion.frmModificarListaDeReproduccion; +import Presentacion.Video.frmModificarVideo; +import java.awt.Image; +import java.io.File; +import java.util.ArrayList; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import javax.swing.DefaultListModel; +import javax.swing.ImageIcon; +import javax.swing.JFileChooser; +import javax.swing.JOptionPane; +import javax.swing.filechooser.FileNameExtensionFilter; + +public class frmModificarUsuario extends javax.swing.JDialog { + + IAdmin sys; + DtUsuario user; + String ruta; + + public frmModificarUsuario(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + txtContraNueva1.setEnabled(false); // TODO add your handling code here: + txtContraNueva2.setEnabled(false); // TODO add your handling code here: + lbCN.setEnabled(false); + lbRCN.setEnabled(false); + btnVideo.setEnabled(false); + btnListaReprodiccion.setEnabled(false); + desactivarCampos(); + try { + cargarImagenEnJlabel(lbImg, ""); + + // obtiene la instancia de sistema + sys = Fabrica.getInstancia().getIAdmin(); + + // lista usuarios en el JList + listarUsuarios(sys.listarUsuarios()); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + grpPrivacidad = new javax.swing.ButtonGroup(); + lbMes = new javax.swing.JPanel(); + lbNombre = new javax.swing.JLabel(); + lbCorreo = new javax.swing.JLabel(); + jLabel128 = new javax.swing.JLabel(); + txtNombre = new javax.swing.JTextField(); + txtCorreo = new javax.swing.JTextField(); + jSeparator9 = new javax.swing.JSeparator(); + jLabel131 = new javax.swing.JLabel(); + jScrollPane50 = new javax.swing.JScrollPane(); + lstUsuarios = new javax.swing.JList<>(); + btnModificar = new javax.swing.JButton(); + btnSeleccionar = new javax.swing.JButton(); + jSeparator10 = new javax.swing.JSeparator(); + jLabel132 = new javax.swing.JLabel(); + lbNombreC = new javax.swing.JLabel(); + txtNombreCanal = new javax.swing.JTextField(); + lbDescripcion = new javax.swing.JLabel(); + jScrollPane51 = new javax.swing.JScrollPane(); + txtDescrpcion = new javax.swing.JTextArea(); + btnListaReprodiccion = new javax.swing.JButton(); + btnVideo = new javax.swing.JButton(); + btnCancelar = new javax.swing.JButton(); + jpImagen = new javax.swing.JPanel(); + lbImg = new javax.swing.JLabel(); + jSeparator6 = new javax.swing.JSeparator(); + txtApellido = new javax.swing.JTextField(); + lbApellido = new javax.swing.JLabel(); + lbRCN = new javax.swing.JLabel(); + lbCN = new javax.swing.JLabel(); + lbFecha = new javax.swing.JLabel(); + chkCambiarContra = new javax.swing.JCheckBox(); + rbPublico = new javax.swing.JRadioButton(); + rbPrivado = new javax.swing.JRadioButton(); + lbImagen1 = new javax.swing.JLabel(); + dcFecha = new com.toedter.calendar.JDateChooser(); + btnQuitarImagen = new javax.swing.JButton(); + txtContraNueva2 = new javax.swing.JPasswordField(); + txtContraNueva1 = new javax.swing.JPasswordField(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Modificar usuario"); + setResizable(false); + + lbMes.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + lbNombre.setText("Nombre"); + lbMes.add(lbNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 60, -1, -1)); + + lbCorreo.setText("Correo"); + lbMes.add(lbCorreo, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 140, -1, -1)); + + jLabel128.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel128.setText("Usuario"); + lbMes.add(jLabel128, new org.netbeans.lib.awtextra.AbsoluteConstraints(320, 10, -1, -1)); + lbMes.add(txtNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 60, 230, -1)); + + txtCorreo.setEnabled(false); + lbMes.add(txtCorreo, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 140, 230, -1)); + + jSeparator9.setOrientation(javax.swing.SwingConstants.VERTICAL); + lbMes.add(jSeparator9, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 0, 10, 560)); + + jLabel131.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel131.setText("Seleccionar usuario"); + lbMes.add(jLabel131, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 20, -1, -1)); + + lstUsuarios.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstUsuariosValueChanged(evt); + } + }); + jScrollPane50.setViewportView(lstUsuarios); + + lbMes.add(jScrollPane50, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 50, 260, 420)); + + btnModificar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + btnModificar.setText("Modificar"); + btnModificar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnModificarActionPerformed(evt); + } + }); + lbMes.add(btnModificar, new org.netbeans.lib.awtextra.AbsoluteConstraints(670, 490, 270, 50)); + + btnSeleccionar.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnSeleccionar.setText("Seleccionar imágen"); + btnSeleccionar.setToolTipText(""); + btnSeleccionar.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); + btnSeleccionar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnSeleccionarActionPerformed(evt); + } + }); + lbMes.add(btnSeleccionar, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 370, 170, 50)); + + jSeparator10.setOrientation(javax.swing.SwingConstants.VERTICAL); + lbMes.add(jSeparator10, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 0, 10, 560)); + + jLabel132.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel132.setText("Canal"); + lbMes.add(jLabel132, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 10, -1, -1)); + + lbNombreC.setText("Nombre"); + lbMes.add(lbNombreC, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 60, -1, -1)); + lbMes.add(txtNombreCanal, new org.netbeans.lib.awtextra.AbsoluteConstraints(740, 60, 200, -1)); + + lbDescripcion.setText("Descripción"); + lbMes.add(lbDescripcion, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 100, -1, -1)); + + txtDescrpcion.setColumns(20); + txtDescrpcion.setRows(5); + jScrollPane51.setViewportView(txtDescrpcion); + + lbMes.add(jScrollPane51, new org.netbeans.lib.awtextra.AbsoluteConstraints(740, 100, 200, 160)); + + btnListaReprodiccion.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + btnListaReprodiccion.setText("Modificar lista de reproducción"); + btnListaReprodiccion.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnListaReprodiccionActionPerformed(evt); + } + }); + lbMes.add(btnListaReprodiccion, new org.netbeans.lib.awtextra.AbsoluteConstraints(670, 340, 270, 50)); + + btnVideo.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + btnVideo.setText("Modificar video"); + btnVideo.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnVideoActionPerformed(evt); + } + }); + lbMes.add(btnVideo, new org.netbeans.lib.awtextra.AbsoluteConstraints(670, 400, 270, 50)); + + btnCancelar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + btnCancelar.setText("Cancelar"); + btnCancelar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnCancelarActionPerformed(evt); + } + }); + lbMes.add(btnCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 490, 260, 50)); + + jpImagen.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED)); + jpImagen.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + jpImagen.add(lbImg, new org.netbeans.lib.awtextra.AbsoluteConstraints(5, 5, 100, 100)); + + lbMes.add(jpImagen, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 370, 110, 110)); + lbMes.add(jSeparator6, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 40, 650, 20)); + lbMes.add(txtApellido, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 100, 230, -1)); + + lbApellido.setText("Apellido"); + lbMes.add(lbApellido, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 100, -1, -1)); + + lbRCN.setText("Repita contraseña"); + lbMes.add(lbRCN, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 300, -1, -1)); + + lbCN.setText("Contraseña nueva"); + lbMes.add(lbCN, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 270, -1, -1)); + + lbFecha.setText("Fecha de Nac."); + lbMes.add(lbFecha, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 180, -1, -1)); + + chkCambiarContra.setText("Cambiar contraseña"); + chkCambiarContra.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + chkCambiarContraActionPerformed(evt); + } + }); + lbMes.add(chkCambiarContra, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 230, -1, -1)); + + grpPrivacidad.add(rbPublico); + rbPublico.setText("Público"); + lbMes.add(rbPublico, new org.netbeans.lib.awtextra.AbsoluteConstraints(740, 270, -1, -1)); + + grpPrivacidad.add(rbPrivado); + rbPrivado.setText("Privado"); + lbMes.add(rbPrivado, new org.netbeans.lib.awtextra.AbsoluteConstraints(840, 270, -1, -1)); + + lbImagen1.setText("Imágen (opcional)"); + lbMes.add(lbImagen1, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 340, -1, 20)); + lbMes.add(dcFecha, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 180, 170, -1)); + + btnQuitarImagen.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnQuitarImagen.setText("Quitar imágen"); + btnQuitarImagen.setToolTipText(""); + btnQuitarImagen.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); + btnQuitarImagen.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnQuitarImagenActionPerformed(evt); + } + }); + lbMes.add(btnQuitarImagen, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 430, 170, 50)); + + txtContraNueva2.setText("jPasswordField1"); + lbMes.add(txtContraNueva2, new org.netbeans.lib.awtextra.AbsoluteConstraints(470, 300, 150, -1)); + + txtContraNueva1.setText("jPasswordField1"); + lbMes.add(txtContraNueva1, new org.netbeans.lib.awtextra.AbsoluteConstraints(470, 270, 150, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 960, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(lbMes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 560, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(lbMes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + private void listarUsuarios(ArrayList<DtUsuario> ListaUsuarios) { + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : ListaUsuarios) { + modelo.addElement(it.getNickname()); + } + lstUsuarios.setModel(modelo); + + } + + private void desactivarCampos() { + txtNombre.setEnabled(false); + txtContraNueva1.setEnabled(false); + txtContraNueva2.setEnabled(false); + txtDescrpcion.setEnabled(false); + txtNombreCanal.setEnabled(false); + txtApellido.setEnabled(false); + dcFecha.setEnabled(false); + lbImg.setEnabled(false); + lbMes.setEnabled(false); + lbNombre.setEnabled(false); + lbApellido.setEnabled(false); + lbNombreC.setEnabled(false); + lbCorreo.setEnabled(false); + lbDescripcion.setEnabled(false); + lbFecha.setEnabled(false); + chkCambiarContra.setEnabled(false); + rbPublico.setEnabled(false); + rbPrivado.setEnabled(false); + btnModificar.setEnabled(false); + btnSeleccionar.setEnabled(false); + btnQuitarImagen.setEnabled(false); + txtDescrpcion.setEnabled(false); + + } + + private void activarCampos() { + + txtNombre.setEnabled(true); + txtDescrpcion.setEnabled(true); + txtNombreCanal.setEnabled(true); + txtApellido.setEnabled(true); + dcFecha.setEnabled(true); + lbImg.setEnabled(true); + lbMes.setEnabled(true); + lbNombre.setEnabled(true); + lbApellido.setEnabled(true); + lbNombreC.setEnabled(true); + lbCorreo.setEnabled(true); + lbDescripcion.setEnabled(true); + lbFecha.setEnabled(true); + chkCambiarContra.setEnabled(true); + rbPublico.setEnabled(true); + rbPrivado.setEnabled(true); + btnModificar.setEnabled(true); + btnSeleccionar.setEnabled(true); + btnQuitarImagen.setEnabled(true); + txtDescrpcion.setEnabled(true); + } + + private String seleccionarImagen() { + // Crea un JFileChooser + JFileChooser JFC = new JFileChooser(); + // crea un filtro para aceptar solo algunas extensiones + FileNameExtensionFilter filtroImagen = new FileNameExtensionFilter("JPG", "JPEG", "PNG", "jpg", "jpeg", "png"); + // Agrega el filtro al JFileChooser + JFC.setFileFilter(filtroImagen); + + // archivo seleccionado + File archivo; + // para saber si se selecciono algo o se cancelo + int resultado; + + while (true) { + // muestra el JFileChooser + resultado = JFC.showOpenDialog(this); + + // Si pasa algo que no sea el aceptar + if (resultado != JFileChooser.APPROVE_OPTION) { + return ""; + } + + // obtiene el archivo seleccionado + archivo = JFC.getSelectedFile(); + + // Si se selecciono algun archivo + if (archivo != null) { + // obtiene la ruta del archivo + String rutaArchivo = archivo.getAbsolutePath(); + // obtiene el archivo como imagen a partir de la ruta + Image img = new ImageIcon(rutaArchivo).getImage(); + + // verifica que tanto se deformará la imagen al mostrarla en un cuadrado + float deformacion; + if (img.getHeight(null) > img.getWidth(null)) { + deformacion = img.getHeight(null) / img.getWidth(null); + } else { + deformacion = img.getWidth(null) / img.getHeight(null); + } + + if (deformacion < 1.3 && deformacion >= 1) { + // si no se deforma demasiado + // devuelve la ruta absoluta + return rutaArchivo; + } else { + // si se deforma demasiado, lo avisa al usuario para que escoja otra + JOptionPane.showMessageDialog(null, + "La imagen es demasiado alta o demasiado ancha.\n" + img.getWidth(null) + "x" + img.getHeight(null), + "Problemas con la imagen", + JOptionPane.WARNING_MESSAGE + ); + } + } else { + // sino devuelve un string vacio + return ""; + } + } + } + + private void cargarImagenEnJlabel(javax.swing.JLabel jLabelx, String Ruta) { + jLabelx.setText(null); + if (Ruta == null || Ruta.isEmpty()){ + Ruta = "Imagenes\\ukp.png"; + } + // Carga la imagen a la variable de tipo Image + Image img = new ImageIcon(Ruta).getImage(); + // Crea un ImageIcon a partir de la imagen (obtiene las dimenciones del jLbel y escala la imagen para que entre en el mismo) + ImageIcon icono = new ImageIcon( + img.getScaledInstance(jLabelx.getWidth(), jLabelx.getHeight(), Image.SCALE_SMOOTH) + ); + // establece la imagen en el label + jLabelx.setIcon(icono); + } + + private boolean validarNombres(String _nombre) { + Pattern patronNombres = Pattern.compile("^([A-Za-zÑñÃáÉéÃÃÓóÚú]+)\\s*([A-Za-zÑñÃáÉéÃÃÓóÚú]+)\\s*([A-Za-zÑñÃáÉéÃÃÓóÚú]+)$"); + Matcher mather = patronNombres.matcher(_nombre); + if (mather.find() == true) { + return true; + } + return false; + } + + private void btnModificarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnModificarActionPerformed + txtNombre.setText(convertirPrimeraEnMayusculas(txtNombre.getText())); + txtApellido.setText(convertirPrimeraEnMayusculas(txtApellido.getText())); + try { + + if (lstUsuarios.isSelectionEmpty()) { + JOptionPane.showMessageDialog(null, "Seleccione un usuario para modificar", "Error", JOptionPane.WARNING_MESSAGE); + } else { + if (txtNombre.getText().isEmpty()) { + JOptionPane.showMessageDialog(null, "El campo nombre no puede quedar vacÃo", "Error", JOptionPane.WARNING_MESSAGE); + } else { + txtNombre.setText(txtNombre.getText().trim()); + if (!validarNombres(txtNombre.getText())) { + JOptionPane.showMessageDialog(null, "El nombre tiene caracteres no válidos", "Error", JOptionPane.WARNING_MESSAGE); + } else { + if (txtApellido.getText().isEmpty()) { + JOptionPane.showMessageDialog(null, "El campo apellido no puede quedar vacÃo", "Error", JOptionPane.WARNING_MESSAGE); + } else { + txtApellido.setText(txtApellido.getText().trim()); + if (!validarNombres(txtApellido.getText())) { + JOptionPane.showMessageDialog(null, "El apellido tiene caracteres no válidos", "Error", JOptionPane.WARNING_MESSAGE); + } else { + if (txtNombreCanal.getText().isEmpty()) { + JOptionPane.showMessageDialog(null, "El campo nombre de canal no puede quedar vacÃo", "Error", JOptionPane.WARNING_MESSAGE); + } else { + txtNombreCanal.setText(txtNombreCanal.getText().trim()); + String pass = user.getContrasenia(); + if (chkCambiarContra.isSelected()) { + + if (!(txtContraNueva1.getText().equals("") && txtContraNueva2.getText().equals(""))) { + + if (txtContraNueva1.getText().equals(txtContraNueva2.getText())) { + pass = txtContraNueva1.getText(); + } else { + JOptionPane.showMessageDialog(null, "Las contraseñas no coinciden, no se pudo efectuar el cambio de contraseña. Inténtelo de nuevo", "Error", JOptionPane.WARNING_MESSAGE); + txtContraNueva1.setText(""); + txtContraNueva2.setText(""); + return; + } + + } else { + JOptionPane.showMessageDialog(null, "Ingrese la contraseña nueva", "Error", JOptionPane.WARNING_MESSAGE); + return; + } + } + java.sql.Date fecha = null; //casteo fecha + if (dcFecha.getDate() != null) { + java.util.Date utilDate = dcFecha.getDate(); + fecha = new java.sql.Date(utilDate.getTime()); + }else{ + JOptionPane.showMessageDialog(null, "Debe seleccionar la fecha de nacimiento", "Error", JOptionPane.WARNING_MESSAGE); + return; + } + DtUsuario u = new DtUsuario(user.getNickname(), pass, txtNombre.getText(), txtApellido.getText(), user.getCorreo(), fecha, ruta, PROPERTIES); + Privacidad priv; + if (rbPrivado.isSelected()) { + priv = Privacidad.PRIVADO; + } else { + priv = Privacidad.PUBLICO; + } + DtCanal c = new DtCanal(0, txtNombreCanal.getText(), txtDescrpcion.getText(), priv); + sys.modificarUsuarioYCanal(u, c); + + JOptionPane.showMessageDialog(null, "Datos modificados correctamente", "OK", JOptionPane.INFORMATION_MESSAGE); + dispose(); + + } + } + } + } + } + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnModificarActionPerformed + + private void btnSeleccionarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSeleccionarActionPerformed + //cargarImagen(lbImagen); + String rutaAnterior = ruta; + ruta = seleccionarImagen(); + if (ruta.isEmpty()) { + ruta = rutaAnterior; + } + cargarImagenEnJlabel(lbImg, ruta); + }//GEN-LAST:event_btnSeleccionarActionPerformed + + private void btnListaReprodiccionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnListaReprodiccionActionPerformed + new frmModificarListaDeReproduccion(this, true, lstUsuarios.getSelectedValue()).setVisible(true); + }//GEN-LAST:event_btnListaReprodiccionActionPerformed + + private void btnVideoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnVideoActionPerformed + new frmModificarVideo(this, true, lstUsuarios.getSelectedValue()).setVisible(true); + }//GEN-LAST:event_btnVideoActionPerformed + + private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed + sys.liberarMemoriaUsuario(); + dispose(); + }//GEN-LAST:event_btnCancelarActionPerformed + private void cargarDatosDelUsuario(DtUsuario u) { + txtNombre.setText(u.getNombre()); + txtApellido.setText(u.getApellido()); + txtCorreo.setText(u.getCorreo()); + dcFecha.setDate(u.getFechaNacimiento()); + cargarImagenEnJlabel(lbImg, u.getImagen()); + + } + + private void cargarDatosDelCanal(DtCanal c) { + txtNombreCanal.setText(c.getNombre()); + txtDescrpcion.setText(c.getDescripcion()); + if (c.getPrivacidad() == Privacidad.PUBLICO) { + rbPublico.setSelected(true); + } else { + rbPrivado.setSelected(true); + } + } + + + private void lstUsuariosValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuariosValueChanged + try { + if (!lstUsuarios.isSelectionEmpty()) { + activarCampos(); + } + btnVideo.setEnabled(true); + btnListaReprodiccion.setEnabled(true); + String nick = lstUsuarios.getSelectedValue(); + user = sys.seleccionarUsuario(nick); + cargarDatosDelUsuario(user); + DtCanal dtc = sys.obtenerCanalDeUsuario(); + cargarDatosDelCanal(dtc); + ruta = user.getImagen(); + txtContraNueva1.setText(""); + txtContraNueva2.setText(""); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + + } // TODO add your handling code here: + }//GEN-LAST:event_lstUsuariosValueChanged + + private void chkCambiarContraActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkCambiarContraActionPerformed + if (chkCambiarContra.isSelected()) { + txtContraNueva1.setEnabled(true); + txtContraNueva2.setEnabled(true); + lbCN.setEnabled(true); + lbRCN.setEnabled(true); + + } else { + txtContraNueva1.setEnabled(false); + txtContraNueva2.setEnabled(false); + lbCN.setEnabled(false); + lbRCN.setEnabled(false); + } // TODO add your handling code here: + }//GEN-LAST:event_chkCambiarContraActionPerformed + + private void btnQuitarImagenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnQuitarImagenActionPerformed + // Quitar imagen + ruta = ""; + cargarImagenEnJlabel(lbImg, ruta); + }//GEN-LAST:event_btnQuitarImagenActionPerformed + + + private String convertirPrimeraEnMayusculas(String cadena){ + if (cadena.isEmpty()) { + return ""; + } + char[] caracteres = cadena.toCharArray(); + caracteres[0] = Character.toUpperCase(caracteres[0]);//Convierte el primer caracter de la primer palabra + // el -2 es para evitar una excepción al caernos del arreglo + for (int i = 0; i < cadena.length() - 2; i++) { // Es 'palabra' + if (caracteres[i] == ' ' || caracteres[i] == '.' || caracteres[i] == ',') { // Reemplazamos + caracteres[i + 1] = Character.toUpperCase(caracteres[i + 1]); + } + } + return new String(caracteres); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnCancelar; + private javax.swing.JButton btnListaReprodiccion; + private javax.swing.JButton btnModificar; + private javax.swing.JButton btnQuitarImagen; + private javax.swing.JButton btnSeleccionar; + private javax.swing.JButton btnVideo; + private javax.swing.JCheckBox chkCambiarContra; + private com.toedter.calendar.JDateChooser dcFecha; + private javax.swing.ButtonGroup grpPrivacidad; + private javax.swing.JLabel jLabel128; + private javax.swing.JLabel jLabel131; + private javax.swing.JLabel jLabel132; + private javax.swing.JScrollPane jScrollPane50; + private javax.swing.JScrollPane jScrollPane51; + private javax.swing.JSeparator jSeparator10; + private javax.swing.JSeparator jSeparator6; + private javax.swing.JSeparator jSeparator9; + private javax.swing.JPanel jpImagen; + private javax.swing.JLabel lbApellido; + private javax.swing.JLabel lbCN; + private javax.swing.JLabel lbCorreo; + private javax.swing.JLabel lbDescripcion; + private javax.swing.JLabel lbFecha; + private javax.swing.JLabel lbImagen1; + private javax.swing.JLabel lbImg; + private javax.swing.JPanel lbMes; + private javax.swing.JLabel lbNombre; + private javax.swing.JLabel lbNombreC; + private javax.swing.JLabel lbRCN; + private javax.swing.JList<String> lstUsuarios; + private javax.swing.JRadioButton rbPrivado; + private javax.swing.JRadioButton rbPublico; + private javax.swing.JTextField txtApellido; + private javax.swing.JPasswordField txtContraNueva1; + private javax.swing.JPasswordField txtContraNueva2; + private javax.swing.JTextField txtCorreo; + private javax.swing.JTextArea txtDescrpcion; + private javax.swing.JTextField txtNombre; + private javax.swing.JTextField txtNombreCanal; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Usuario/frmSeguirUsuario.form b/UyTube_logica/src/Presentacion/Usuario/frmSeguirUsuario.form new file mode 100644 index 0000000..8b096f0 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmSeguirUsuario.form @@ -0,0 +1,173 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Seguir usuario"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="770" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel12" min="-2" pref="770" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="430" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel12" min="-2" pref="430" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel12"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Container class="javax.swing.JScrollPane" name="jScrollPane11"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="40" y="50" width="330" height="290"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstSeguidor"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstSeguidorValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Container class="javax.swing.JScrollPane" name="jScrollPane12"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="410" y="50" width="320" height="290"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstNoSeguido"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstNoSeguidoValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel61"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Usuarios:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="40" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel62"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="No Seguidos:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="410" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnSeguir"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Seguir"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnSeguirActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="540" y="370" width="190" height="40"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnSalir"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="salir"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnSalirActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="50" y="370" width="120" height="40"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Usuario/frmSeguirUsuario.java b/UyTube_logica/src/Presentacion/Usuario/frmSeguirUsuario.java new file mode 100644 index 0000000..da1a718 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Usuario/frmSeguirUsuario.java @@ -0,0 +1,231 @@ +package Presentacion.Usuario; + +import Logica.DataType.DtUsuario; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; + +public class frmSeguirUsuario extends javax.swing.JDialog { + + private IAdmin Sys; + public ArrayList<DtUsuario> ListaTodosUsuarios; + + public frmSeguirUsuario(java.awt.Frame parent, boolean modal) { + super(parent, modal); + try { + initComponents(); + this.setLocationRelativeTo(null); + + Fabrica f = Fabrica.getInstancia(); + Sys = f.getIAdmin(); + + Sys.liberarMemoriaUsuarioActual(); + Sys.liberarMemoriaUsuario(); + + ListaTodosUsuarios = Sys.listarUsuarios(); + + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : ListaTodosUsuarios) { + modelo.addElement(it.getNickname()); + } + lstSeguidor.setModel(modelo); + + btnSeguir.setEnabled(false); + lstNoSeguido.setEnabled(false); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel12 = new javax.swing.JPanel(); + jScrollPane11 = new javax.swing.JScrollPane(); + lstSeguidor = new javax.swing.JList<>(); + jScrollPane12 = new javax.swing.JScrollPane(); + lstNoSeguido = new javax.swing.JList<>(); + jLabel61 = new javax.swing.JLabel(); + jLabel62 = new javax.swing.JLabel(); + btnSeguir = new javax.swing.JButton(); + btnSalir = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Seguir usuario"); + setResizable(false); + + jPanel12.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + lstSeguidor.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstSeguidorValueChanged(evt); + } + }); + jScrollPane11.setViewportView(lstSeguidor); + + jPanel12.add(jScrollPane11, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 50, 330, 290)); + + lstNoSeguido.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstNoSeguidoValueChanged(evt); + } + }); + jScrollPane12.setViewportView(lstNoSeguido); + + jPanel12.add(jScrollPane12, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 50, 320, 290)); + + jLabel61.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel61.setText("Usuarios:"); + jPanel12.add(jLabel61, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 20, -1, -1)); + + jLabel62.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel62.setText("No Seguidos:"); + jPanel12.add(jLabel62, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 20, -1, -1)); + + btnSeguir.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnSeguir.setText("Seguir"); + btnSeguir.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnSeguirActionPerformed(evt); + } + }); + jPanel12.add(btnSeguir, new org.netbeans.lib.awtextra.AbsoluteConstraints(540, 370, 190, 40)); + + btnSalir.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnSalir.setText("salir"); + btnSalir.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnSalirActionPerformed(evt); + } + }); + jPanel12.add(btnSalir, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 370, 120, 40)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 770, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel12, javax.swing.GroupLayout.PREFERRED_SIZE, 770, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 430, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel12, javax.swing.GroupLayout.PREFERRED_SIZE, 430, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSalirActionPerformed + //salir + try { + Sys.liberarMemoriaUsuarioActual(); + Sys.liberarMemoriaUsuario(); + dispose(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnSalirActionPerformed + + private void btnSeguirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSeguirActionPerformed + // TODO add your handling code here: + try { + Sys.seguirUsuario();// SEGUIR + String NickName = lstSeguidor.getSelectedValue(); + + DtUsuario user = Sys.seleccionarUsuario(NickName); + lstNoSeguido.setEnabled(true); + lstNoSeguido.clearSelection(); + + ArrayList<DtUsuario> NoSeguidos = Sys.listarUsuarioNoSeguidos(); + + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : NoSeguidos) { + modelo.addElement(it.getNickname()); + } + lstNoSeguido.setModel(modelo); + Sys.seleccionarUsuarioActual(NickName); + Sys.liberarMemoriaUsuario(); + //Sys.seguirUsuario(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnSeguirActionPerformed + + private void lstSeguidorValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstSeguidorValueChanged + // SegidoRRR + if (evt.getValueIsAdjusting()) { + return; + } + if (lstSeguidor.getSelectedIndex() < 0) { + return; + } + btnSeguir.setEnabled(false); + + String NickName = lstSeguidor.getSelectedValue(); + + try { + DtUsuario user = Sys.seleccionarUsuario(NickName); + lstNoSeguido.setEnabled(true); + lstNoSeguido.clearSelection(); + + ArrayList<DtUsuario> NoSeguidos = Sys.listarUsuarioNoSeguidos(); + + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : NoSeguidos) { + modelo.addElement(it.getNickname()); + } + lstNoSeguido.setModel(modelo); + Sys.seleccionarUsuarioActual(NickName); + Sys.liberarMemoriaUsuario(); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstSeguidorValueChanged + + private void lstNoSeguidoValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstNoSeguidoValueChanged + // Segidoooo + if (evt.getValueIsAdjusting()) { + return; + } + if (lstNoSeguido.getSelectedIndex() < 0) { + return; + } + + String Nickname = lstNoSeguido.getSelectedValue(); + //lstVideos.setEnabled(true); + + try { + DtUsuario user = Sys.seleccionarUsuario(Nickname); + btnSeguir.setEnabled(true); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstNoSeguidoValueChanged + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnSalir; + private javax.swing.JButton btnSeguir; + private javax.swing.JLabel jLabel61; + private javax.swing.JLabel jLabel62; + private javax.swing.JPanel jPanel12; + private javax.swing.JScrollPane jScrollPane11; + private javax.swing.JScrollPane jScrollPane12; + private javax.swing.JList<String> lstNoSeguido; + private javax.swing.JList<String> lstSeguidor; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Video/frmAltaVideo.form b/UyTube_logica/src/Presentacion/Video/frmAltaVideo.form new file mode 100644 index 0000000..e7177c9 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Video/frmAltaVideo.form @@ -0,0 +1,389 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Alta video"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <Events> + <EventHandler event="windowClosing" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowClosing"/> + <EventHandler event="windowActivated" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowActivated"/> + </Events> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" alignment="1" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel14" min="-2" pref="980" max="-2" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <Component id="jPanel14" alignment="0" pref="535" max="32767" attributes="0"/> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel14"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="jLabel71"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Dueño del video:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane16"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="50" width="290" height="360"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstDuenioVideo"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstDuenioVideoValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel72"> + <Properties> + <Property name="text" type="java.lang.String" value="Nombre:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="340" y="30" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel73"> + <Properties> + <Property name="text" type="java.lang.String" value="Segundos"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="560" y="100" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel74"> + <Properties> + <Property name="text" type="java.lang.String" value="URL:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="340" y="160" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel75"> + <Properties> + <Property name="text" type="java.lang.String" value="Descripción:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="340" y="220" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel76"> + <Properties> + <Property name="text" type="java.lang.String" value="Fecha publicación:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="340" y="380" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel77"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Asignar categoría:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="690" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane17"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="690" y="50" width="260" height="360"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstAsignarCategoria"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstAsignarCategoriaValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JTextField" name="txtNombre"> + <Events> + <EventHandler event="focusGained" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="txtNombreFocusGained"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="340" y="50" width="330" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JTextField" name="txtUrl"> + <Events> + <EventHandler event="focusGained" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="txtUrlFocusGained"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="340" y="180" width="330" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane18"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="340" y="240" width="330" height="120"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JTextArea" name="txtDescripcion"> + <Properties> + <Property name="columns" type="int" value="20"/> + <Property name="rows" type="int" value="5"/> + </Properties> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnAceptarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="690" y="440" width="260" height="70"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnCancelar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Cancelar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnCancelarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="440" width="290" height="70"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JSpinner" name="spSegundos"> + <Properties> + <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor"> + <SpinnerModel initial="0" maximum="59" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/> + </Property> + </Properties> + <Events> + <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="spSegundosStateChanged"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="560" y="120" width="60" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JSpinner" name="spHoras"> + <Properties> + <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor"> + <SpinnerModel initial="0" maximum="15" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/> + </Property> + </Properties> + <Events> + <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="spHorasStateChanged"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="420" y="120" width="60" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JSpinner" name="spMinutos"> + <Properties> + <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor"> + <SpinnerModel initial="0" maximum="59" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/> + </Property> + </Properties> + <Events> + <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="spMinutosStateChanged"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="490" y="120" width="60" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel135"> + <Properties> + <Property name="text" type="java.lang.String" value="Duración:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="340" y="100" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel136"> + <Properties> + <Property name="text" type="java.lang.String" value="Horas"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="420" y="100" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel137"> + <Properties> + <Property name="text" type="java.lang.String" value="Minutos"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="490" y="100" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="com.toedter.calendar.JDateChooser" name="jDateChooser1"> + <Properties> + <Property name="maxSelectableDate" type="java.util.Date" editor="org.netbeans.beaninfo.editors.DateEditor"> + <SerializedValue value="-84,-19,0,5,115,114,0,14,106,97,118,97,46,117,116,105,108,46,68,97,116,101,104,106,-127,1,75,89,116,25,3,0,0,120,112,119,8,0,0,2,75,-49,58,60,88,120"/> + </Property> + <Property name="minSelectableDate" type="java.util.Date" editor="org.netbeans.beaninfo.editors.DateEditor"> + <SerializedValue value="-84,-19,0,5,115,114,0,14,106,97,118,97,46,117,116,105,108,46,68,97,116,101,104,106,-127,1,75,89,116,25,3,0,0,120,112,119,8,-1,-1,-3,-3,-81,8,28,-72,120"/> + </Property> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="480" y="380" width="190" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbMsjNombre"> + <Properties> + <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor"> + <Dimension value="[0, 15]"/> + </Property> + <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor"> + <Dimension value="[0, 15]"/> + </Property> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="340" y="70" width="330" height="15"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbMsjUrl"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="340" y="200" width="330" height="15"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbMsjFecha"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="340" y="430" width="250" height="15"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbMsjDescripcion"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="340" y="370" width="330" height="15"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbMsjDuracion"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="340" y="140" width="330" height="15"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Video/frmAltaVideo.java b/UyTube_logica/src/Presentacion/Video/frmAltaVideo.java new file mode 100644 index 0000000..728f047 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Video/frmAltaVideo.java @@ -0,0 +1,547 @@ + +package Presentacion.Video; + +import Logica.Fabrica; +import Logica.Clases.Video; +import Logica.DataType.DtVideo; +import Logica.Enumerados.Privacidad; +import Logica.Interfaces.IAdmin; +import java.awt.Color; +import java.sql.Time; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import javax.swing.BorderFactory; +import javax.swing.DefaultListModel; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JTextField; +import javax.swing.border.Border; +import javax.swing.plaf.ColorUIResource; + +public class frmAltaVideo extends javax.swing.JDialog { + + private ArrayList<String> indexDuenioVideo = new ArrayList(); + private ArrayList<String> indexCategorias = new ArrayList(); + private IAdmin sys; + private String categoria = ""; + private String usrSeleccionado = ""; + private Border bordeDefault; + private Color colorOK = new ColorUIResource(40,167,69); + private Color colorError = new ColorUIResource(220,53,69); + private String nombre = new String(); + private String url = new String(); + private String descripcion = new String(); + int anioActual,diaActual,mesActual; + + // Patrón para validar el email + Pattern patronURL = Pattern.compile("^((((https?|ftps?|gopher|telnet|nntp)://)|(mailto:|news:))(%[0-9A-Fa-f]{2}|[-()_.!~*’;/?:@&=+$, A-Za-z0-9])+)([).!’;/?:, ][[:blank:]])?$"); + + Pattern patronNombre= Pattern.compile("^([A-Za-zÑñÃáÉéÃÃÓóÚú0-9]+)\\s*([A-Za-zÑñÃáÉéÃÃÓóÚú0-9]+)\\s*" + + "([A-Za-zÑñÃáÉéÃÃÓóÚú0-9]+)$"); + public frmAltaVideo(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + sys = Fabrica.getInstancia().getIAdmin(); + bordeDefault = txtNombre.getBorder(); + nombre = ""; + url = ""; + descripcion = ""; + } + + private boolean validarDuracion(int s, int m, int h){ + if ( s > 0 || m > 0 || h > 0) { + return true; + } + lbMsjDuracion.setOpaque(true); + lbMsjDuracion.setForeground(Color.WHITE); + lbMsjDuracion.setBackground(colorError); + lbMsjDuracion.setText(" El campo duración es obligatorio"); + return false; + } + + private void limpiarCampos(){ + txtNombre.setText(""); + txtDescripcion.setText(""); + txtUrl.setText(""); + spHoras.setValue(0); + spMinutos.setValue(0); + spSegundos.setValue(0); + usrSeleccionado=""; + categoria = ""; + jDateChooser1.setDate(null); + } + + private void limpiarLstDuenios(){ + DefaultListModel modelo = new DefaultListModel(); + lstDuenioVideo.setModel(modelo); + indexDuenioVideo.clear(); + } + + private void limpiarLstCategorias(){ + DefaultListModel modelo = new DefaultListModel(); + lstAsignarCategoria.setModel(modelo); + indexCategorias.clear(); + } + + private boolean validarFormatoURL(String _url){ + Matcher mather = patronURL.matcher(_url); + if (mather.find() == true) { + return true; + } + return false; + } + + private boolean validarNombres(String _nombre){ + Matcher mather = patronNombre.matcher(_nombre); + if (mather.find() == true) { + return true; + } + return false; + } + + private boolean validarTxt(JTextField txt, int max,JLabel lb,String nombreCampo){ + try{ + if(txt.getText().length() > max ){ + lb.setText(" El campo supera los "+max+" caracteres"); + cambiarColoresError(txt, lb); + return false; + } + else if(txt.getText().equals("")){ + lb.setText(" El campo "+nombreCampo+" es obligatorio"); + cambiarColoresError(txt, lb); + return false; + } + else if(nombreCampo.equals("Nombre") ){ + for (DtVideo video : sys.listarVideosDeUsuario()) { + if(video.getNombre().equals(nombre)){ + lb.setText(" El nombre del video ya existe"); + cambiarColoresError(txt, lb); + return false; + } + } + } + else if(nombreCampo.equals("URL")){ + if(!validarFormatoURL(url)){ + lb.setText(" El formato de la URI no es válido"); + cambiarColoresError(txt, lb); + return false; + } + } + else{ + txt.setBorder(bordeDefault); + lb.setText(""); + lb.setOpaque(false); + } + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + return true; + } + + private void cambiarColoresError(JTextField txt, JLabel lb){ + lb.setOpaque(true); + lb.setForeground(Color.WHITE); + lb.setBackground(colorError); + txt.setBorder(BorderFactory.createLineBorder(colorError, 1)); + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel14 = new javax.swing.JPanel(); + jLabel71 = new javax.swing.JLabel(); + jScrollPane16 = new javax.swing.JScrollPane(); + lstDuenioVideo = new javax.swing.JList<>(); + jLabel72 = new javax.swing.JLabel(); + jLabel73 = new javax.swing.JLabel(); + jLabel74 = new javax.swing.JLabel(); + jLabel75 = new javax.swing.JLabel(); + jLabel76 = new javax.swing.JLabel(); + jLabel77 = new javax.swing.JLabel(); + jScrollPane17 = new javax.swing.JScrollPane(); + lstAsignarCategoria = new javax.swing.JList<>(); + txtNombre = new javax.swing.JTextField(); + txtUrl = new javax.swing.JTextField(); + jScrollPane18 = new javax.swing.JScrollPane(); + txtDescripcion = new javax.swing.JTextArea(); + btnAceptar = new javax.swing.JButton(); + btnCancelar = new javax.swing.JButton(); + spSegundos = new javax.swing.JSpinner(); + spHoras = new javax.swing.JSpinner(); + spMinutos = new javax.swing.JSpinner(); + jLabel135 = new javax.swing.JLabel(); + jLabel136 = new javax.swing.JLabel(); + jLabel137 = new javax.swing.JLabel(); + jDateChooser1 = new com.toedter.calendar.JDateChooser(); + lbMsjNombre = new javax.swing.JLabel(); + lbMsjUrl = new javax.swing.JLabel(); + lbMsjFecha = new javax.swing.JLabel(); + lbMsjDescripcion = new javax.swing.JLabel(); + lbMsjDuracion = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Alta video"); + setResizable(false); + addWindowListener(new java.awt.event.WindowAdapter() { + public void windowClosing(java.awt.event.WindowEvent evt) { + formWindowClosing(evt); + } + public void windowActivated(java.awt.event.WindowEvent evt) { + formWindowActivated(evt); + } + }); + + jPanel14.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + jLabel71.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + jLabel71.setText("Dueño del video:"); + jPanel14.add(jLabel71, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 20, -1, -1)); + + lstDuenioVideo.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstDuenioVideoValueChanged(evt); + } + }); + jScrollPane16.setViewportView(lstDuenioVideo); + + jPanel14.add(jScrollPane16, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 50, 290, 360)); + + jLabel72.setText("Nombre:"); + jPanel14.add(jLabel72, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 30, -1, -1)); + + jLabel73.setText("Segundos"); + jPanel14.add(jLabel73, new org.netbeans.lib.awtextra.AbsoluteConstraints(560, 100, -1, -1)); + + jLabel74.setText("URL:"); + jPanel14.add(jLabel74, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 160, -1, -1)); + + jLabel75.setText("Descripción:"); + jPanel14.add(jLabel75, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 220, -1, -1)); + + jLabel76.setText("Fecha publicación:"); + jPanel14.add(jLabel76, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 380, -1, -1)); + + jLabel77.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + jLabel77.setText("Asignar categorÃa:"); + jPanel14.add(jLabel77, new org.netbeans.lib.awtextra.AbsoluteConstraints(690, 20, -1, -1)); + + lstAsignarCategoria.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstAsignarCategoriaValueChanged(evt); + } + }); + jScrollPane17.setViewportView(lstAsignarCategoria); + + jPanel14.add(jScrollPane17, new org.netbeans.lib.awtextra.AbsoluteConstraints(690, 50, 260, 360)); + + txtNombre.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusGained(java.awt.event.FocusEvent evt) { + txtNombreFocusGained(evt); + } + }); + jPanel14.add(txtNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 50, 330, -1)); + + txtUrl.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusGained(java.awt.event.FocusEvent evt) { + txtUrlFocusGained(evt); + } + }); + jPanel14.add(txtUrl, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 180, 330, -1)); + + txtDescripcion.setColumns(20); + txtDescripcion.setRows(5); + jScrollPane18.setViewportView(txtDescripcion); + + jPanel14.add(jScrollPane18, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 240, 330, 120)); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + btnAceptar.setText("Aceptar"); + btnAceptar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnAceptarActionPerformed(evt); + } + }); + jPanel14.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(690, 440, 260, 70)); + + btnCancelar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + btnCancelar.setText("Cancelar"); + btnCancelar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnCancelarActionPerformed(evt); + } + }); + jPanel14.add(btnCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 440, 290, 70)); + + spSegundos.setModel(new javax.swing.SpinnerNumberModel(0, 0, 59, 1)); + spSegundos.addChangeListener(new javax.swing.event.ChangeListener() { + public void stateChanged(javax.swing.event.ChangeEvent evt) { + spSegundosStateChanged(evt); + } + }); + jPanel14.add(spSegundos, new org.netbeans.lib.awtextra.AbsoluteConstraints(560, 120, 60, -1)); + + spHoras.setModel(new javax.swing.SpinnerNumberModel(0, 0, 15, 1)); + spHoras.addChangeListener(new javax.swing.event.ChangeListener() { + public void stateChanged(javax.swing.event.ChangeEvent evt) { + spHorasStateChanged(evt); + } + }); + jPanel14.add(spHoras, new org.netbeans.lib.awtextra.AbsoluteConstraints(420, 120, 60, -1)); + + spMinutos.setModel(new javax.swing.SpinnerNumberModel(0, 0, 59, 1)); + spMinutos.addChangeListener(new javax.swing.event.ChangeListener() { + public void stateChanged(javax.swing.event.ChangeEvent evt) { + spMinutosStateChanged(evt); + } + }); + jPanel14.add(spMinutos, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 120, 60, -1)); + + jLabel135.setText("Duración:"); + jPanel14.add(jLabel135, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 100, -1, -1)); + + jLabel136.setText("Horas"); + jPanel14.add(jLabel136, new org.netbeans.lib.awtextra.AbsoluteConstraints(420, 100, -1, -1)); + + jLabel137.setText("Minutos"); + jPanel14.add(jLabel137, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 100, -1, -1)); + + jDateChooser1.setMaxSelectableDate(new java.util.Date(2524622503000L)); + jDateChooser1.setMinSelectableDate(new java.util.Date(-2208971613000L)); + jPanel14.add(jDateChooser1, new org.netbeans.lib.awtextra.AbsoluteConstraints(480, 380, 190, -1)); + + lbMsjNombre.setMaximumSize(new java.awt.Dimension(0, 15)); + lbMsjNombre.setMinimumSize(new java.awt.Dimension(0, 15)); + jPanel14.add(lbMsjNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 70, 330, 15)); + jPanel14.add(lbMsjUrl, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 200, 330, 15)); + jPanel14.add(lbMsjFecha, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 430, 250, 15)); + jPanel14.add(lbMsjDescripcion, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 370, 330, 15)); + jPanel14.add(lbMsjDuracion, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 140, 330, 15)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel14, javax.swing.GroupLayout.PREFERRED_SIZE, 980, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel14, javax.swing.GroupLayout.DEFAULT_SIZE, 535, Short.MAX_VALUE) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed + jDateChooser1.setBorder(bordeDefault); + lbMsjFecha.setText(""); + lbMsjFecha.setOpaque(false); + nombre = txtNombre.getText().trim();//Obtiene el nombre y quita los espacios de los extremos + descripcion = txtDescripcion.getText().trim();//Obtiene la descripcion y quita los espacios de los extremos + url = txtUrl.getText().trim();//Obtiene la url y quita los espacios de los extremos + int horas = (Integer)spHoras.getValue(); + int minutos = (Integer)spMinutos.getValue(); + int segundos = (Integer)spSegundos.getValue(); + Time duracion = new Time(horas, minutos, segundos); + java.sql.Date fecha = null; + //Verifica que la fecha no sea nula y la guarda en el formato correcto + if( jDateChooser1.getDate() != null){ + java.util.Date utilDate = jDateChooser1.getDate();//Obtiene la fecha del JDateChooser en formato Date + fecha = new java.sql.Date(utilDate.getTime());//Lo combierte al tipo Date sql + } + //Arrays para validaciones campos de texto + JTextField v1[] = {txtNombre,txtUrl}; //campos a validar + int[] v2= {100,2083}; //Largos maximos de los campos Nombre y URL + JLabel[] v3= { lbMsjNombre, lbMsjUrl}; //labels para mostrar mensajes + String[] v4 ={"Nombre","URL","Descricion"};//Nombre del campo + boolean[] v5 ={false,false,false};//Estado inicial de las validaciones, cada elemento es una validacion de un campo especifico + for (int i = 0; i < v5.length-1; i++) { + if (validarTxt(v1[i], v2[i], v3[i], v4[i])) { + v5[i] = true; + } + } + if(validarDuracion(segundos, minutos, horas)){ + v5[2] = true; + } + if (fecha == null) { + jDateChooser1.setBorder(BorderFactory.createLineBorder(colorError, 1)); + lbMsjFecha.setText(" La fecha es obligatoria"); + lbMsjFecha.setOpaque(true); + lbMsjFecha.setForeground(Color.WHITE); + lbMsjFecha.setBackground(colorError); + } + if(v5[0]==false|| v5[1]==false || v5[2]==false){ + return; + } + try { + DtVideo dtVideo = new DtVideo(0, nombre, descripcion, duracion, fecha, url, Privacidad.PRIVADO, categoria, 0, 0); + int opcion=JOptionPane.showConfirmDialog(null, + "¿Desea guardar el video \""+nombre+"\"?" + , "Confirmar alta de Video", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); + if(opcion==0){ + sys.altaVideo(dtVideo); + limpiarCampos(); + } + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnAceptarActionPerformed + + private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed + limpiarLstDuenios(); + limpiarLstCategorias(); + limpiarCampos(); + this.setVisible(false);//Oculta el formulario AltaVideo + }//GEN-LAST:event_btnCancelarActionPerformed + + private void formWindowActivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowActivated + DefaultListModel modeloDuenio = new DefaultListModel(); + DefaultListModel modeloCategoria = new DefaultListModel(); + Calendar c = new GregorianCalendar();//Objeto de tipo calendario con la fecha actual + java.util.Date fechaActual = new Date(c.get(Calendar.YEAR)-1900,c.get(Calendar.MONTH),c.get(Calendar.DATE));//Obtiene la fecha actual del calendario + jDateChooser1.setDate(fechaActual);//Setea el JDateChooser con la fecha actual + try { + // Obtengo todos los nickname y los cargo en el listDuenioVideo(Lista de dueños de videos) + limpiarLstCategorias(); + limpiarLstDuenios(); + if (!sys.listarUsuarios().isEmpty()) { + for (int i = 0; i < sys.listarUsuarios().size(); i++) { + modeloDuenio.add(i, sys.listarUsuarios().get(i).getNickname()); + } + lstDuenioVideo.setModel(modeloDuenio); + lstDuenioVideo.setSelectedIndex(0);//Setea la lista en el primer usuario + usrSeleccionado = lstDuenioVideo.getSelectedValue(); + sys.seleccionarUsuario(usrSeleccionado); + } + // Obtengo todas las categorias de video y las muestro en la lista + if (!sys.listarCategorias().isEmpty()) { + for (int i = 0; i < sys.listarCategorias().size(); i++) { + modeloCategoria.add(i, sys.listarCategorias().get(i)); + indexCategorias.add(i, sys.listarCategorias().get(i));//Alamacena cada categoria obtenida en el mismo orde + } + lstAsignarCategoria.setModel(modeloCategoria); + //Setea la lista Categoria en el elemento UNDEFINE + for (int i = 0; i < indexCategorias.size(); i++) { + if( indexCategorias.get(i).equals("UNDEFINED") ){ + lstAsignarCategoria.setSelectedIndex(i); + categoria = lstAsignarCategoria.getSelectedValue(); + break; + } + } + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_formWindowActivated + + private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing + // Al cerrar el formulario se borran todos los datos + limpiarCampos(); + limpiarLstCategorias(); + limpiarLstDuenios(); + }//GEN-LAST:event_formWindowClosing + + private void lstDuenioVideoValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstDuenioVideoValueChanged + if (evt.getValueIsAdjusting()) return; + if (lstDuenioVideo.getSelectedIndex()<0) return; + try { + // El sistema selecciona al usuario actual con el nickname seleccionado de la lista + usrSeleccionado = lstDuenioVideo.getSelectedValue(); + sys.seleccionarUsuario(usrSeleccionado); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstDuenioVideoValueChanged + + private void lstAsignarCategoriaValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstAsignarCategoriaValueChanged + if (evt.getValueIsAdjusting()) return; + if (lstAsignarCategoria.getSelectedIndex()<0) return; + try { + // Selecciona una categoria de la lista de categorias + categoria = lstAsignarCategoria.getSelectedValue(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstAsignarCategoriaValueChanged + + private void txtNombreFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtNombreFocusGained + //Al recibir el foco restaura los valores + txtNombre.setBorder(bordeDefault); + lbMsjNombre.setText(""); + lbMsjNombre.setOpaque(false); + }//GEN-LAST:event_txtNombreFocusGained + + private void txtUrlFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtUrlFocusGained + //Al recibir el foco restaura los valores + txtUrl.setBorder(bordeDefault); + lbMsjUrl.setText(""); + lbMsjUrl.setOpaque(false); + }//GEN-LAST:event_txtUrlFocusGained + + private void spSegundosStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spSegundosStateChanged + // Al cambiar el valor verifica y restaura los valores + if(validarDuracion((Integer)spSegundos.getValue(),(Integer)spMinutos.getValue(),(Integer)spHoras.getValue())){ + lbMsjDuracion.setText(""); + lbMsjDuracion.setOpaque(false); + } + }//GEN-LAST:event_spSegundosStateChanged + + private void spMinutosStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spMinutosStateChanged + // Al cambiar el valor verifica y restaura los valores + if(validarDuracion((Integer)spSegundos.getValue(),(Integer)spMinutos.getValue(),(Integer)spHoras.getValue())){ + lbMsjDuracion.setText(""); + lbMsjDuracion.setOpaque(false); + } + }//GEN-LAST:event_spMinutosStateChanged + + private void spHorasStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spHorasStateChanged + // Al cambiar el valor verifica y restaura los valores + if(validarDuracion((Integer)spSegundos.getValue(),(Integer)spMinutos.getValue(),(Integer)spHoras.getValue())){ + lbMsjDuracion.setText(""); + lbMsjDuracion.setOpaque(false); + } + }//GEN-LAST:event_spHorasStateChanged + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnAceptar; + private javax.swing.JButton btnCancelar; + private com.toedter.calendar.JDateChooser jDateChooser1; + private javax.swing.JLabel jLabel135; + private javax.swing.JLabel jLabel136; + private javax.swing.JLabel jLabel137; + private javax.swing.JLabel jLabel71; + private javax.swing.JLabel jLabel72; + private javax.swing.JLabel jLabel73; + private javax.swing.JLabel jLabel74; + private javax.swing.JLabel jLabel75; + private javax.swing.JLabel jLabel76; + private javax.swing.JLabel jLabel77; + private javax.swing.JPanel jPanel14; + private javax.swing.JScrollPane jScrollPane16; + private javax.swing.JScrollPane jScrollPane17; + private javax.swing.JScrollPane jScrollPane18; + private javax.swing.JLabel lbMsjDescripcion; + private javax.swing.JLabel lbMsjDuracion; + private javax.swing.JLabel lbMsjFecha; + private javax.swing.JLabel lbMsjNombre; + private javax.swing.JLabel lbMsjUrl; + private javax.swing.JList<String> lstAsignarCategoria; + private javax.swing.JList<String> lstDuenioVideo; + private javax.swing.JSpinner spHoras; + private javax.swing.JSpinner spMinutos; + private javax.swing.JSpinner spSegundos; + private javax.swing.JTextArea txtDescripcion; + private javax.swing.JTextField txtNombre; + private javax.swing.JTextField txtUrl; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Video/frmComentarVideo.form b/UyTube_logica/src/Presentacion/Video/frmComentarVideo.form new file mode 100644 index 0000000..2f8df03 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Video/frmComentarVideo.form @@ -0,0 +1,314 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.7" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Comentar video"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="980" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel6" min="-2" pref="980" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="550" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel6" min="-2" pref="550" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel6"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Container class="javax.swing.JScrollPane" name="jScrollPane3"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="210" y="280" width="310" height="90"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JTextArea" name="AreaComentario"> + <Properties> + <Property name="columns" type="int" value="20"/> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="rows" type="int" value="5"/> + <Property name="toolTipText" type="java.lang.String" value="Ingrese aqui nuevo comentario"/> + </Properties> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JButton" name="btnComentar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Comentar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnComentarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="310" y="460" width="210" height="60"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane4"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="50" width="400" height="380"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JTree" name="ArbolComentarios"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="12" style="0"/> + </Property> + <Property name="model" type="javax.swing.tree.TreeModel" editor="org.netbeans.modules.form.editors2.TreeModelEditor"> + <TreeModel code=""/> + </Property> + <Property name="toolTipText" type="java.lang.String" value=""/> + <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor"> + <Color id="Cursor de Mano"/> + </Property> + </Properties> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnAceptarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="740" y="460" width="210" height="60"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel15"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Comentarios:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="550" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel35"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Texto del comentario:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="210" y="250" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane6"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="50" width="150" height="150"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstUsuario"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + <Property name="toolTipText" type="java.lang.String" value=""/> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstUsuarioValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel45"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Usuario que comenta:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="250" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane52"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="210" y="50" width="310" height="150"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstVideos"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + <Property name="toolTipText" type="java.lang.String" value=""/> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstVideosValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel150"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Videos:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="210" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane1"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="280" width="150" height="150"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstUsuarioComentador"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + <Property name="toolTipText" type="java.lang.String" value="Seleccione usuario que realizara el nuevo comentario"/> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstUsuarioComentadorValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel50"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Propietario del video:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="com.toedter.calendar.JDateChooser" name="DateCh"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="370" y="390" width="150" height="30"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel1"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Fecha del comentario:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="210" y="390" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Video/frmComentarVideo.java b/UyTube_logica/src/Presentacion/Video/frmComentarVideo.java new file mode 100644 index 0000000..0f7c37d --- /dev/null +++ b/UyTube_logica/src/Presentacion/Video/frmComentarVideo.java @@ -0,0 +1,450 @@ +package Presentacion.Video; + +import Logica.DataType.DtComentario; +import Logica.DataType.DtUsuario; +import Logica.DataType.DtVideo; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import java.sql.Date; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.TreeModel; +import javax.swing.tree.TreePath; + +public class frmComentarVideo extends javax.swing.JDialog { + + private IAdmin Sys; + private ArrayList<DtVideo> VideosDelUser; + private ArrayList<DtComentario> ComentariosDelVideo; + + public frmComentarVideo(java.awt.Frame parent, boolean modal) { + super(parent, modal); + try { + initComponents(); + this.setLocationRelativeTo(null); + Fabrica f = Fabrica.getInstancia(); + Sys = f.getIAdmin(); + + Sys.liberarMemoriaVideo(); + Sys.liberarMemoriaUsuarioActual(); + Sys.liberarMemoriaUsuario(); + + // quita el icono de carpetas en el JTree de comentarios + javax.swing.tree.DefaultTreeCellRenderer render = (javax.swing.tree.DefaultTreeCellRenderer) ArbolComentarios.getCellRenderer(); + render.setLeafIcon(null); + render.setOpenIcon(null); + render.setClosedIcon(null); + + ArrayList<DtUsuario> ListaUsuarios = Sys.listarUsuarios(); + + DefaultListModel modelo = new DefaultListModel(); + DefaultListModel modelo2 = new DefaultListModel(); + for (DtUsuario it : ListaUsuarios) { + modelo.addElement(it.getNickname()); + modelo2.addElement(it.getNickname()); + } + lstUsuario.setModel(modelo); + lstUsuarioComentador.setModel(modelo2); + + limpiarComponentesComentario(false); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel6 = new javax.swing.JPanel(); + jScrollPane3 = new javax.swing.JScrollPane(); + AreaComentario = new javax.swing.JTextArea(); + btnComentar = new javax.swing.JButton(); + jScrollPane4 = new javax.swing.JScrollPane(); + ArbolComentarios = new javax.swing.JTree(); + btnAceptar = new javax.swing.JButton(); + jLabel15 = new javax.swing.JLabel(); + jLabel35 = new javax.swing.JLabel(); + jScrollPane6 = new javax.swing.JScrollPane(); + lstUsuario = new javax.swing.JList<>(); + jLabel45 = new javax.swing.JLabel(); + jScrollPane52 = new javax.swing.JScrollPane(); + lstVideos = new javax.swing.JList<>(); + jLabel150 = new javax.swing.JLabel(); + jScrollPane1 = new javax.swing.JScrollPane(); + lstUsuarioComentador = new javax.swing.JList<>(); + jLabel50 = new javax.swing.JLabel(); + DateCh = new com.toedter.calendar.JDateChooser(); + jLabel1 = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Comentar video"); + setResizable(false); + + jPanel6.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + AreaComentario.setColumns(20); + AreaComentario.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + AreaComentario.setRows(5); + AreaComentario.setToolTipText("Ingrese aqui nuevo comentario"); + jScrollPane3.setViewportView(AreaComentario); + + jPanel6.add(jScrollPane3, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 280, 310, 90)); + + btnComentar.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N + btnComentar.setText("Comentar"); + btnComentar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnComentarActionPerformed(evt); + } + }); + jPanel6.add(btnComentar, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 460, 210, 60)); + + ArbolComentarios.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N + javax.swing.tree.DefaultMutableTreeNode treeNode1 = new javax.swing.tree.DefaultMutableTreeNode("root"); + ArbolComentarios.setModel(new javax.swing.tree.DefaultTreeModel(treeNode1)); + ArbolComentarios.setToolTipText(""); + ArbolComentarios.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); + jScrollPane4.setViewportView(ArbolComentarios); + + jPanel6.add(jScrollPane4, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 50, 400, 380)); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N + btnAceptar.setText("Aceptar"); + btnAceptar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnAceptarActionPerformed(evt); + } + }); + jPanel6.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(740, 460, 210, 60)); + + jLabel15.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel15.setText("Comentarios:"); + jPanel6.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 20, -1, -1)); + + jLabel35.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel35.setText("Texto del comentario:"); + jPanel6.add(jLabel35, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 250, -1, -1)); + + lstUsuario.setToolTipText(""); + lstUsuario.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstUsuarioValueChanged(evt); + } + }); + jScrollPane6.setViewportView(lstUsuario); + + jPanel6.add(jScrollPane6, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 50, 150, 150)); + + jLabel45.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel45.setText("Usuario que comenta:"); + jPanel6.add(jLabel45, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 250, -1, -1)); + + lstVideos.setToolTipText(""); + lstVideos.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstVideosValueChanged(evt); + } + }); + jScrollPane52.setViewportView(lstVideos); + + jPanel6.add(jScrollPane52, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 50, 310, 150)); + + jLabel150.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel150.setText("Videos:"); + jPanel6.add(jLabel150, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 20, -1, -1)); + + lstUsuarioComentador.setToolTipText("Seleccione usuario que realizara el nuevo comentario"); + lstUsuarioComentador.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstUsuarioComentadorValueChanged(evt); + } + }); + jScrollPane1.setViewportView(lstUsuarioComentador); + + jPanel6.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 280, 150, 150)); + + jLabel50.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel50.setText("Propietario del video:"); + jPanel6.add(jLabel50, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 20, -1, -1)); + jPanel6.add(DateCh, new org.netbeans.lib.awtextra.AbsoluteConstraints(370, 390, 150, 30)); + + jLabel1.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel1.setText("Fecha del comentario:"); + jPanel6.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 390, -1, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 980, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 980, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 550, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 550, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + + private boolean isSelected(TreePath d) { + boolean b; + try { + DefaultMutableTreeNode l = (DefaultMutableTreeNode) d.getLastPathComponent(); + b = true; + } catch (Exception e) { + b = false; + } + return b; + } + + private void agregarNodoATree(ArrayList<DtComentario> l, int e, DefaultMutableTreeNode nodoPadre) { + // si el array vacio, no hay nada que hacer + if (e == l.size()) { + return; + } + // guardo el nivel del prmer comentario con el que se trabajara (no siempre sera el primer elemento del array) + int nivelActual = l.get(e).getNivelSubComentario(); + // Variable para el nuevo comentario a procesar + DefaultMutableTreeNode nodoComentario = null; + // sera true si se ebe llamar a la recursividad + boolean llamarRecursividad = false; + + // recorre los elementos desde el indice pasado como parametro hasta el final del array + for (; e < l.size(); e++) { + // variable del comentario para trabajar en esta iteracion del for + DtComentario coment = l.get(e); + + if (coment.getNivelSubComentario() == nivelActual) { + // Si el coment esta al nivel a partir del cual se procesara + // extrae los datos en un string + String textoAMostrar = coment.getNickname() + ": " + coment.getTexto(); + //String textoAMostrar = coment.getNickname() + ": " + coment.getTexto() +coment.getFecha().toString(); + // instancia el nodo con los datos + nodoComentario = new DefaultMutableTreeNode(textoAMostrar); + // lo agrega como hijo del nodo padre recibido como parametro + nodoPadre.add(nodoComentario); + // activa la recursividad en caso de que se encuentren hijos del comentario + llamarRecursividad = true; + } else if (coment.getNivelSubComentario() > nivelActual) { + // Si el comentario de esta iteracion es menor que el nivel a procesar + + // si hay que llamar recursividd + if (llamarRecursividad) { + // llama a recursividad pero pasando como nodo padre al comentario recien creado + agregarNodoATree(l, e, nodoComentario); + // en este punto ya se han agregado todos los hijos y nietos del comentario recien creado + // asi que ya no hay que llamar recursividad hasta agregar otro nodo en el primer if + llamarRecursividad = false; + } + } else { + // si se encuentra un comentario de menor nivel al que se esta procesando + // debe salir, esa es otra familia de comentarios + return; + } + } + } + + private int obtenerIndexComentarioSeleccionadoEnJTree(javax.swing.JTree arbol) { + // Jtree auxiliar + javax.swing.JTree aux = new javax.swing.JTree(arbol.getModel()); + // expande los nodos del JTree auxiliar + for (int i = 0; i < aux.getRowCount(); i++) { + aux.expandRow(i); + } + // Obtiene el numero de fila del elemento seleccionado + // basandose en la ruta hasta el elemento + return aux.getRowForPath(arbol.getSelectionPath()) - 1; + } + private void btnComentarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnComentarActionPerformed + //Video->comentar video->comentar + try { + if (lstUsuarioComentador.getSelectedIndex() < 0){ + JOptionPane.showMessageDialog(null, "No ha seleccionado el usuario que realizará el comentario!", "¡Atención!", JOptionPane.WARNING_MESSAGE); + return; + } + if (AreaComentario.getText().isEmpty()) { + JOptionPane.showMessageDialog(null, "No ha escrito el comentario!", "¡Atención!", JOptionPane.WARNING_MESSAGE); + return; + } + if (DateCh.getDate() == null) { + JOptionPane.showMessageDialog(null, "No ha seleccionado el usuario que realizará el comentario!", "¡Atención!", JOptionPane.WARNING_MESSAGE); + return; + } + + java.sql.Date fecha = null; + java.util.Date utilDate = DateCh.getDate();//Obtiene la fecha del JDateChooser en formato Date + fecha = new java.sql.Date(utilDate.getTime());//Lo combierte al tipo Date sql + + DtComentario dtc = new DtComentario(WIDTH, "", fecha, AreaComentario.getText(), 0); + + int index = obtenerIndexComentarioSeleccionadoEnJTree(ArbolComentarios); + if (index < 0) { + Sys.altaComentario(dtc); + } else { + ComentariosDelVideo = Sys.listarComentariosDeVideo(); + int comPad = ComentariosDelVideo.get(index).getId(); + Sys.altaComentario(dtc, comPad); + } + mostrarComentarios(Sys.listarComentariosDeVideo()); + AreaComentario.setText(""); //hacer esto en una funcion no seas desprolijo! + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnComentarActionPerformed + + private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed + try { + if (!AreaComentario.getText().isEmpty()) { + int resp = JOptionPane.showConfirmDialog(null, "No se ha realizado el comentario\n¿Seguro que desea salir?", "¿Seguro que desea salir?", JOptionPane.YES_NO_OPTION);//yes 0, no 1. + if (resp == 0) { + Sys.liberarMemoriaVideo(); + Sys.liberarMemoriaUsuarioActual(); + Sys.liberarMemoriaUsuario(); + dispose(); + } + } else { + Sys.liberarMemoriaVideo(); + Sys.liberarMemoriaUsuarioActual(); + Sys.liberarMemoriaUsuario(); + dispose(); + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnAceptarActionPerformed + + private void mostrarComentarios(ArrayList<DtComentario> ComentariosDelVideo) { + + DefaultMutableTreeNode raiz = new DefaultMutableTreeNode("Comentarios:"); + agregarNodoATree(ComentariosDelVideo, 0, raiz); + TreeModel datos = new DefaultTreeModel(raiz); + ArbolComentarios.setModel(datos); + for (int i = 0; i < ArbolComentarios.getRowCount(); i++) {//expande los nodos + ArbolComentarios.expandRow(i); + } + } + + private void limpiarComponentesComentario(boolean habilitado){ + + lstUsuarioComentador.clearSelection(); + lstUsuarioComentador.setEnabled(habilitado); + + AreaComentario.setText(""); + AreaComentario.setEnabled(habilitado); + + DateCh.setEnabled(habilitado); + btnComentar.setEnabled(habilitado); + + java.util.Date hoyAhora = new java.util.Date(); + DateCh.setDate(hoyAhora); + + mostrarComentarios(new ArrayList<>()); + ArbolComentarios.setEnabled(habilitado); + } + + private void lstUsuarioValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuarioValueChanged + // Usuario seleccionado + if (evt.getValueIsAdjusting()) { + return; + } + if (lstUsuario.getSelectedIndex() < 0) { + return; + } + + lstVideos.clearSelection(); + String Nickname = lstUsuario.getSelectedValue(); + //lstVideos.setEnabled(true); + + try { + DtUsuario user = Sys.seleccionarUsuario(Nickname); + VideosDelUser = Sys.listarVideosDeUsuario(); + + DefaultListModel modelo = new DefaultListModel(); + for (DtVideo it : VideosDelUser) { + modelo.addElement(it.getNombre()); + } + lstVideos.setModel(modelo); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstUsuarioValueChanged + + private void lstVideosValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstVideosValueChanged + if (evt.getValueIsAdjusting()) { + return; + } + if (lstVideos.getSelectedIndex() < 0) { + limpiarComponentesComentario(false); + return; + } + limpiarComponentesComentario(true); + try { + //lstUsuarioValoradoR.clearSelection(); + int VideoIndex = lstVideos.getSelectedIndex(); + int IDvideo = VideosDelUser.get(VideoIndex).getId(); + Sys.seleccionarVideo(IDvideo); + + mostrarComentarios(Sys.listarComentariosDeVideo()); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstVideosValueChanged + + private void lstUsuarioComentadorValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuarioComentadorValueChanged + // Usuario seleccionado + if (evt.getValueIsAdjusting()) { + return; + } + if (lstUsuarioComentador.getSelectedIndex() < 0) { + return; + } + + String Nickname = lstUsuarioComentador.getSelectedValue(); + + try { + DtUsuario user = Sys.seleccionarUsuarioActual(Nickname); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstUsuarioComentadorValueChanged + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JTree ArbolComentarios; + private javax.swing.JTextArea AreaComentario; + private com.toedter.calendar.JDateChooser DateCh; + private javax.swing.JButton btnAceptar; + private javax.swing.JButton btnComentar; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel15; + private javax.swing.JLabel jLabel150; + private javax.swing.JLabel jLabel35; + private javax.swing.JLabel jLabel45; + private javax.swing.JLabel jLabel50; + private javax.swing.JPanel jPanel6; + private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JScrollPane jScrollPane3; + private javax.swing.JScrollPane jScrollPane4; + private javax.swing.JScrollPane jScrollPane52; + private javax.swing.JScrollPane jScrollPane6; + private javax.swing.JList<String> lstUsuario; + private javax.swing.JList<String> lstUsuarioComentador; + private javax.swing.JList<String> lstVideos; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Video/frmConsultaVideo.form b/UyTube_logica/src/Presentacion/Video/frmConsultaVideo.form new file mode 100644 index 0000000..14b7196 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Video/frmConsultaVideo.form @@ -0,0 +1,432 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.7" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Consultar video"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="1069" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Component id="jPanel15" alignment="0" pref="1069" max="32767" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="592" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Component id="jPanel15" alignment="0" pref="592" max="32767" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel15"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="jLabel81"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Dueño del video:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane22"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="50" width="140" height="300"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstDuenioVideo"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstDuenioVideoValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel82"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Comentarios:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="670" y="220" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane23"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="190" y="50" width="160" height="300"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstVideoUsuario"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstVideoUsuarioValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel83"> + <Properties> + <Property name="text" type="java.lang.String" value="Nombre:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="380" y="50" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel84"> + <Properties> + <Property name="text" type="java.lang.String" value="Duración:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="380" y="80" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel85"> + <Properties> + <Property name="text" type="java.lang.String" value="URL:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="380" y="110" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel86"> + <Properties> + <Property name="text" type="java.lang.String" value="Descripción:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="380" y="230" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane24"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="380" y="250" width="270" height="130"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JTextArea" name="txtDescripcion"> + <Properties> + <Property name="editable" type="boolean" value="false"/> + <Property name="columns" type="int" value="20"/> + <Property name="lineWrap" type="boolean" value="true"/> + <Property name="rows" type="int" value="5"/> + </Properties> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel87"> + <Properties> + <Property name="text" type="java.lang.String" value="Privacidad:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="380" y="170" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel88"> + <Properties> + <Property name="text" type="java.lang.String" value="Categoría:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="380" y="200" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbNombre"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="460" y="50" width="580" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbDuracion"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="460" y="80" width="580" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbUrl"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Events> + <EventHandler event="mousePressed" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="lbUrlMousePressed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="460" y="110" width="580" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbPrivacidad"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="460" y="170" width="580" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbCategoria"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="460" y="200" width="580" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnAceptarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="670" y="510" width="380" height="60"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel94"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Les gustó:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="400" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel95"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="No les gustó:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="350" y="400" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane25"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="430" width="290" height="140"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstLike"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Container class="javax.swing.JScrollPane" name="jScrollPane26"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="350" y="430" width="300" height="140"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstDislike"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Container class="javax.swing.JScrollPane" name="jScrollPane27"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="670" y="250" width="380" height="230"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JTree" name="treeComentarios"> + <Properties> + <Property name="model" type="javax.swing.tree.TreeModel" editor="org.netbeans.modules.form.editors2.TreeModelEditor"> + <TreeModel code=""/> + </Property> + </Properties> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel99"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Video del Usuario:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="190" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbCantDisLikes"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="450" y="400" width="200" height="20"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbCantLikes"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="110" y="400" width="200" height="20"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel89"> + <Properties> + <Property name="text" type="java.lang.String" value="Publicación:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="380" y="140" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbFechaPublicacion"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="460" y="140" width="580" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Video/frmConsultaVideo.java b/UyTube_logica/src/Presentacion/Video/frmConsultaVideo.java new file mode 100644 index 0000000..5b03509 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Video/frmConsultaVideo.java @@ -0,0 +1,507 @@ + +package Presentacion.Video; + +import Logica.DataType.DtComentario; +import Logica.DataType.DtUsuario; +import Logica.DataType.DtValoracion; +import Logica.DataType.DtVideo; +import Logica.Enumerados.TipoValoracion; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.TreeModel; + +public class frmConsultaVideo extends javax.swing.JDialog { + + private IAdmin sys; + private ArrayList<DtVideo> listaDeVideos; + private String enlace = ""; + private boolean liberarMemoria; + + public frmConsultaVideo(java.awt.Frame parent, boolean modal) { + // Constructor para abrir ventana desde la ventana principal + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + limpiarElementosDeVentana(); + liberarMemoria = true; + + // quita el icono de carpetas en el JTree de comentarios + javax.swing.tree.DefaultTreeCellRenderer render = (javax.swing.tree.DefaultTreeCellRenderer) treeComentarios.getCellRenderer(); + render.setLeafIcon(null); + render.setOpenIcon(null); + render.setClosedIcon(null); + + try { + // obtiene la instancia de sistema + sys = Fabrica.getInstancia().getIAdmin(); + + // lista usuarios en el JList + mostrarListaDeUsuarios(sys.listarUsuarios()); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + dispose(); + } + + } + + public frmConsultaVideo(javax.swing.JDialog parent, boolean modal, String nickname, int idVideo) { + // Constructor para abrir ventana desde otro caso de uso + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + limpiarElementosDeVentana(); + liberarMemoria = false; + + // quita el icono de carpetas en el JTree de comentarios + javax.swing.tree.DefaultTreeCellRenderer render = (javax.swing.tree.DefaultTreeCellRenderer) treeComentarios.getCellRenderer(); + render.setLeafIcon(null); + render.setOpenIcon(null); + render.setClosedIcon(null); + + try { + // obtiene la instancia de sistema + sys = Fabrica.getInstancia().getIAdmin(); + + // El sistema ya tiene un usuario seleccionado + // El sistema ya tiene un video seleccionado + + // lista usuarios en el JList + mostrarListaDeUsuarios(sys.listarUsuarios()); + lstDuenioVideo.setSelectedValue(nickname, true); + lstVideoUsuario.setSelectedValue(sys.seleccionarVideo(idVideo).getNombre(), true); + //mostrarListaDeVideos(sys.listarVideosDeUsuario()); + + lstDuenioVideo.setEnabled(false); + lstVideoUsuario.setEnabled(false); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + dispose(); + } + + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel15 = new javax.swing.JPanel(); + jLabel81 = new javax.swing.JLabel(); + jScrollPane22 = new javax.swing.JScrollPane(); + lstDuenioVideo = new javax.swing.JList<>(); + jLabel82 = new javax.swing.JLabel(); + jScrollPane23 = new javax.swing.JScrollPane(); + lstVideoUsuario = new javax.swing.JList<>(); + jLabel83 = new javax.swing.JLabel(); + jLabel84 = new javax.swing.JLabel(); + jLabel85 = new javax.swing.JLabel(); + jLabel86 = new javax.swing.JLabel(); + jScrollPane24 = new javax.swing.JScrollPane(); + txtDescripcion = new javax.swing.JTextArea(); + jLabel87 = new javax.swing.JLabel(); + jLabel88 = new javax.swing.JLabel(); + lbNombre = new javax.swing.JLabel(); + lbDuracion = new javax.swing.JLabel(); + lbUrl = new javax.swing.JLabel(); + lbPrivacidad = new javax.swing.JLabel(); + lbCategoria = new javax.swing.JLabel(); + btnAceptar = new javax.swing.JButton(); + jLabel94 = new javax.swing.JLabel(); + jLabel95 = new javax.swing.JLabel(); + jScrollPane25 = new javax.swing.JScrollPane(); + lstLike = new javax.swing.JList<>(); + jScrollPane26 = new javax.swing.JScrollPane(); + lstDislike = new javax.swing.JList<>(); + jScrollPane27 = new javax.swing.JScrollPane(); + treeComentarios = new javax.swing.JTree(); + jLabel99 = new javax.swing.JLabel(); + lbCantDisLikes = new javax.swing.JLabel(); + lbCantLikes = new javax.swing.JLabel(); + jLabel89 = new javax.swing.JLabel(); + lbFechaPublicacion = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Consultar video"); + setResizable(false); + + jPanel15.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + jLabel81.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel81.setText("Dueño del video:"); + jPanel15.add(jLabel81, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 20, -1, -1)); + + lstDuenioVideo.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstDuenioVideoValueChanged(evt); + } + }); + jScrollPane22.setViewportView(lstDuenioVideo); + + jPanel15.add(jScrollPane22, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 50, 140, 300)); + + jLabel82.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel82.setText("Comentarios:"); + jPanel15.add(jLabel82, new org.netbeans.lib.awtextra.AbsoluteConstraints(670, 220, -1, -1)); + + lstVideoUsuario.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstVideoUsuarioValueChanged(evt); + } + }); + jScrollPane23.setViewportView(lstVideoUsuario); + + jPanel15.add(jScrollPane23, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 50, 160, 300)); + + jLabel83.setText("Nombre:"); + jPanel15.add(jLabel83, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 50, -1, -1)); + + jLabel84.setText("Duración:"); + jPanel15.add(jLabel84, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 80, -1, -1)); + + jLabel85.setText("URL:"); + jPanel15.add(jLabel85, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 110, -1, -1)); + + jLabel86.setText("Descripción:"); + jPanel15.add(jLabel86, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 230, -1, -1)); + + txtDescripcion.setEditable(false); + txtDescripcion.setColumns(20); + txtDescripcion.setLineWrap(true); + txtDescripcion.setRows(5); + jScrollPane24.setViewportView(txtDescripcion); + + jPanel15.add(jScrollPane24, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 250, 270, 130)); + + jLabel87.setText("Privacidad:"); + jPanel15.add(jLabel87, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 170, -1, -1)); + + jLabel88.setText("CategorÃa:"); + jPanel15.add(jLabel88, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 200, -1, -1)); + + lbNombre.setText(" "); + jPanel15.add(lbNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(460, 50, 580, -1)); + + lbDuracion.setText(" "); + jPanel15.add(lbDuracion, new org.netbeans.lib.awtextra.AbsoluteConstraints(460, 80, 580, -1)); + + lbUrl.setText(" "); + lbUrl.addMouseListener(new java.awt.event.MouseAdapter() { + public void mousePressed(java.awt.event.MouseEvent evt) { + lbUrlMousePressed(evt); + } + }); + jPanel15.add(lbUrl, new org.netbeans.lib.awtextra.AbsoluteConstraints(460, 110, 580, -1)); + + lbPrivacidad.setText(" "); + jPanel15.add(lbPrivacidad, new org.netbeans.lib.awtextra.AbsoluteConstraints(460, 170, 580, -1)); + + lbCategoria.setText(" "); + jPanel15.add(lbCategoria, new org.netbeans.lib.awtextra.AbsoluteConstraints(460, 200, 580, -1)); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + btnAceptar.setText("Aceptar"); + btnAceptar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnAceptarActionPerformed(evt); + } + }); + jPanel15.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(670, 510, 380, 60)); + + jLabel94.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel94.setText("Les gustó:"); + jPanel15.add(jLabel94, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 400, -1, -1)); + + jLabel95.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel95.setText("No les gustó:"); + jPanel15.add(jLabel95, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 400, -1, -1)); + + jScrollPane25.setViewportView(lstLike); + + jPanel15.add(jScrollPane25, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 430, 290, 140)); + + jScrollPane26.setViewportView(lstDislike); + + jPanel15.add(jScrollPane26, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 430, 300, 140)); + + javax.swing.tree.DefaultMutableTreeNode treeNode1 = new javax.swing.tree.DefaultMutableTreeNode("root"); + treeComentarios.setModel(new javax.swing.tree.DefaultTreeModel(treeNode1)); + jScrollPane27.setViewportView(treeComentarios); + + jPanel15.add(jScrollPane27, new org.netbeans.lib.awtextra.AbsoluteConstraints(670, 250, 380, 230)); + + jLabel99.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel99.setText("Video del Usuario:"); + jPanel15.add(jLabel99, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 20, -1, -1)); + + lbCantDisLikes.setText(" "); + jPanel15.add(lbCantDisLikes, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 400, 200, 20)); + + lbCantLikes.setText(" "); + jPanel15.add(lbCantLikes, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 400, 200, 20)); + + jLabel89.setText("Publicación:"); + jPanel15.add(jLabel89, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 140, -1, -1)); + + lbFechaPublicacion.setText(" "); + jPanel15.add(lbFechaPublicacion, new org.netbeans.lib.awtextra.AbsoluteConstraints(460, 140, 580, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 1069, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel15, javax.swing.GroupLayout.DEFAULT_SIZE, 1069, Short.MAX_VALUE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 592, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel15, javax.swing.GroupLayout.DEFAULT_SIZE, 592, Short.MAX_VALUE)) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed + // boton aceptar + try { + if (liberarMemoria){ + sys.liberarMemoriaUsuario(); + } + sys.liberarMemoriaVideo(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + }finally{ + dispose(); + } + }//GEN-LAST:event_btnAceptarActionPerformed + + private void lstDuenioVideoValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstDuenioVideoValueChanged + // seleccionar usuario + if (evt.getValueIsAdjusting()) return; + if (lstDuenioVideo.getSelectedIndex()<0) return; + try { + String nick = lstDuenioVideo.getSelectedValue(); + sys.seleccionarUsuario(nick); + listaDeVideos = sys.listarVideosDeUsuario(); + mostrarListaDeVideos(listaDeVideos); + limpiarElementosDeVentana(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstDuenioVideoValueChanged + + private void lstVideoUsuarioValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstVideoUsuarioValueChanged + // seleccionar video + if (evt.getValueIsAdjusting()) return; + if (lstVideoUsuario.getSelectedIndex()<0) return; + try { + int indexSeleccionado = lstVideoUsuario.getSelectedIndex(); + int idVideo = listaDeVideos.get(indexSeleccionado).getId(); + DtVideo dtv = sys.seleccionarVideo(idVideo); + mostrarDatosDeVideo(dtv); + mostrarListasDrValoraciones(sys.obtenerValoracionesDeVideo()); + mostrarListaDeComentarios(sys.listarComentariosDeVideo()); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstVideoUsuarioValueChanged + + private void lbUrlMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lbUrlMousePressed + // al cloquear sobre la URL del video + if (lbUrl.getText().isEmpty() || enlace.isEmpty()) return; + + // Fuente: + // http://www.forosdelweb.com/f45/jlabel-como-hipervinculo-netbeans-948388/ + try { + if (java.awt.Desktop.isDesktopSupported()) { + java.awt.Desktop desktop = java.awt.Desktop.getDesktop(); + if (desktop.isSupported(java.awt.Desktop.Action.BROWSE)) { + desktop.browse(new java.net.URI(enlace)); + } + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lbUrlMousePressed + + /////////////////////////////////////////////////////////////////////////////////////////// + private void mostrarListaDeUsuarios(ArrayList<DtUsuario> ListaUsuarios){ + DefaultListModel modelo = new DefaultListModel(); + ListaUsuarios.forEach((it) -> { + modelo.addElement(it.getNickname()); + // a que te dejo re loco este for + }); + lstDuenioVideo.setModel(modelo); + + } + private void mostrarListaDeVideos(ArrayList<DtVideo> listaVideos){ + DefaultListModel modelo = new DefaultListModel(); + for (DtVideo it : listaVideos) { + modelo.addElement(it.getNombre()); + } + lstVideoUsuario.setModel(modelo); + } + private void mostrarDatosDeVideo(DtVideo v){ + lbNombre.setText(v.getNombre()); + lbDuracion.setText(v.getDuracion().toString()); + lbUrl.setText(obtenerTextoComoEnlace(v.getUrlVideoOriginal(), v.getUrlVideoOriginal())); + enlace = v.getUrlVideoOriginal(); + lbPrivacidad.setText(v.getPrivacidad().toString()); + lbCategoria.setText(v.getCategoria()); + txtDescripcion.setText(v.getDescripcion()); + lbCantLikes.setText(String.valueOf(v.getCantLikes())); + lbCantDisLikes.setText(String.valueOf(v.getCantDisLikes())); + lbFechaPublicacion.setText(v.getFechaPublicacion().toString()); + } + private void mostrarListasDrValoraciones(ArrayList<DtValoracion> lVal){ + DefaultListModel modeloLikes = new DefaultListModel(); + DefaultListModel modeloDisLikes = new DefaultListModel(); + for (DtValoracion it : lVal){ + if (it.getVal() == TipoValoracion.LIKE){ + modeloLikes.addElement(it.getNickname()); + }else{ + modeloDisLikes.addElement(it.getNickname()); + } + } + lstLike.setModel(modeloLikes); + lstDislike.setModel(modeloDisLikes); + } + private void mostrarListaDeComentarios(ArrayList<DtComentario> lCom){ + // crea el nodo raiz + DefaultMutableTreeNode raiz = new DefaultMutableTreeNode("Comentarios:"); + // agrega al nodo raiz toodos los comentarios + agregarNodoATree(lCom, 0, raiz); + + // Carga el arbol en el TreeModel + TreeModel datos = new DefaultTreeModel(raiz); + // Carga el TreeModel en el JTree + treeComentarios.setModel(datos); + // la siguiente funcion la saque de stackoverflow + expandAllNodes(treeComentarios, 0, treeComentarios.getRowCount()); + } + private void expandAllNodes(javax.swing.JTree tree, int startingIndex, int rowCount) { + // Extraido de: + // https://stackoverflow.com/questions/15210979/how-do-i-auto-expand-a-jtree-when-setting-a-new-treemodel + for (int i = startingIndex; i < rowCount; ++i) { + tree.expandRow(i); + } + + if (tree.getRowCount() != rowCount) { + expandAllNodes(tree, rowCount, tree.getRowCount()); + } + } + private void agregarNodoATree(ArrayList<DtComentario> l, int e, DefaultMutableTreeNode nodoPadre){ + // si el array vacio, no hay nada que hacer + if (e == l.size()){ + return; + } + + // guardo el nivel del prmer comentario con el que se trabajara (no siempre sera el primer elemento del array) + int nivelActual = l.get(e).getNivelSubComentario(); + // Variable para el nuevo comentario a procesar + DefaultMutableTreeNode nodoComentario = null; + // sera true si se ebe llamar a la recursividad + boolean llamarRecursividad = false; + + // recorre los elementos desde el indice pasado como parametro hasta el final del array + for (; e < l.size(); e++){ + // variable del comentario para trabajar en esta iteracion del for + DtComentario coment = l.get(e); + + if (coment.getNivelSubComentario() == nivelActual) { + // Si el coment esta al nivel a partir del cual se procesara + // extrae los datos en un string + String textoAMostrar = coment.getNickname() + ": " + coment.getTexto(); + // instancia el nodo con los datos + nodoComentario = new DefaultMutableTreeNode(textoAMostrar); + // lo agrega como hijo del nodo padre recibido como parametro + nodoPadre.add(nodoComentario); + // activa la recursividad en caso de que se encuentren hijos del comentario + llamarRecursividad = true; + }else if (coment.getNivelSubComentario() > nivelActual){ + // Si el comentario de esta iteracion es menor que el nivel a procesar + + // si hay que llamar recursividd + if (llamarRecursividad){ + // llama a recursividad pero pasando como nodo padre al comentario recien creado + agregarNodoATree(l, e, nodoComentario); + // en este punto ya se han agregado todos los hijos y nietos del comentario recien creado + // asi que ya no hay que llamar recursividad hasta agregar otro nodo en el primer if + llamarRecursividad = false; + } + }else{ + // si se encuentra un comentario de menor nivel al que se esta procesando + // debe salir, esa es otra familia de comentarios + return; + } + } + } + private void limpiarElementosDeVentana(){ + enlace = ""; + // limpieza de labels + lbNombre.setText(""); + lbDuracion.setText(""); + lbUrl.setText(""); + lbPrivacidad.setText(""); + lbCategoria.setText(""); + txtDescripcion.setText(""); + lbCantLikes.setText(""); + lbCantDisLikes.setText(""); + lbFechaPublicacion.setText(""); + // limpieza de listas + lstLike.setModel(new DefaultListModel()); + lstDislike.setModel(new DefaultListModel()); + // limpieza de Arbol + treeComentarios.setModel(new DefaultTreeModel(new DefaultMutableTreeNode("Comentarios:"))); + } + public String obtenerTextoComoEnlace(String enlace, String texto) { + // Extraido de + // http://www.forosdelweb.com/f45/jlabel-como-hipervinculo-netbeans-948388/ + return"<html><a href=" + '"' + enlace + '"'+ ">" + texto + "</a></html>"; + } + /////////////////////////////////////////////////////////////////////////////////////////// + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnAceptar; + private javax.swing.JLabel jLabel81; + private javax.swing.JLabel jLabel82; + private javax.swing.JLabel jLabel83; + private javax.swing.JLabel jLabel84; + private javax.swing.JLabel jLabel85; + private javax.swing.JLabel jLabel86; + private javax.swing.JLabel jLabel87; + private javax.swing.JLabel jLabel88; + private javax.swing.JLabel jLabel89; + private javax.swing.JLabel jLabel94; + private javax.swing.JLabel jLabel95; + private javax.swing.JLabel jLabel99; + private javax.swing.JPanel jPanel15; + private javax.swing.JScrollPane jScrollPane22; + private javax.swing.JScrollPane jScrollPane23; + private javax.swing.JScrollPane jScrollPane24; + private javax.swing.JScrollPane jScrollPane25; + private javax.swing.JScrollPane jScrollPane26; + private javax.swing.JScrollPane jScrollPane27; + private javax.swing.JLabel lbCantDisLikes; + private javax.swing.JLabel lbCantLikes; + private javax.swing.JLabel lbCategoria; + private javax.swing.JLabel lbDuracion; + private javax.swing.JLabel lbFechaPublicacion; + private javax.swing.JLabel lbNombre; + private javax.swing.JLabel lbPrivacidad; + private javax.swing.JLabel lbUrl; + private javax.swing.JList<String> lstDislike; + private javax.swing.JList<String> lstDuenioVideo; + private javax.swing.JList<String> lstLike; + private javax.swing.JList<String> lstVideoUsuario; + private javax.swing.JTree treeComentarios; + private javax.swing.JTextArea txtDescripcion; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Video/frmConsultaVideoEliminado.form b/UyTube_logica/src/Presentacion/Video/frmConsultaVideoEliminado.form new file mode 100644 index 0000000..9044c30 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Video/frmConsultaVideoEliminado.form @@ -0,0 +1,270 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.7" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Consultar video"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="505" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Component id="jPanel15" alignment="0" pref="505" max="32767" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="489" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Component id="jPanel15" alignment="0" pref="489" max="32767" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel15"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="jLabel83"> + <Properties> + <Property name="text" type="java.lang.String" value="Nombre:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel84"> + <Properties> + <Property name="text" type="java.lang.String" value="Duración:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="50" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel85"> + <Properties> + <Property name="text" type="java.lang.String" value="URL:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="80" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel86"> + <Properties> + <Property name="text" type="java.lang.String" value="Descripción:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="200" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane24"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="200" width="380" height="130"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JTextArea" name="txtDescripcion"> + <Properties> + <Property name="editable" type="boolean" value="false"/> + <Property name="columns" type="int" value="20"/> + <Property name="lineWrap" type="boolean" value="true"/> + <Property name="rows" type="int" value="5"/> + </Properties> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel87"> + <Properties> + <Property name="text" type="java.lang.String" value="Privacidad:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="140" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel88"> + <Properties> + <Property name="text" type="java.lang.String" value="Categoría:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="170" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbNombre"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="20" width="390" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbDuracion"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="50" width="390" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbUrl"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Events> + <EventHandler event="mousePressed" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="lbUrlMousePressed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="80" width="390" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbPrivacidad"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="140" width="390" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbCategoria"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="170" width="380" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="24" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnAceptarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="410" width="460" height="60"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel94"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Les gustó:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="340" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel95"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="No les gustó:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="370" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbCantDisLikes"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="110" y="370" width="370" height="20"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbCantLikes"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="110" y="340" width="370" height="20"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel89"> + <Properties> + <Property name="text" type="java.lang.String" value="Publicación:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="20" y="110" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbFechaPublicacion"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="100" y="110" width="390" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Video/frmConsultaVideoEliminado.java b/UyTube_logica/src/Presentacion/Video/frmConsultaVideoEliminado.java new file mode 100644 index 0000000..da427c6 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Video/frmConsultaVideoEliminado.java @@ -0,0 +1,238 @@ + +package Presentacion.Video; + +import Logica.DataType.DtVideo; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import javax.swing.JOptionPane; + +public class frmConsultaVideoEliminado extends javax.swing.JDialog { + + private IAdmin sys; + private String enlace = ""; + + public frmConsultaVideoEliminado(javax.swing.JDialog parent, boolean modal, int idVideo) { + // Constructor para abrir ventana desde otro caso de uso + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + limpiarElementosDeVentana(); + + try { + // obtiene la instancia de sistema + sys = Fabrica.getInstancia().getIAdmin(); + + // El sistema ya tiene un usuario seleccionado + mostrarDatosDeVideo(sys.seleccionarVideo(idVideo)); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + dispose(); + } + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel15 = new javax.swing.JPanel(); + jLabel83 = new javax.swing.JLabel(); + jLabel84 = new javax.swing.JLabel(); + jLabel85 = new javax.swing.JLabel(); + jLabel86 = new javax.swing.JLabel(); + jScrollPane24 = new javax.swing.JScrollPane(); + txtDescripcion = new javax.swing.JTextArea(); + jLabel87 = new javax.swing.JLabel(); + jLabel88 = new javax.swing.JLabel(); + lbNombre = new javax.swing.JLabel(); + lbDuracion = new javax.swing.JLabel(); + lbUrl = new javax.swing.JLabel(); + lbPrivacidad = new javax.swing.JLabel(); + lbCategoria = new javax.swing.JLabel(); + btnAceptar = new javax.swing.JButton(); + jLabel94 = new javax.swing.JLabel(); + jLabel95 = new javax.swing.JLabel(); + lbCantDisLikes = new javax.swing.JLabel(); + lbCantLikes = new javax.swing.JLabel(); + jLabel89 = new javax.swing.JLabel(); + lbFechaPublicacion = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Consultar video"); + setResizable(false); + + jPanel15.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + jLabel83.setText("Nombre:"); + jPanel15.add(jLabel83, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 20, -1, -1)); + + jLabel84.setText("Duración:"); + jPanel15.add(jLabel84, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 50, -1, -1)); + + jLabel85.setText("URL:"); + jPanel15.add(jLabel85, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 80, -1, -1)); + + jLabel86.setText("Descripción:"); + jPanel15.add(jLabel86, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 200, -1, -1)); + + txtDescripcion.setEditable(false); + txtDescripcion.setColumns(20); + txtDescripcion.setLineWrap(true); + txtDescripcion.setRows(5); + jScrollPane24.setViewportView(txtDescripcion); + + jPanel15.add(jScrollPane24, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 200, 380, 130)); + + jLabel87.setText("Privacidad:"); + jPanel15.add(jLabel87, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 140, -1, -1)); + + jLabel88.setText("CategorÃa:"); + jPanel15.add(jLabel88, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 170, -1, -1)); + + lbNombre.setText(" "); + jPanel15.add(lbNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 20, 390, -1)); + + lbDuracion.setText(" "); + jPanel15.add(lbDuracion, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 50, 390, -1)); + + lbUrl.setText(" "); + lbUrl.addMouseListener(new java.awt.event.MouseAdapter() { + public void mousePressed(java.awt.event.MouseEvent evt) { + lbUrlMousePressed(evt); + } + }); + jPanel15.add(lbUrl, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 80, 390, -1)); + + lbPrivacidad.setText(" "); + jPanel15.add(lbPrivacidad, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 140, 390, -1)); + + lbCategoria.setText(" "); + jPanel15.add(lbCategoria, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 170, 380, -1)); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N + btnAceptar.setText("Aceptar"); + btnAceptar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnAceptarActionPerformed(evt); + } + }); + jPanel15.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 410, 460, 60)); + + jLabel94.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel94.setText("Les gustó:"); + jPanel15.add(jLabel94, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 340, -1, -1)); + + jLabel95.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel95.setText("No les gustó:"); + jPanel15.add(jLabel95, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 370, -1, -1)); + + lbCantDisLikes.setText(" "); + jPanel15.add(lbCantDisLikes, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 370, 370, 20)); + + lbCantLikes.setText(" "); + jPanel15.add(lbCantLikes, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 340, 370, 20)); + + jLabel89.setText("Publicación:"); + jPanel15.add(jLabel89, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 110, -1, -1)); + + lbFechaPublicacion.setText(" "); + jPanel15.add(lbFechaPublicacion, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 110, 390, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 505, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel15, javax.swing.GroupLayout.DEFAULT_SIZE, 505, Short.MAX_VALUE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 489, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel15, javax.swing.GroupLayout.DEFAULT_SIZE, 489, Short.MAX_VALUE)) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed + // boton aceptar + dispose(); + }//GEN-LAST:event_btnAceptarActionPerformed + + private void lbUrlMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lbUrlMousePressed + // al cloquear sobre la URL del video + if (lbUrl.getText().isEmpty() || enlace.isEmpty()) return; + + // Fuente: + // http://www.forosdelweb.com/f45/jlabel-como-hipervinculo-netbeans-948388/ + try { + if (java.awt.Desktop.isDesktopSupported()) { + java.awt.Desktop desktop = java.awt.Desktop.getDesktop(); + if (desktop.isSupported(java.awt.Desktop.Action.BROWSE)) { + desktop.browse(new java.net.URI(enlace)); + } + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lbUrlMousePressed + + /////////////////////////////////////////////////////////////////////////////////////////// + private void mostrarDatosDeVideo(DtVideo v){ + lbNombre.setText(v.getNombre()); + lbDuracion.setText(v.getDuracion().toString()); + lbUrl.setText(obtenerTextoComoEnlace(v.getUrlVideoOriginal(), v.getUrlVideoOriginal())); + enlace = v.getUrlVideoOriginal(); + lbPrivacidad.setText(v.getPrivacidad().toString()); + lbCategoria.setText(v.getCategoria()); + txtDescripcion.setText(v.getDescripcion()); + lbCantLikes.setText(String.valueOf(v.getCantLikes())); + lbCantDisLikes.setText(String.valueOf(v.getCantDisLikes())); + lbFechaPublicacion.setText(v.getFechaPublicacion().toString()); + } + private void limpiarElementosDeVentana(){ + enlace = ""; + // limpieza de labels + lbNombre.setText(""); + lbDuracion.setText(""); + lbUrl.setText(""); + lbPrivacidad.setText(""); + lbCategoria.setText(""); + txtDescripcion.setText(""); + lbCantLikes.setText(""); + lbCantDisLikes.setText(""); + lbFechaPublicacion.setText(""); + } + public String obtenerTextoComoEnlace(String enlace, String texto) { + // Extraido de + // http://www.forosdelweb.com/f45/jlabel-como-hipervinculo-netbeans-948388/ + return"<html><a href=" + '"' + enlace + '"'+ ">" + texto + "</a></html>"; + } + /////////////////////////////////////////////////////////////////////////////////////////// + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnAceptar; + private javax.swing.JLabel jLabel83; + private javax.swing.JLabel jLabel84; + private javax.swing.JLabel jLabel85; + private javax.swing.JLabel jLabel86; + private javax.swing.JLabel jLabel87; + private javax.swing.JLabel jLabel88; + private javax.swing.JLabel jLabel89; + private javax.swing.JLabel jLabel94; + private javax.swing.JLabel jLabel95; + private javax.swing.JPanel jPanel15; + private javax.swing.JScrollPane jScrollPane24; + private javax.swing.JLabel lbCantDisLikes; + private javax.swing.JLabel lbCantLikes; + private javax.swing.JLabel lbCategoria; + private javax.swing.JLabel lbDuracion; + private javax.swing.JLabel lbFechaPublicacion; + private javax.swing.JLabel lbNombre; + private javax.swing.JLabel lbPrivacidad; + private javax.swing.JLabel lbUrl; + private javax.swing.JTextArea txtDescripcion; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Video/frmModificarVideo.form b/UyTube_logica/src/Presentacion/Video/frmModificarVideo.form new file mode 100644 index 0000000..1f67137 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Video/frmModificarVideo.form @@ -0,0 +1,402 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <NonVisualComponents> + <Component class="javax.swing.ButtonGroup" name="buttonGroup1"> + </Component> + </NonVisualComponents> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Modificar video"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" alignment="1" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel14" min="-2" pref="980" max="-2" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" alignment="0" attributes="0"> + <Component id="jPanel14" min="-2" pref="550" max="-2" attributes="0"/> + <EmptySpace min="0" pref="12" max="32767" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel14"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JButton" name="btnModificar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Modificar"/> + <Property name="enabled" type="boolean" value="false"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnModificarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="560" y="470" width="390" height="70"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnCancelar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Cancelar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnCancelarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="473" width="390" height="70"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane16"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="50" width="180" height="400"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstDuenioVideo"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstDuenioVideoValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel71"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Dueño del video:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane17"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="240" y="50" width="180" height="400"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstVideoUsuario"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstVideoUsuarioValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel72"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Video del Usuario:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="240" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JTextField" name="txtNombre"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="530" y="50" width="210" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel73"> + <Properties> + <Property name="text" type="java.lang.String" value="Nombre:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="450" y="50" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel74"> + <Properties> + <Property name="text" type="java.lang.String" value="Duración:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="450" y="100" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel75"> + <Properties> + <Property name="text" type="java.lang.String" value="URL:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="450" y="140" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JTextField" name="txtURL"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="530" y="140" width="210" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel76"> + <Properties> + <Property name="text" type="java.lang.String" value="Descripción:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="450" y="180" width="80" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane18"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="530" y="180" width="210" height="120"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JTextArea" name="txtDescripcion"> + <Properties> + <Property name="columns" type="int" value="20"/> + <Property name="rows" type="int" value="5"/> + </Properties> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel77"> + <Properties> + <Property name="text" type="java.lang.String" value="Fecha publicación:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="450" y="340" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel78"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Asignar categoría:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="770" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JRadioButton" name="rbPublico"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="buttonGroup1"/> + </Property> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="18" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Público"/> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="9"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="460" y="390" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JRadioButton" name="rbPrivado"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="buttonGroup1"/> + </Property> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="18" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Privado"/> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="9"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="640" y="390" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JSpinner" name="spHora"> + <Properties> + <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor"> + <SpinnerModel initial="0" maximum="15" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/> + </Property> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="530" y="100" width="60" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel144"> + <Properties> + <Property name="text" type="java.lang.String" value="Horas"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="530" y="80" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JSpinner" name="spMinuto"> + <Properties> + <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor"> + <SpinnerModel initial="0" maximum="59" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/> + </Property> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="600" y="100" width="50" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel145"> + <Properties> + <Property name="text" type="java.lang.String" value="Minutos"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="600" y="80" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JSpinner" name="spSegundos"> + <Properties> + <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor"> + <SpinnerModel initial="0" maximum="59" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/> + </Property> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="660" y="100" width="50" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel146"> + <Properties> + <Property name="text" type="java.lang.String" value="Segundos"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="660" y="80" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane19"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="770" y="50" width="180" height="400"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstCategorias"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="com.toedter.calendar.JDateChooser" name="dcFechaPublicacion"> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="600" y="340" width="140" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Video/frmModificarVideo.java b/UyTube_logica/src/Presentacion/Video/frmModificarVideo.java new file mode 100644 index 0000000..b4c3f3b --- /dev/null +++ b/UyTube_logica/src/Presentacion/Video/frmModificarVideo.java @@ -0,0 +1,472 @@ +package Presentacion.Video; + +import Logica.DataType.DtUsuario; +import Logica.DataType.DtVideo; +import Logica.Enumerados.Privacidad; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import java.sql.Time; +import java.util.ArrayList; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; +import javax.swing.ListModel; + +public class frmModificarVideo extends javax.swing.JDialog { + + IAdmin sys; + DefaultListModel s = new DefaultListModel(); + boolean liberarMemoria; + String validarNombre; + + public frmModificarVideo(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + liberarMemoria = true; + + try { + // obtiene la instancia de sistema + sys = Fabrica.getInstancia().getIAdmin(); + + // lista usuarios en el JList + listarUsuarios(sys.listarUsuarios()); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + buttonGroup1 = new javax.swing.ButtonGroup(); + jPanel14 = new javax.swing.JPanel(); + btnModificar = new javax.swing.JButton(); + btnCancelar = new javax.swing.JButton(); + jScrollPane16 = new javax.swing.JScrollPane(); + lstDuenioVideo = new javax.swing.JList<>(); + jLabel71 = new javax.swing.JLabel(); + jScrollPane17 = new javax.swing.JScrollPane(); + lstVideoUsuario = new javax.swing.JList<>(); + jLabel72 = new javax.swing.JLabel(); + txtNombre = new javax.swing.JTextField(); + jLabel73 = new javax.swing.JLabel(); + jLabel74 = new javax.swing.JLabel(); + jLabel75 = new javax.swing.JLabel(); + txtURL = new javax.swing.JTextField(); + jLabel76 = new javax.swing.JLabel(); + jScrollPane18 = new javax.swing.JScrollPane(); + txtDescripcion = new javax.swing.JTextArea(); + jLabel77 = new javax.swing.JLabel(); + jLabel78 = new javax.swing.JLabel(); + rbPublico = new javax.swing.JRadioButton(); + rbPrivado = new javax.swing.JRadioButton(); + spHora = new javax.swing.JSpinner(); + jLabel144 = new javax.swing.JLabel(); + spMinuto = new javax.swing.JSpinner(); + jLabel145 = new javax.swing.JLabel(); + spSegundos = new javax.swing.JSpinner(); + jLabel146 = new javax.swing.JLabel(); + jScrollPane19 = new javax.swing.JScrollPane(); + lstCategorias = new javax.swing.JList<>(); + dcFechaPublicacion = new com.toedter.calendar.JDateChooser(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Modificar video"); + setResizable(false); + + jPanel14.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + btnModificar.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnModificar.setText("Modificar"); + btnModificar.setEnabled(false); + btnModificar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnModificarActionPerformed(evt); + } + }); + jPanel14.add(btnModificar, new org.netbeans.lib.awtextra.AbsoluteConstraints(560, 470, 390, 70)); + + btnCancelar.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnCancelar.setText("Cancelar"); + btnCancelar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnCancelarActionPerformed(evt); + } + }); + jPanel14.add(btnCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 473, 390, 70)); + + lstDuenioVideo.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstDuenioVideoValueChanged(evt); + } + }); + jScrollPane16.setViewportView(lstDuenioVideo); + + jPanel14.add(jScrollPane16, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 50, 180, 400)); + + jLabel71.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel71.setText("Dueño del video:"); + jPanel14.add(jLabel71, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 20, -1, -1)); + + lstVideoUsuario.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstVideoUsuarioValueChanged(evt); + } + }); + jScrollPane17.setViewportView(lstVideoUsuario); + + jPanel14.add(jScrollPane17, new org.netbeans.lib.awtextra.AbsoluteConstraints(240, 50, 180, 400)); + + jLabel72.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel72.setText("Video del Usuario:"); + jPanel14.add(jLabel72, new org.netbeans.lib.awtextra.AbsoluteConstraints(240, 20, -1, -1)); + jPanel14.add(txtNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 50, 210, -1)); + + jLabel73.setText("Nombre:"); + jPanel14.add(jLabel73, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 50, -1, -1)); + + jLabel74.setText("Duración:"); + jPanel14.add(jLabel74, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 100, -1, -1)); + + jLabel75.setText("URL:"); + jPanel14.add(jLabel75, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 140, -1, -1)); + jPanel14.add(txtURL, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 140, 210, -1)); + + jLabel76.setText("Descripción:"); + jPanel14.add(jLabel76, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 180, 80, -1)); + + txtDescripcion.setColumns(20); + txtDescripcion.setRows(5); + jScrollPane18.setViewportView(txtDescripcion); + + jPanel14.add(jScrollPane18, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 180, 210, 120)); + + jLabel77.setText("Fecha publicación:"); + jPanel14.add(jLabel77, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 340, -1, -1)); + + jLabel78.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel78.setText("Asignar categorÃa:"); + jPanel14.add(jLabel78, new org.netbeans.lib.awtextra.AbsoluteConstraints(770, 20, -1, -1)); + + buttonGroup1.add(rbPublico); + rbPublico.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + rbPublico.setText("Público"); + jPanel14.add(rbPublico, new org.netbeans.lib.awtextra.AbsoluteConstraints(460, 390, -1, -1)); + + buttonGroup1.add(rbPrivado); + rbPrivado.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + rbPrivado.setText("Privado"); + jPanel14.add(rbPrivado, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 390, -1, -1)); + + spHora.setModel(new javax.swing.SpinnerNumberModel(0, 0, 15, 1)); + jPanel14.add(spHora, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 100, 60, -1)); + + jLabel144.setText("Horas"); + jPanel14.add(jLabel144, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 80, -1, -1)); + + spMinuto.setModel(new javax.swing.SpinnerNumberModel(0, 0, 59, 1)); + jPanel14.add(spMinuto, new org.netbeans.lib.awtextra.AbsoluteConstraints(600, 100, 50, -1)); + + jLabel145.setText("Minutos"); + jPanel14.add(jLabel145, new org.netbeans.lib.awtextra.AbsoluteConstraints(600, 80, -1, -1)); + + spSegundos.setModel(new javax.swing.SpinnerNumberModel(0, 0, 59, 1)); + jPanel14.add(spSegundos, new org.netbeans.lib.awtextra.AbsoluteConstraints(660, 100, 50, -1)); + + jLabel146.setText("Segundos"); + jPanel14.add(jLabel146, new org.netbeans.lib.awtextra.AbsoluteConstraints(660, 80, -1, -1)); + + jScrollPane19.setViewportView(lstCategorias); + + jPanel14.add(jScrollPane19, new org.netbeans.lib.awtextra.AbsoluteConstraints(770, 50, 180, 400)); + jPanel14.add(dcFechaPublicacion, new org.netbeans.lib.awtextra.AbsoluteConstraints(600, 340, 140, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel14, javax.swing.GroupLayout.PREFERRED_SIZE, 980, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(jPanel14, javax.swing.GroupLayout.PREFERRED_SIZE, 550, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 12, Short.MAX_VALUE)) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + public frmModificarVideo(javax.swing.JDialog parent, boolean modal, String nickname) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + liberarMemoria = false; + try { + // obtiene la instancia de sistema + sys = Fabrica.getInstancia().getIAdmin(); + + // Limpio la ventana + // limpiarElementosDeVentana(); + // lista usuarios y categorias en JList + listarUsuarios(sys.listarUsuarios()); + lstDuenioVideo.setSelectedValue(nickname, true); + lstDuenioVideo.setEnabled(false); + + // Selecciono el usuario en la lista de usuarios + // deshabilito la lista de usuarios para que no lo cambien + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + dispose(); + } + } + + private void habilitarModificar() { + if (!lstVideoUsuario.isSelectionEmpty()) { + btnModificar.setEnabled(true); + } else { + btnModificar.setEnabled(false); + } + } + + private boolean existeVideo(String nombre) { + ListModel<String> lst = lstVideoUsuario.getModel(); + for (int i = 0; i < lst.getSize(); i++) { + if (lst.getElementAt(i).equals(nombre)) { + return true; + } + + } + return false; + + } + + private void listarUsuarios(ArrayList<DtUsuario> ListaUsuarios) { + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : ListaUsuarios) { + modelo.addElement(it.getNickname()); + } + lstDuenioVideo.setModel(modelo); + + } + + private void listarCategorias(ArrayList<String> ListaCategorias) { + DefaultListModel modelo2 = new DefaultListModel(); + for (int i = 0; i < sys.listarCategorias().size(); i++) { + modelo2.add(i, sys.listarCategorias().get(i)); + } + lstCategorias.setModel(modelo2); + } + + private void listarVideos(ArrayList<DtVideo> ListaVideos) { + DefaultListModel modelo1 = new DefaultListModel(); + for (DtVideo it : ListaVideos) { + modelo1.addElement(it.getNombre()); + } + lstVideoUsuario.setModel(modelo1); + + } + + private void cargarDatosDeVideo(DtVideo v) { + int hora, minuto, segundo; + txtNombre.setText(v.getNombre()); + txtDescripcion.setText(v.getDescripcion()); + txtURL.setText(v.getUrlVideoOriginal()); + dcFechaPublicacion.setDate(v.getFechaPublicacion()); + + spHora.setValue(v.getDuracion().getHours()); + spMinuto.setValue(v.getDuracion().getMinutes()); + spSegundos.setValue(v.getDuracion().getSeconds()); + + if (v.getPrivacidad() == Privacidad.PUBLICO) { + rbPublico.setSelected(true); + } else { + rbPrivado.setSelected(true); + } + + lstCategorias.setSelectedValue(v.getCategoria(), true); + + } + + + private void btnModificarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnModificarActionPerformed + try { + if (lstVideoUsuario.isSelectionEmpty()) { + JOptionPane.showMessageDialog(null, "Seleccione un video para modificar", "Error", JOptionPane.WARNING_MESSAGE); + } else { + if (txtNombre.getText().isEmpty()) { + JOptionPane.showMessageDialog(null, "El nombre del video no puede ser vacÃo", "Error", JOptionPane.WARNING_MESSAGE); + } else { + if (txtNombre.getText().length() > 100) { + JOptionPane.showMessageDialog(null, "El nombre del video no puede tener mas de 100 caracteres", "Error", JOptionPane.WARNING_MESSAGE); + } else { + if (lstCategorias.isSelectionEmpty()) { + JOptionPane.showMessageDialog(null, "Seleccione una categorÃa", "Error", JOptionPane.WARNING_MESSAGE); + } else { + if (txtURL.getText().isEmpty()) { + JOptionPane.showMessageDialog(null, "La URL del video no puede ser vacÃa", "Error", JOptionPane.WARNING_MESSAGE); + } else { + if (!validarFormatoURL(txtURL.getText())) { + JOptionPane.showMessageDialog(null, "La URL del video no es válida", "Error", JOptionPane.WARNING_MESSAGE); + } else { + if (dcFechaPublicacion.getDate() == null) { + JOptionPane.showMessageDialog(null, "Seleccione una fecha de publicacion", "Error", JOptionPane.WARNING_MESSAGE); + } else { + if (!txtNombre.getText().equals(validarNombre)) { + if (existeVideo(txtNombre.getText())) { + JOptionPane.showMessageDialog(null, "Ya existe este video en la lista seleccionada", "Error", JOptionPane.WARNING_MESSAGE); + return; + } + } + + int hora = (Integer) spHora.getValue(); + int minuto = (Integer) spMinuto.getValue(); + int segundo = (Integer) spSegundos.getValue(); + Privacidad priv = Privacidad.PRIVADO; + if (rbPrivado.isSelected() && !(rbPublico.isSelected())) { + priv = Privacidad.PRIVADO; + } else if (rbPublico.isSelected() && !(rbPrivado.isSelected())) { + priv = Privacidad.PUBLICO; + } else { + JOptionPane.showMessageDialog(null, "Seleccione privacidad del video", "Error", JOptionPane.WARNING_MESSAGE); + return; + } + java.sql.Date fecha = null; + if (dcFechaPublicacion.getDate() != null) { + java.util.Date utilDate = dcFechaPublicacion.getDate(); + fecha = new java.sql.Date(utilDate.getTime()); + } + DtVideo video = new DtVideo(WIDTH, txtNombre.getText(), txtDescripcion.getText(), new Time(hora, minuto, segundo), fecha, txtURL.getText(), priv, lstCategorias.getSelectedValue(), ALLBITS, PROPERTIES); + if (sys.obtenerCanalDeUsuario().getPrivacidad() == Privacidad.PRIVADO && rbPublico.isSelected()) { + JOptionPane.showMessageDialog(null, "No es posible hacer público un video si su canal es privado", "Error", JOptionPane.WARNING_MESSAGE); + return; + } + sys.modificarVideo(video); + + if (liberarMemoria) { + sys.liberarMemoriaUsuario(); + } + sys.liberarMemoriaVideo(); + + JOptionPane.showMessageDialog(null, "Se han efectuado los cambios", "OK", JOptionPane.INFORMATION_MESSAGE); + dispose(); + } + } + } + } + } + } + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + + } + }//GEN-LAST:event_btnModificarActionPerformed + + private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed + try { + if (liberarMemoria) { + sys.liberarMemoriaUsuario(); + } + sys.liberarMemoriaVideo(); + dispose(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + + } + }//GEN-LAST:event_btnCancelarActionPerformed + + private void lstDuenioVideoValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstDuenioVideoValueChanged + if (evt.getValueIsAdjusting()) { + return; + } + if (lstDuenioVideo.getSelectedIndex() < 0) { + return; + } + txtDescripcion.setText(""); + txtNombre.setText(""); + txtURL.setText(""); + spHora.setValue(0); + spMinuto.setValue(0); + spSegundos.setValue(0); + lstCategorias.clearSelection(); + String nick = lstDuenioVideo.getSelectedValue(); + sys.seleccionarUsuario(nick); + listarVideos(sys.listarVideosDeUsuario()); + habilitarModificar(); + buttonGroup1.clearSelection(); + dcFechaPublicacion.setDate(null); + }//GEN-LAST:event_lstDuenioVideoValueChanged + + private void lstVideoUsuarioValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstVideoUsuarioValueChanged + if (evt.getValueIsAdjusting()) { + return; + } + if (lstVideoUsuario.getSelectedIndex() < 0) { + return; + } + + try { + habilitarModificar(); + String nombre = lstVideoUsuario.getSelectedValue(); + ArrayList<DtVideo> arr = sys.listarVideosDeUsuario(); + int idVideo = arr.get(lstVideoUsuario.getSelectedIndex()).getId(); + DtVideo dtv = sys.seleccionarVideo(idVideo); + validarNombre = dtv.getNombre(); + + listarCategorias(sys.listarCategorias()); + cargarDatosDeVideo(dtv); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + + } + }//GEN-LAST:event_lstVideoUsuarioValueChanged + + private boolean validarFormatoURL(String _url) { + Pattern patronURL = Pattern.compile("^((((https?|ftps?|gopher|telnet|nntp)://)|(mailto:|news:))(%[0-9A-Fa-f]{2}|[-()_.!~*’;/?:@&=+$, A-Za-z0-9])+)([).!’;/?:, ][[:blank:]])?$"); + Matcher mather = patronURL.matcher(_url); + if (mather.find() == true) { + return true; + } + return false; + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnCancelar; + private javax.swing.JButton btnModificar; + private javax.swing.ButtonGroup buttonGroup1; + private com.toedter.calendar.JDateChooser dcFechaPublicacion; + private javax.swing.JLabel jLabel144; + private javax.swing.JLabel jLabel145; + private javax.swing.JLabel jLabel146; + private javax.swing.JLabel jLabel71; + private javax.swing.JLabel jLabel72; + private javax.swing.JLabel jLabel73; + private javax.swing.JLabel jLabel74; + private javax.swing.JLabel jLabel75; + private javax.swing.JLabel jLabel76; + private javax.swing.JLabel jLabel77; + private javax.swing.JLabel jLabel78; + private javax.swing.JPanel jPanel14; + private javax.swing.JScrollPane jScrollPane16; + private javax.swing.JScrollPane jScrollPane17; + private javax.swing.JScrollPane jScrollPane18; + private javax.swing.JScrollPane jScrollPane19; + private javax.swing.JList<String> lstCategorias; + private javax.swing.JList<String> lstDuenioVideo; + private javax.swing.JList<String> lstVideoUsuario; + public static javax.swing.JRadioButton rbPrivado; + public static javax.swing.JRadioButton rbPublico; + private javax.swing.JSpinner spHora; + private javax.swing.JSpinner spMinuto; + private javax.swing.JSpinner spSegundos; + private javax.swing.JTextArea txtDescripcion; + private javax.swing.JTextField txtNombre; + private javax.swing.JTextField txtURL; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/Video/frmValorarVideo.form b/UyTube_logica/src/Presentacion/Video/frmValorarVideo.form new file mode 100644 index 0000000..b5a28f3 --- /dev/null +++ b/UyTube_logica/src/Presentacion/Video/frmValorarVideo.form @@ -0,0 +1,282 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <NonVisualComponents> + <Component class="javax.swing.ButtonGroup" name="buttonGroup1"> + <AuxValues> + <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="9"/> + </AuxValues> + </Component> + </NonVisualComponents> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Valorar video"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="850" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel16" min="-2" pref="850" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="450" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel16" min="-2" pref="450" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel16"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Container class="javax.swing.JScrollPane" name="jScrollPane28"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="620" y="50" width="200" height="310"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstUsuarioValoradoR"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + <Property name="toolTipText" type="java.lang.String" value="Seleccione usuario que realizara la valoracion"/> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstUsuarioValoradoRValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Container class="javax.swing.JScrollPane" name="jScrollPane29"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="260" y="50" width="330" height="310"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstVideoAValorar"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + <Property name="toolTipText" type="java.lang.String" value="Seleccione el video a valorar"/> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstVideoAValorarValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel96"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Usuario valorador:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="620" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel97"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Video a valorar:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="260" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane30"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="50" width="200" height="310"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="lstUsuarioValorado"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="0"/> + </Property> + <Property name="toolTipText" type="java.lang.String" value="Seleccione el uruaio que realizara la valoracion "/> + </Properties> + <Events> + <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="lstUsuarioValoradoValueChanged"/> + </Events> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JLabel" name="jLabel98"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Usuario valorado:"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="20" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JRadioButton" name="rbMeGusta"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="buttonGroup1"/> + </Property> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="18" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Me gusta"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rbMeGustaActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="260" y="390" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JRadioButton" name="rbNoMeGusta"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="buttonGroup1"/> + </Property> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="18" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="No me gusta"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rbNoMeGustaActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="380" y="390" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnValorar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="18" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Valorar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnValorarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="620" y="380" width="200" height="50"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnCancelar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="18" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Cancelar"/> + <Property name="toolTipText" type="java.lang.String" value="Se perderan todos los Items seleccionados"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnCancelarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="380" width="200" height="50"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JRadioButton" name="rbQuitar"> + <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="buttonGroup1"/> + </Property> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="18" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Quitar"/> + <Property name="enabled" type="boolean" value="false"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rbQuitarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="520" y="390" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/Video/frmValorarVideo.java b/UyTube_logica/src/Presentacion/Video/frmValorarVideo.java new file mode 100644 index 0000000..58ec5ff --- /dev/null +++ b/UyTube_logica/src/Presentacion/Video/frmValorarVideo.java @@ -0,0 +1,409 @@ +package Presentacion.Video; + +import java.util.ArrayList; +import Logica.DataType.DtUsuario; +import Logica.DataType.DtValoracion; +import Logica.DataType.DtVideo; +import Logica.Enumerados.TipoValoracion; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; + +public class frmValorarVideo extends javax.swing.JDialog { + + private IAdmin sys; + ArrayList<DtUsuario> ListaUsuarios; + private ArrayList<DtVideo> VideosDelUser; + + public frmValorarVideo(java.awt.Frame parent, boolean modal) { + super(parent, modal); + try { + initComponents(); + this.setLocationRelativeTo(null); + + Fabrica f = Fabrica.getInstancia(); + sys = f.getIAdmin(); + + ListaUsuarios = sys.listarUsuarios(); + mostrarListadoDeUsuarios(ListaUsuarios); + + mostrarValoracionEnRadioButtons(); + + lstUsuarioValoradoR.setEnabled(false); + lstVideoAValorar.setEnabled(false); + btnValorar.setEnabled(false); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + buttonGroup1 = new javax.swing.ButtonGroup(); + jPanel16 = new javax.swing.JPanel(); + jScrollPane28 = new javax.swing.JScrollPane(); + lstUsuarioValoradoR = new javax.swing.JList<>(); + jScrollPane29 = new javax.swing.JScrollPane(); + lstVideoAValorar = new javax.swing.JList<>(); + jLabel96 = new javax.swing.JLabel(); + jLabel97 = new javax.swing.JLabel(); + jScrollPane30 = new javax.swing.JScrollPane(); + lstUsuarioValorado = new javax.swing.JList<>(); + jLabel98 = new javax.swing.JLabel(); + rbMeGusta = new javax.swing.JRadioButton(); + rbNoMeGusta = new javax.swing.JRadioButton(); + btnValorar = new javax.swing.JButton(); + btnCancelar = new javax.swing.JButton(); + rbQuitar = new javax.swing.JRadioButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Valorar video"); + setResizable(false); + + jPanel16.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + lstUsuarioValoradoR.setToolTipText("Seleccione usuario que realizara la valoracion"); + lstUsuarioValoradoR.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstUsuarioValoradoRValueChanged(evt); + } + }); + jScrollPane28.setViewportView(lstUsuarioValoradoR); + + jPanel16.add(jScrollPane28, new org.netbeans.lib.awtextra.AbsoluteConstraints(620, 50, 200, 310)); + + lstVideoAValorar.setToolTipText("Seleccione el video a valorar"); + lstVideoAValorar.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstVideoAValorarValueChanged(evt); + } + }); + jScrollPane29.setViewportView(lstVideoAValorar); + + jPanel16.add(jScrollPane29, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 50, 330, 310)); + + jLabel96.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel96.setText("Usuario valorador:"); + jPanel16.add(jLabel96, new org.netbeans.lib.awtextra.AbsoluteConstraints(620, 20, -1, -1)); + + jLabel97.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel97.setText("Video a valorar:"); + jPanel16.add(jLabel97, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 20, -1, -1)); + + lstUsuarioValorado.setToolTipText("Seleccione el uruaio que realizara la valoracion "); + lstUsuarioValorado.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + lstUsuarioValoradoValueChanged(evt); + } + }); + jScrollPane30.setViewportView(lstUsuarioValorado); + + jPanel16.add(jScrollPane30, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 50, 200, 310)); + + jLabel98.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel98.setText("Usuario valorado:"); + jPanel16.add(jLabel98, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 20, -1, -1)); + + buttonGroup1.add(rbMeGusta); + rbMeGusta.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + rbMeGusta.setText("Me gusta"); + rbMeGusta.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + rbMeGustaActionPerformed(evt); + } + }); + jPanel16.add(rbMeGusta, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 390, -1, -1)); + + buttonGroup1.add(rbNoMeGusta); + rbNoMeGusta.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + rbNoMeGusta.setText("No me gusta"); + rbNoMeGusta.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + rbNoMeGustaActionPerformed(evt); + } + }); + jPanel16.add(rbNoMeGusta, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 390, -1, -1)); + + btnValorar.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + btnValorar.setText("Valorar"); + btnValorar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnValorarActionPerformed(evt); + } + }); + jPanel16.add(btnValorar, new org.netbeans.lib.awtextra.AbsoluteConstraints(620, 380, 200, 50)); + + btnCancelar.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + btnCancelar.setText("Cancelar"); + btnCancelar.setToolTipText("Se perderan todos los Items seleccionados"); + btnCancelar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnCancelarActionPerformed(evt); + } + }); + jPanel16.add(btnCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 380, 200, 50)); + + buttonGroup1.add(rbQuitar); + rbQuitar.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + rbQuitar.setText("Quitar"); + rbQuitar.setEnabled(false); + rbQuitar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + rbQuitarActionPerformed(evt); + } + }); + jPanel16.add(rbQuitar, new org.netbeans.lib.awtextra.AbsoluteConstraints(520, 390, -1, -1)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 850, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel16, javax.swing.GroupLayout.PREFERRED_SIZE, 850, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 450, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel16, javax.swing.GroupLayout.PREFERRED_SIZE, 450, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed + //CANCELAR + try { + sys.liberarMemoriaVideo(); + sys.liberarMemoriaUsuarioActual(); + sys.liberarMemoriaUsuario(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } finally { + dispose(); + } + }//GEN-LAST:event_btnCancelarActionPerformed + + private void lstUsuarioValoradoValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuarioValoradoValueChanged + // Seleccionar usuario duenio de video + if (evt.getValueIsAdjusting()) { + return; + } + if (lstUsuarioValorado.getSelectedIndex() < 0) { + return; + } + + try { + int indiceSeleccionado = lstUsuarioValorado.getSelectedIndex(); + String nick = ListaUsuarios.get(indiceSeleccionado).getNickname(); + sys.seleccionarUsuario(nick); + VideosDelUser = sys.listarVideosDeUsuario(); + mostrarListadoDeVideos(VideosDelUser); + mostrarValoracionEnRadioButtons(); + + lstVideoAValorar.setEnabled(true); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + + }//GEN-LAST:event_lstUsuarioValoradoValueChanged + + private void lstVideoAValorarValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstVideoAValorarValueChanged + // Al seleccionar un video + if (evt.getValueIsAdjusting()) { + return; + } + if (lstVideoAValorar.getSelectedIndex() < 0) { + mostrarValoracionEnRadioButtons(); + return; + } + + try { + int indiceSeleccionado = lstVideoAValorar.getSelectedIndex(); + int idVideo = VideosDelUser.get(indiceSeleccionado).getId(); + sys.seleccionarVideo(idVideo); + mostrarValoracionEnRadioButtons(); + + lstUsuarioValoradoR.setEnabled(true); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstVideoAValorarValueChanged + + private void lstUsuarioValoradoRValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuarioValoradoRValueChanged + // al seleccionar usuario que va a valorar + if (evt.getValueIsAdjusting()) { + return; + } + if (lstUsuarioValoradoR.getSelectedIndex() < 0) { + return; + } + + try { + int indiceSeleccionado = lstUsuarioValoradoR.getSelectedIndex(); + String nick = ListaUsuarios.get(indiceSeleccionado).getNickname(); + sys.seleccionarUsuarioActual(nick); + mostrarValoracionEnRadioButtons(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_lstUsuarioValoradoRValueChanged + + private void btnValorarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnValorarActionPerformed + // Clic en boton Valorar + + // validaciones + if (lstUsuarioValorado.getSelectedIndex() < 0) { + JOptionPane.showMessageDialog(null, "Debe seleccionar un usuario propietario del video", "¡Atención!", JOptionPane.WARNING_MESSAGE); + return; + } + if (lstVideoAValorar.getSelectedIndex() < 0) { + JOptionPane.showMessageDialog(null, "Debe seleccionar un video", "¡Atención!", JOptionPane.WARNING_MESSAGE); + return; + } + if (lstUsuarioValoradoR.getSelectedIndex() < 0) { + JOptionPane.showMessageDialog(null, "Debe seleccionar el usuario que realizará la valoración", "¡Atención!", JOptionPane.WARNING_MESSAGE); + return; + } + if ( ! (rbMeGusta.isSelected() || rbNoMeGusta.isSelected() || rbQuitar.isSelected())) { + JOptionPane.showMessageDialog(null, "Debe seleccionar la opcion de valoración", "¡Atención!", JOptionPane.WARNING_MESSAGE); + return; + } + + try { + String nick; + int indiceSeleccionado; + + indiceSeleccionado = lstUsuarioValorado.getSelectedIndex(); + nick = ListaUsuarios.get(indiceSeleccionado).getNickname(); + sys.seleccionarUsuario(nick); + + indiceSeleccionado = lstVideoAValorar.getSelectedIndex(); + int idVideo = VideosDelUser.get(indiceSeleccionado).getId(); + sys.seleccionarVideo(idVideo); + + indiceSeleccionado = lstUsuarioValoradoR.getSelectedIndex(); + nick = ListaUsuarios.get(indiceSeleccionado).getNickname(); + sys.seleccionarUsuarioActual(nick); + + if (rbMeGusta.isSelected()) { + sys.altaValoracion(new DtValoracion(TipoValoracion.LIKE, "hola")); + } else if (rbNoMeGusta.isSelected()) { + sys.altaValoracion(new DtValoracion(TipoValoracion.DISLIKE, "hola")); + } else { + sys.altaValoracion(null); + } + + sys.liberarMemoriaVideo(); + sys.liberarMemoriaUsuarioActual(); + sys.liberarMemoriaUsuario(); + JOptionPane.showMessageDialog(null, "Video valorado exitosamente\n", "Informacion", JOptionPane.INFORMATION_MESSAGE); + dispose(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + }//GEN-LAST:event_btnValorarActionPerformed + + private void rbMeGustaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rbMeGustaActionPerformed + btnValorar.setEnabled(true); + }//GEN-LAST:event_rbMeGustaActionPerformed + + private void rbNoMeGustaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rbNoMeGustaActionPerformed + btnValorar.setEnabled(true); + }//GEN-LAST:event_rbNoMeGustaActionPerformed + + private void rbQuitarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rbQuitarActionPerformed + btnValorar.setEnabled(true); + }//GEN-LAST:event_rbQuitarActionPerformed + + //////////////////////////////////////////////////////////////////////////////////////////// + private void mostrarListadoDeUsuarios(ArrayList<DtUsuario> l) { + DefaultListModel modelo1 = new DefaultListModel(); + DefaultListModel modelo2 = new DefaultListModel(); + for (DtUsuario it : l) { + modelo1.addElement(it.getNickname()); + modelo2.addElement(it.getNickname()); + } + lstUsuarioValorado.setModel(modelo1); + lstUsuarioValoradoR.setModel(modelo2); + } + + private void mostrarListadoDeVideos(ArrayList<DtVideo> l) { + DefaultListModel modelo1 = new DefaultListModel(); + for (DtVideo it : l) { + modelo1.addElement(it.getNombre()); + } + lstVideoAValorar.setModel(modelo1); + lstVideoAValorar.updateUI(); + } + + private void mostrarValoracionEnRadioButtons() { + try { + if (lstUsuarioValorado.isSelectionEmpty() + || lstVideoAValorar.isSelectionEmpty() + || lstUsuarioValoradoR.isSelectionEmpty()) { + buttonGroup1.clearSelection(); + rbMeGusta.setEnabled(false); + rbNoMeGusta.setEnabled(false); + rbQuitar.setEnabled(false); + btnValorar.setEnabled(false); + return; + } + rbMeGusta.setEnabled(true); + rbNoMeGusta.setEnabled(true); + + DtValoracion dtv = sys.obtenerValoracionDada(); + + if (dtv == null) { + buttonGroup1.clearSelection(); + btnValorar.setEnabled(false); + rbQuitar.setEnabled(false); + //rbMeGusta.setSelected(false); + //rbNoMeGusta.setSelected(false); + } else { + if (dtv.getVal() == TipoValoracion.LIKE) { + rbMeGusta.setSelected(true); + rbNoMeGusta.setSelected(false); + } else { + rbMeGusta.setSelected(false); + rbNoMeGusta.setSelected(true); + } + rbQuitar.setEnabled(true); + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } + } + //////////////////////////////////////////////////////////////////////////////////////////// + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnCancelar; + private javax.swing.JButton btnValorar; + public static javax.swing.ButtonGroup buttonGroup1; + private javax.swing.JLabel jLabel96; + private javax.swing.JLabel jLabel97; + private javax.swing.JLabel jLabel98; + private javax.swing.JPanel jPanel16; + private javax.swing.JScrollPane jScrollPane28; + private javax.swing.JScrollPane jScrollPane29; + private javax.swing.JScrollPane jScrollPane30; + private javax.swing.JList<String> lstUsuarioValorado; + private javax.swing.JList<String> lstUsuarioValoradoR; + private javax.swing.JList<String> lstVideoAValorar; + private javax.swing.JRadioButton rbMeGusta; + private javax.swing.JRadioButton rbNoMeGusta; + private javax.swing.JRadioButton rbQuitar; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/frmAcercaDeNos.form b/UyTube_logica/src/Presentacion/frmAcercaDeNos.form new file mode 100644 index 0000000..5dc7a59 --- /dev/null +++ b/UyTube_logica/src/Presentacion/frmAcercaDeNos.form @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Acerca de nos"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="570" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel10" min="-2" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="460" max="32767" attributes="0"/> + <Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="jPanel10" min="-2" pref="460" max="-2" attributes="0"/> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + </Group> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="jPanel10"> + <Properties> + <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor"> + <Color blue="14" green="14" red="14" type="rgb"/> + </Property> + </Properties> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="lbImagen"> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="lbImagenMouseClicked"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="0" y="0" width="570" height="430"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnAceptar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Aceptar"/> + <Property name="borderPainted" type="boolean" value="false"/> + <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor"> + <Color id="Cursor de Mano"/> + </Property> + </Properties> + <Events> + <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="btnAceptarMouseClicked"/> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnAceptarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="440" y="420" width="110" height="30"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/frmAcercaDeNos.java b/UyTube_logica/src/Presentacion/frmAcercaDeNos.java new file mode 100644 index 0000000..ca5dfe8 --- /dev/null +++ b/UyTube_logica/src/Presentacion/frmAcercaDeNos.java @@ -0,0 +1,144 @@ +package Presentacion; +import java.awt.Image; +import javax.swing.ImageIcon; + +public class frmAcercaDeNos extends javax.swing.JDialog { + boolean aburrido = false; + + public frmAcercaDeNos(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + + lbImagen.setText(null); + Image img7 = new ImageIcon("Imagenes/about.png").getImage(); + ImageIcon img8 = new ImageIcon(img7.getScaledInstance(lbImagen.getWidth(), lbImagen.getHeight(), Image.SCALE_SMOOTH)); + lbImagen.setIcon(img8); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jPanel10 = new javax.swing.JPanel(); + lbImagen = new javax.swing.JLabel(); + btnAceptar = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Acerca de nos"); + setResizable(false); + + jPanel10.setBackground(new java.awt.Color(20, 20, 20)); + jPanel10.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + lbImagen.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + lbImagenMouseClicked(evt); + } + }); + jPanel10.add(lbImagen, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 570, 430)); + + btnAceptar.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnAceptar.setText("Aceptar"); + btnAceptar.setBorderPainted(false); + btnAceptar.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); + btnAceptar.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + btnAceptarMouseClicked(evt); + } + }); + btnAceptar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnAceptarActionPerformed(evt); + } + }); + jPanel10.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(440, 420, 110, 30)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 570, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 460, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jPanel10, javax.swing.GroupLayout.PREFERRED_SIZE, 460, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed + // Boton Acptar + dispose(); + }//GEN-LAST:event_btnAceptarActionPerformed + + private void btnAceptarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnAceptarMouseClicked + dispose(); + }//GEN-LAST:event_btnAceptarMouseClicked + + private void lbImagenMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lbImagenMouseClicked + if ((!aburrido) && evt.getClickCount() == 42) { + // aburrido + // muy aburrido + int rango = 300; + int xInicial = this.getX(); + int yInicial = this.getY(); + + for (int i = 0; i < 3; i++) { + for (int x = this.getX(); x < xInicial + rango; x++) { + this.setLocation(x, yInicial); + } + for (int x = this.getX(); x > xInicial - rango; x--) { + this.setLocation(x, yInicial); + } + for (int x = this.getX(); x < xInicial; x++) { + this.setLocation(x, yInicial); + } + } + aburrido = true; + }else if (aburrido && evt.getClickCount() == 42) { + int respuesta = javax.swing.JOptionPane.showConfirmDialog( + null, + "¿En serio estás tan aburrido?", + "¿Aburrido?", + javax.swing.JOptionPane.YES_OPTION, + javax.swing.JOptionPane.QUESTION_MESSAGE + ); + if (respuesta == javax.swing.JOptionPane.YES_OPTION){ + javax.swing.JOptionPane.showMessageDialog(null, + "Se nota...", + "La verdad...", + javax.swing.JOptionPane.INFORMATION_MESSAGE); + }else if (respuesta == javax.swing.JOptionPane.NO_OPTION){ + javax.swing.JOptionPane.showMessageDialog(null, + "Pues no parece...", + "¿Ah no?", + javax.swing.JOptionPane.INFORMATION_MESSAGE); + } + dispose(); + } + }//GEN-LAST:event_lbImagenMouseClicked + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnAceptar; + private javax.swing.JPanel jPanel10; + private javax.swing.JLabel lbImagen; + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_logica/src/Presentacion/frmInicioSesion.form b/UyTube_logica/src/Presentacion/frmInicioSesion.form new file mode 100644 index 0000000..3688d52 --- /dev/null +++ b/UyTube_logica/src/Presentacion/frmInicioSesion.form @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + <Property name="title" type="java.lang.String" value="Iniciar sesión"/> + <Property name="resizable" type="boolean" value="false"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" alignment="1" attributes="0"> + <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <Component id="pnlFondo" min="-2" pref="450" max="-2" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <Component id="pnlFondo" min="-2" pref="190" max="-2" attributes="0"/> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="pnlFondo"> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> + <Property name="useNullLayout" type="boolean" value="false"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="jLabel4"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Nro de Empleado"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="160" y="30" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="jLabel5"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Contraseña"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="160" y="80" width="-1" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbImagen"> + <Properties> + <Property name="horizontalAlignment" type="int" value="0"/> + <Property name="text" type="java.lang.String" value="imagen"/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="20" width="110" height="100"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JTextField" name="txtNroEmpleado"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtNroEmpleadoKeyReleased"/> + <EventHandler event="keyTyped" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtNroEmpleadoKeyTyped"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="270" y="30" width="160" height="30"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JPasswordField" name="txtContrasenia"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="0"/> + </Property> + </Properties> + <Events> + <EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtContraseniaKeyPressed"/> + <EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtContraseniaKeyReleased"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="270" y="80" width="160" height="30"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnIniciar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Iniciar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnIniciarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="280" y="130" width="150" height="40"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JButton" name="btnCancelar"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Tahoma" size="14" style="1"/> + </Property> + <Property name="text" type="java.lang.String" value="Cancelar"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnCancelarActionPerformed"/> + </Events> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="30" y="130" width="150" height="40"/> + </Constraint> + </Constraints> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/frmInicioSesion.java b/UyTube_logica/src/Presentacion/frmInicioSesion.java new file mode 100644 index 0000000..859bca4 --- /dev/null +++ b/UyTube_logica/src/Presentacion/frmInicioSesion.java @@ -0,0 +1,213 @@ +package Presentacion; + +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import java.awt.Image; +import java.awt.event.KeyEvent; +import javax.swing.ImageIcon; +import javax.swing.JOptionPane; + +public class frmInicioSesion extends javax.swing.JDialog { + + // almacena el resultado el inicio de sesion + boolean resultado; + IAdmin sys; + + public frmInicioSesion(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setLocationRelativeTo(null); + + txtNroEmpleado.setText(""); + txtContrasenia.setText(""); + + // Coloca la imagen del login + lbImagen.setText(null); + Image img = new ImageIcon("Imagenes/ukp.png").getImage(); + ImageIcon img2 = new ImageIcon(img.getScaledInstance(lbImagen.getWidth(), lbImagen.getHeight(), Image.SCALE_SMOOTH)); + lbImagen.setIcon(img2); + + // pide la instancia de Fabrica + + Fabrica f = Fabrica.getInstancia(); + // pide la instancia del sistema + sys = f.getIAdmin(); + + // desactiva el boton de Iniciar + btnIniciar.setEnabled(false); + + // inicializa la variable en falso + resultado = false; + } + + /** This method is called from within the constructor to + * initialize the form. + * WARNING: Do NOT modify this code. The content of this method is + * always regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + pnlFondo = new javax.swing.JPanel(); + jLabel4 = new javax.swing.JLabel(); + jLabel5 = new javax.swing.JLabel(); + lbImagen = new javax.swing.JLabel(); + txtNroEmpleado = new javax.swing.JTextField(); + txtContrasenia = new javax.swing.JPasswordField(); + btnIniciar = new javax.swing.JButton(); + btnCancelar = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Iniciar sesión"); + setResizable(false); + + pnlFondo.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + jLabel4.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel4.setText("Nro de Empleado"); + pnlFondo.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 30, -1, -1)); + + jLabel5.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel5.setText("Contraseña"); + pnlFondo.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 80, -1, -1)); + + lbImagen.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); + lbImagen.setText("imagen"); + pnlFondo.add(lbImagen, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 20, 110, 100)); + + txtNroEmpleado.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + txtNroEmpleado.addKeyListener(new java.awt.event.KeyAdapter() { + public void keyReleased(java.awt.event.KeyEvent evt) { + txtNroEmpleadoKeyReleased(evt); + } + public void keyTyped(java.awt.event.KeyEvent evt) { + txtNroEmpleadoKeyTyped(evt); + } + }); + pnlFondo.add(txtNroEmpleado, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 30, 160, 30)); + + txtContrasenia.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + txtContrasenia.addKeyListener(new java.awt.event.KeyAdapter() { + public void keyPressed(java.awt.event.KeyEvent evt) { + txtContraseniaKeyPressed(evt); + } + public void keyReleased(java.awt.event.KeyEvent evt) { + txtContraseniaKeyReleased(evt); + } + }); + pnlFondo.add(txtContrasenia, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 80, 160, 30)); + + btnIniciar.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnIniciar.setText("Iniciar"); + btnIniciar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnIniciarActionPerformed(evt); + } + }); + pnlFondo.add(btnIniciar, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 130, 150, 40)); + + btnCancelar.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + btnCancelar.setText("Cancelar"); + btnCancelar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnCancelarActionPerformed(evt); + } + }); + pnlFondo.add(btnCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 130, 150, 40)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(pnlFondo, javax.swing.GroupLayout.PREFERRED_SIZE, 450, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(pnlFondo, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed + // insicar secion->cancelar + this.resultado = false; + dispose(); + + }//GEN-LAST:event_btnCancelarActionPerformed + + private void btnIniciarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnIniciarActionPerformed + //Sesion->iniciarSecion->iniciar + btnIniciar(); + }//GEN-LAST:event_btnIniciarActionPerformed + + private void txtNroEmpleadoKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNroEmpleadoKeyTyped + if (!Character.isDigit(evt.getKeyChar())) { + getToolkit().beep(); + evt.consume(); + } + }//GEN-LAST:event_txtNroEmpleadoKeyTyped + + private void txtNroEmpleadoKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNroEmpleadoKeyReleased + habilitarBotonIniciar(); + }//GEN-LAST:event_txtNroEmpleadoKeyReleased + + private void txtContraseniaKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtContraseniaKeyReleased + habilitarBotonIniciar(); + }//GEN-LAST:event_txtContraseniaKeyReleased + + private void txtContraseniaKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtContraseniaKeyPressed + // AL pulsar un ENTER + if (evt.getKeyCode() == KeyEvent.VK_ENTER) { + btnIniciar(); + } + }//GEN-LAST:event_txtContraseniaKeyPressed + + private void habilitarBotonIniciar(){ + // Hacer OR sin short circuit + if (txtNroEmpleado.getText().isEmpty() || txtContrasenia.getText().isEmpty()) { + btnIniciar.setEnabled(false); + } else { + btnIniciar.setEnabled(true); + } + } + + private void btnIniciar(){ + + try { + int nro = Integer.parseInt(txtNroEmpleado.getText()); + String contrasenia = txtContrasenia.getText(); + this.resultado = sys.iniciarSesionAdministrador(nro, contrasenia); + + if (resultado) { + dispose(); + } else { + JOptionPane.showMessageDialog(null, "El número de empleado o la contraseña son incorrectos", "Error al iniciar sesión", JOptionPane.ERROR_MESSAGE); + txtNroEmpleado.setText(""); + txtContrasenia.setText(""); + btnIniciar.setEnabled(false); + } + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } + } + + public boolean seInicioLaSesion(){ + return resultado; + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton btnCancelar; + private javax.swing.JButton btnIniciar; + private javax.swing.JLabel jLabel4; + private javax.swing.JLabel jLabel5; + private javax.swing.JLabel lbImagen; + private javax.swing.JPanel pnlFondo; + private javax.swing.JPasswordField txtContrasenia; + private javax.swing.JTextField txtNroEmpleado; + // End of variables declaration//GEN-END:variables + +} diff --git a/UyTube_logica/src/Presentacion/frmPrincipal.form b/UyTube_logica/src/Presentacion/frmPrincipal.form new file mode 100644 index 0000000..1b1ae66 --- /dev/null +++ b/UyTube_logica/src/Presentacion/frmPrincipal.form @@ -0,0 +1,475 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.9" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo"> + <NonVisualComponents> + <Component class="javax.swing.JMenuItem" name="jMenuItem14"> + <Properties> + <Property name="text" type="java.lang.String" value="jMenuItem14"/> + </Properties> + </Component> + <Component class="javax.swing.JMenuItem" name="jMenuItem21"> + <Properties> + <Property name="text" type="java.lang.String" value="jMenuItem21"/> + </Properties> + </Component> + <Container class="javax.swing.JScrollPane" name="jScrollPane36"> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JList" name="jList27"> + <Properties> + <Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor"> + <StringArray count="5"> + <StringItem index="0" value="Item 1"/> + <StringItem index="1" value="Item 2"/> + <StringItem index="2" value="Item 3"/> + <StringItem index="3" value="Item 4"/> + <StringItem index="4" value="Item 5"/> + </StringArray> + </Property> + </Properties> + <AuxValues> + <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/> + </AuxValues> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.ButtonGroup" name="privacidad_nuevoUsuario"> + <AuxValues> + <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="9"/> + </AuxValues> + </Component> + <Component class="javax.swing.ButtonGroup" name="privacidad_modUsuario"> + <AuxValues> + <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="9"/> + </AuxValues> + </Component> + <Component class="javax.swing.ButtonGroup" name="privacidad_modVideo"> + <AuxValues> + <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="9"/> + </AuxValues> + </Component> + <Component class="javax.swing.ButtonGroup" name="valorarVideo"> + <AuxValues> + <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="9"/> + </AuxValues> + </Component> + <Component class="javax.swing.ButtonGroup" name="privacidad_NuevaLR"> + <AuxValues> + <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="9"/> + </AuxValues> + </Component> + <Component class="javax.swing.ButtonGroup" name="privacidad_modListaR"> + <AuxValues> + <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="9"/> + </AuxValues> + </Component> + <Component class="javax.swing.ButtonGroup" name="tipo_nLR"> + <AuxValues> + <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="9"/> + </AuxValues> + </Component> + <Menu class="javax.swing.JMenuBar" name="barraDeMenu"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="18" style="0"/> + </Property> + </Properties> + <SubComponents> + <Menu class="javax.swing.JMenu" name="menuSesion"> + <Properties> + <Property name="text" type="java.lang.String" value="Sesión"/> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="18" style="0"/> + </Property> + </Properties> + <SubComponents> + <MenuItem class="javax.swing.JMenuItem" name="mitIniciarSesion"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Iniciar sesión"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitIniciarSesionActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitCerrarSesion"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Cerrar sesión"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitCerrarSesionActionPerformed"/> + </Events> + </MenuItem> + </SubComponents> + </Menu> + <Menu class="javax.swing.JMenu" name="menuUsuario"> + <Properties> + <Property name="text" type="java.lang.String" value="Usuario"/> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="18" style="0"/> + </Property> + </Properties> + <SubComponents> + <MenuItem class="javax.swing.JMenuItem" name="mitNuevoUsuario"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Nuevo Usuario"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitNuevoUsuarioActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitConsultaUsuario"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Consultar Usuario"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitConsultaUsuarioActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitModificarUsuario"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Modificar Usuario"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitModificarUsuarioActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitListarUsuarios"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Listar Usuarios"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitListarUsuariosActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitSeguirUsuario"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Seguir Usuario"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitSeguirUsuarioActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitSeguirUsuario1"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Dejar de seguir usuario"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitSeguirUsuario1ActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitEliminarUsuario"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Eliminar usuario"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitEliminarUsuarioActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitConsultaUsuarioEliminado"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Consultar Usuario eliminado"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitConsultaUsuarioEliminadoActionPerformed"/> + </Events> + </MenuItem> + </SubComponents> + </Menu> + <Menu class="javax.swing.JMenu" name="menuVideo"> + <Properties> + <Property name="text" type="java.lang.String" value="Video"/> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="18" style="0"/> + </Property> + </Properties> + <SubComponents> + <MenuItem class="javax.swing.JMenuItem" name="mitNuevoVideo"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Nuevo Video"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitNuevoVideoActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitModificarVideo"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Modificar Video"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitModificarVideoActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitConsultarVideo"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Consultar Video"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitConsultarVideoActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitComentarVideo"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Comentar Video"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitComentarVideoActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitValorarVideo"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Valorar Video"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitValorarVideoActionPerformed"/> + </Events> + </MenuItem> + </SubComponents> + </Menu> + <Menu class="javax.swing.JMenu" name="menuListaDeReproduccion"> + <Properties> + <Property name="text" type="java.lang.String" value="Lista de reproducción"/> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="18" style="0"/> + </Property> + </Properties> + <SubComponents> + <MenuItem class="javax.swing.JMenuItem" name="mitNuevaListaDeReproduccion"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Nueva Lista"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitNuevaListaDeReproduccionActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitModificarListaDeReproduccion"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Modificar Lista"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitModificarListaDeReproduccionActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitConsultarListaDeReproduccion"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Consultar Lista"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitConsultarListaDeReproduccionActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitAgregarVideoAListaDeReproduccion"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Agregar Video"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitAgregarVideoAListaDeReproduccionActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitQuitarVideoDeListaDeReproduccion"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Quitar Video"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitQuitarVideoDeListaDeReproduccionActionPerformed"/> + </Events> + </MenuItem> + </SubComponents> + </Menu> + <Menu class="javax.swing.JMenu" name="menuCategoria"> + <Properties> + <Property name="text" type="java.lang.String" value="Categoría"/> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="18" style="0"/> + </Property> + </Properties> + <SubComponents> + <MenuItem class="javax.swing.JMenuItem" name="mitNuevaCategoria"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Nueva Categoría"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitNuevaCategoriaActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitConsultarCategoria"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Consultar Categoría"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitConsultarCategoriaActionPerformed"/> + </Events> + </MenuItem> + <MenuItem class="javax.swing.JMenuItem" name="mitListarCategorias"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Listar Categoría"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitListarCategoriasActionPerformed"/> + </Events> + </MenuItem> + </SubComponents> + </Menu> + <Menu class="javax.swing.JMenu" name="menuAbout"> + <Properties> + <Property name="text" type="java.lang.String" value="About"/> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="18" style="0"/> + </Property> + </Properties> + <SubComponents> + <MenuItem class="javax.swing.JMenuItem" name="mitAcercaDeNos"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="14" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Acerca de nos"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mitAcercaDeNosActionPerformed"/> + </Events> + </MenuItem> + </SubComponents> + </Menu> + </SubComponents> + </Menu> + </NonVisualComponents> + <Properties> + <Property name="defaultCloseOperation" type="int" value="3"/> + <Property name="title" type="java.lang.String" value="UyTube"/> + <Property name="iconImage" type="java.awt.Image" editor="org.netbeans.modules.form.RADConnectionPropertyEditor"> + <Connection code="getTconImage()" type="code"/> + </Property> + <Property name="locationByPlatform" type="boolean" value="true"/> + <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor"> + <Dimension value="[800, 525]"/> + </Property> + <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor"> + <Dimension value="[800, 525]"/> + </Property> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="menuBar" type="java.lang.String" value="barraDeMenu"/> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <Events> + <EventHandler event="windowClosing" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowClosing"/> + </Events> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,2,-32,0,0,4,-44"/> + </AuxValues> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/> + <SubComponents> + <Container class="javax.swing.JDesktopPane" name="pnlFondo"> + <Properties> + <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor"> + <Color blue="1a" green="0" red="0" type="rgb"/> + </Property> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription"> + <BorderConstraints direction="Center"/> + </Constraint> + </Constraints> + + <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridLayout"> + <Property name="columns" type="int" value="0"/> + <Property name="rows" type="int" value="1"/> + </Layout> + <SubComponents> + <Component class="javax.swing.JLabel" name="lbFondo"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="48" style="0"/> + </Property> + <Property name="horizontalAlignment" type="int" value="0"/> + <Property name="text" type="java.lang.String" value="( > ) UyTube"/> + </Properties> + </Component> + </SubComponents> + </Container> + </SubComponents> +</Form> diff --git a/UyTube_logica/src/Presentacion/frmPrincipal.java b/UyTube_logica/src/Presentacion/frmPrincipal.java new file mode 100644 index 0000000..9227c56 --- /dev/null +++ b/UyTube_logica/src/Presentacion/frmPrincipal.java @@ -0,0 +1,652 @@ +package Presentacion; + +import Presentacion.Categoria.*; +import Presentacion.ListaDeReproduccion.*; +import Presentacion.Usuario.*; +import Presentacion.Video.*; +import java.awt.Image; +import java.awt.Toolkit; +import javax.swing.ImageIcon; +import javax.swing.JOptionPane; + +public class frmPrincipal extends javax.swing.JFrame { + + private boolean sesionIniciada; + + public frmPrincipal() { + initComponents(); + // centra la ventana y se maximiza + this.setLocationRelativeTo(null); + this.setExtendedState(MAXIMIZED_BOTH); + //tienes que agregar esto nada mas + setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); + + // carga la imagen de fondo + this.lbFondo.setText(null); + Image img3 = new ImageIcon("Imagenes/des.jpeg").getImage(); + ImageIcon img4 = new ImageIcon(img3.getScaledInstance(lbFondo.getWidth(), lbFondo.getHeight(), Image.SCALE_SMOOTH)); + lbFondo.setIcon(img4); + + //####### Descomentar la siguiente linea ###### // + activarBarraDeMenu(false); // hecho... + sesionIniciada = false; + mitCerrarSesion.setEnabled(false); + } + + public Image getTconImage() { + Image retValue = Toolkit.getDefaultToolkit().getImage(ClassLoader.getSystemResource("Imagenes/icono.jpg")); + return retValue; + } + + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + jMenuItem14 = new javax.swing.JMenuItem(); + jMenuItem21 = new javax.swing.JMenuItem(); + jScrollPane36 = new javax.swing.JScrollPane(); + jList27 = new javax.swing.JList<>(); + privacidad_nuevoUsuario = new javax.swing.ButtonGroup(); + privacidad_modUsuario = new javax.swing.ButtonGroup(); + privacidad_modVideo = new javax.swing.ButtonGroup(); + valorarVideo = new javax.swing.ButtonGroup(); + privacidad_NuevaLR = new javax.swing.ButtonGroup(); + privacidad_modListaR = new javax.swing.ButtonGroup(); + tipo_nLR = new javax.swing.ButtonGroup(); + pnlFondo = new javax.swing.JDesktopPane(); + lbFondo = new javax.swing.JLabel(); + barraDeMenu = new javax.swing.JMenuBar(); + menuSesion = new javax.swing.JMenu(); + mitIniciarSesion = new javax.swing.JMenuItem(); + mitCerrarSesion = new javax.swing.JMenuItem(); + menuUsuario = new javax.swing.JMenu(); + mitNuevoUsuario = new javax.swing.JMenuItem(); + mitConsultaUsuario = new javax.swing.JMenuItem(); + mitModificarUsuario = new javax.swing.JMenuItem(); + mitListarUsuarios = new javax.swing.JMenuItem(); + mitSeguirUsuario = new javax.swing.JMenuItem(); + mitSeguirUsuario1 = new javax.swing.JMenuItem(); + mitEliminarUsuario = new javax.swing.JMenuItem(); + mitConsultaUsuarioEliminado = new javax.swing.JMenuItem(); + menuVideo = new javax.swing.JMenu(); + mitNuevoVideo = new javax.swing.JMenuItem(); + mitModificarVideo = new javax.swing.JMenuItem(); + mitConsultarVideo = new javax.swing.JMenuItem(); + mitComentarVideo = new javax.swing.JMenuItem(); + mitValorarVideo = new javax.swing.JMenuItem(); + menuListaDeReproduccion = new javax.swing.JMenu(); + mitNuevaListaDeReproduccion = new javax.swing.JMenuItem(); + mitModificarListaDeReproduccion = new javax.swing.JMenuItem(); + mitConsultarListaDeReproduccion = new javax.swing.JMenuItem(); + mitAgregarVideoAListaDeReproduccion = new javax.swing.JMenuItem(); + mitQuitarVideoDeListaDeReproduccion = new javax.swing.JMenuItem(); + menuCategoria = new javax.swing.JMenu(); + mitNuevaCategoria = new javax.swing.JMenuItem(); + mitConsultarCategoria = new javax.swing.JMenuItem(); + mitListarCategorias = new javax.swing.JMenuItem(); + menuAbout = new javax.swing.JMenu(); + mitAcercaDeNos = new javax.swing.JMenuItem(); + + jMenuItem14.setText("jMenuItem14"); + + jMenuItem21.setText("jMenuItem21"); + + jList27.setModel(new javax.swing.AbstractListModel<String>() { + String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" }; + public int getSize() { return strings.length; } + public String getElementAt(int i) { return strings[i]; } + }); + jScrollPane36.setViewportView(jList27); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + setTitle("UyTube"); + setIconImage(getTconImage()); + setLocationByPlatform(true); + setMinimumSize(new java.awt.Dimension(800, 525)); + setPreferredSize(new java.awt.Dimension(800, 525)); + addWindowListener(new java.awt.event.WindowAdapter() { + public void windowClosing(java.awt.event.WindowEvent evt) { + formWindowClosing(evt); + } + }); + + pnlFondo.setBackground(new java.awt.Color(0, 0, 26)); + pnlFondo.setLayout(new java.awt.GridLayout(1, 0)); + + lbFondo.setFont(new java.awt.Font("Dialog", 0, 48)); // NOI18N + lbFondo.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); + lbFondo.setText("( > ) UyTube"); + pnlFondo.add(lbFondo); + + getContentPane().add(pnlFondo, java.awt.BorderLayout.CENTER); + + barraDeMenu.setFont(new java.awt.Font("Dialog", 0, 18)); // NOI18N + + menuSesion.setText("Sesión"); + menuSesion.setFont(new java.awt.Font("Dialog", 0, 18)); // NOI18N + + mitIniciarSesion.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitIniciarSesion.setText("Iniciar sesión"); + mitIniciarSesion.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitIniciarSesionActionPerformed(evt); + } + }); + menuSesion.add(mitIniciarSesion); + + mitCerrarSesion.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitCerrarSesion.setText("Cerrar sesión"); + mitCerrarSesion.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitCerrarSesionActionPerformed(evt); + } + }); + menuSesion.add(mitCerrarSesion); + + barraDeMenu.add(menuSesion); + + menuUsuario.setText("Usuario"); + menuUsuario.setFont(new java.awt.Font("Dialog", 0, 18)); // NOI18N + + mitNuevoUsuario.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitNuevoUsuario.setText("Nuevo Usuario"); + mitNuevoUsuario.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitNuevoUsuarioActionPerformed(evt); + } + }); + menuUsuario.add(mitNuevoUsuario); + + mitConsultaUsuario.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitConsultaUsuario.setText("Consultar Usuario"); + mitConsultaUsuario.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitConsultaUsuarioActionPerformed(evt); + } + }); + menuUsuario.add(mitConsultaUsuario); + + mitModificarUsuario.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitModificarUsuario.setText("Modificar Usuario"); + mitModificarUsuario.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitModificarUsuarioActionPerformed(evt); + } + }); + menuUsuario.add(mitModificarUsuario); + + mitListarUsuarios.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitListarUsuarios.setText("Listar Usuarios"); + mitListarUsuarios.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitListarUsuariosActionPerformed(evt); + } + }); + menuUsuario.add(mitListarUsuarios); + + mitSeguirUsuario.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitSeguirUsuario.setText("Seguir Usuario"); + mitSeguirUsuario.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitSeguirUsuarioActionPerformed(evt); + } + }); + menuUsuario.add(mitSeguirUsuario); + + mitSeguirUsuario1.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitSeguirUsuario1.setText("Dejar de seguir usuario"); + mitSeguirUsuario1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitSeguirUsuario1ActionPerformed(evt); + } + }); + menuUsuario.add(mitSeguirUsuario1); + + mitEliminarUsuario.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitEliminarUsuario.setText("Eliminar usuario"); + mitEliminarUsuario.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitEliminarUsuarioActionPerformed(evt); + } + }); + menuUsuario.add(mitEliminarUsuario); + + mitConsultaUsuarioEliminado.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitConsultaUsuarioEliminado.setText("Consultar Usuario eliminado"); + mitConsultaUsuarioEliminado.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitConsultaUsuarioEliminadoActionPerformed(evt); + } + }); + menuUsuario.add(mitConsultaUsuarioEliminado); + + barraDeMenu.add(menuUsuario); + + menuVideo.setText("Video"); + menuVideo.setFont(new java.awt.Font("Dialog", 0, 18)); // NOI18N + + mitNuevoVideo.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitNuevoVideo.setText("Nuevo Video"); + mitNuevoVideo.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitNuevoVideoActionPerformed(evt); + } + }); + menuVideo.add(mitNuevoVideo); + + mitModificarVideo.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitModificarVideo.setText("Modificar Video"); + mitModificarVideo.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitModificarVideoActionPerformed(evt); + } + }); + menuVideo.add(mitModificarVideo); + + mitConsultarVideo.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitConsultarVideo.setText("Consultar Video"); + mitConsultarVideo.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitConsultarVideoActionPerformed(evt); + } + }); + menuVideo.add(mitConsultarVideo); + + mitComentarVideo.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitComentarVideo.setText("Comentar Video"); + mitComentarVideo.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitComentarVideoActionPerformed(evt); + } + }); + menuVideo.add(mitComentarVideo); + + mitValorarVideo.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitValorarVideo.setText("Valorar Video"); + mitValorarVideo.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitValorarVideoActionPerformed(evt); + } + }); + menuVideo.add(mitValorarVideo); + + barraDeMenu.add(menuVideo); + + menuListaDeReproduccion.setText("Lista de reproducción"); + menuListaDeReproduccion.setFont(new java.awt.Font("Dialog", 0, 18)); // NOI18N + + mitNuevaListaDeReproduccion.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitNuevaListaDeReproduccion.setText("Nueva Lista"); + mitNuevaListaDeReproduccion.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitNuevaListaDeReproduccionActionPerformed(evt); + } + }); + menuListaDeReproduccion.add(mitNuevaListaDeReproduccion); + + mitModificarListaDeReproduccion.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitModificarListaDeReproduccion.setText("Modificar Lista"); + mitModificarListaDeReproduccion.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitModificarListaDeReproduccionActionPerformed(evt); + } + }); + menuListaDeReproduccion.add(mitModificarListaDeReproduccion); + + mitConsultarListaDeReproduccion.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitConsultarListaDeReproduccion.setText("Consultar Lista"); + mitConsultarListaDeReproduccion.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitConsultarListaDeReproduccionActionPerformed(evt); + } + }); + menuListaDeReproduccion.add(mitConsultarListaDeReproduccion); + + mitAgregarVideoAListaDeReproduccion.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitAgregarVideoAListaDeReproduccion.setText("Agregar Video"); + mitAgregarVideoAListaDeReproduccion.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitAgregarVideoAListaDeReproduccionActionPerformed(evt); + } + }); + menuListaDeReproduccion.add(mitAgregarVideoAListaDeReproduccion); + + mitQuitarVideoDeListaDeReproduccion.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitQuitarVideoDeListaDeReproduccion.setText("Quitar Video"); + mitQuitarVideoDeListaDeReproduccion.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitQuitarVideoDeListaDeReproduccionActionPerformed(evt); + } + }); + menuListaDeReproduccion.add(mitQuitarVideoDeListaDeReproduccion); + + barraDeMenu.add(menuListaDeReproduccion); + + menuCategoria.setText("CategorÃa"); + menuCategoria.setFont(new java.awt.Font("Dialog", 0, 18)); // NOI18N + + mitNuevaCategoria.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitNuevaCategoria.setText("Nueva CategorÃa"); + mitNuevaCategoria.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitNuevaCategoriaActionPerformed(evt); + } + }); + menuCategoria.add(mitNuevaCategoria); + + mitConsultarCategoria.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitConsultarCategoria.setText("Consultar CategorÃa"); + mitConsultarCategoria.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitConsultarCategoriaActionPerformed(evt); + } + }); + menuCategoria.add(mitConsultarCategoria); + + mitListarCategorias.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitListarCategorias.setText("Listar CategorÃa"); + mitListarCategorias.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitListarCategoriasActionPerformed(evt); + } + }); + menuCategoria.add(mitListarCategorias); + + barraDeMenu.add(menuCategoria); + + menuAbout.setText("About"); + menuAbout.setFont(new java.awt.Font("Dialog", 0, 18)); // NOI18N + + mitAcercaDeNos.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N + mitAcercaDeNos.setText("Acerca de nos"); + mitAcercaDeNos.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + mitAcercaDeNosActionPerformed(evt); + } + }); + menuAbout.add(mitAcercaDeNos); + + barraDeMenu.add(menuAbout); + + setJMenuBar(barraDeMenu); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + private void mitIniciarSesionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitIniciarSesionActionPerformed + //Sesion->iniciarSecion + + frmInicioSesion login = new frmInicioSesion(this, true); + login.setVisible(true); + sesionIniciada = login.seInicioLaSesion(); + + if (sesionIniciada){ + activarBarraDeMenu(true); + mitCerrarSesion.setEnabled(true); + mitIniciarSesion.setEnabled(false); + }else{ + activarBarraDeMenu(false); + } + }//GEN-LAST:event_mitIniciarSesionActionPerformed + + private void mitCerrarSesionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitCerrarSesionActionPerformed + //Sesion->cerrar secion + sesionIniciada = false; + mitCerrarSesion.setEnabled(false); + mitIniciarSesion.setEnabled(true); + activarBarraDeMenu(false); + }//GEN-LAST:event_mitCerrarSesionActionPerformed + + private void mitNuevoUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitNuevoUsuarioActionPerformed + //Usiario->nuevo Usuario + new frmAltaUsuario(this, true).setVisible(true); + }//GEN-LAST:event_mitNuevoUsuarioActionPerformed + + private void mitComentarVideoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitComentarVideoActionPerformed + //Video->comentar video + new frmComentarVideo(this, true).setVisible(true); + }//GEN-LAST:event_mitComentarVideoActionPerformed + + private void mitConsultaUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitConsultaUsuarioActionPerformed + //Usuario->consultar usuario + new frmConsultaUsuario(this, true).setVisible(true); + + /* Este codigo puede reciclarse quizas... + Consultar_Usuario.setVisible(true); + //jList1.addListSelectionListener(listener); + String[] usr = new String[3]; + usr[0] = "MCBOLSO"; + usr[1] = "Juan_96"; + usr[2] = "Pepe_85"; + + jList1.setListData(usr); + //JOptionPane.showMessageDialog(null, jList1.getSele); + menuUsuario.setEnabled(false); + menuVideo.setEnabled(false); + menuListaDeReproduccion.setEnabled(false); + menuCategoria.setEnabled(false); + menuSesion.setEnabled(false); + menuAbout.setEnabled(false); + */ + }//GEN-LAST:event_mitConsultaUsuarioActionPerformed + + private void mitModificarUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitModificarUsuarioActionPerformed + //Usuario->modificar usuario + new frmModificarUsuario(this, true).setVisible(true); + }//GEN-LAST:event_mitModificarUsuarioActionPerformed + + private void mitAcercaDeNosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitAcercaDeNosActionPerformed + //About->Acerca de nos + new frmAcercaDeNos(this, true).setVisible(true); + }//GEN-LAST:event_mitAcercaDeNosActionPerformed + + private void mitListarUsuariosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitListarUsuariosActionPerformed + //Usuario->listar usuario + new frmListarUsuarios(this, true).setVisible(true); + }//GEN-LAST:event_mitListarUsuariosActionPerformed + + private void mitSeguirUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitSeguirUsuarioActionPerformed + //usuario->seruir usuario->acptar + new frmSeguirUsuario(this, true).setVisible(true); + }//GEN-LAST:event_mitSeguirUsuarioActionPerformed + + private void mitNuevoVideoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitNuevoVideoActionPerformed + // video->nuevo video + new frmAltaVideo(this, true).setVisible(true); + }//GEN-LAST:event_mitNuevoVideoActionPerformed + + private void mitModificarVideoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitModificarVideoActionPerformed + // video->modificar video + new frmModificarVideo(this, true).setVisible(true); + }//GEN-LAST:event_mitModificarVideoActionPerformed + + private void mitConsultarVideoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitConsultarVideoActionPerformed + // video->consultar video + new frmConsultaVideo(this, true).setVisible(true); + }//GEN-LAST:event_mitConsultarVideoActionPerformed + + private void mitValorarVideoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitValorarVideoActionPerformed + //vieo->calorar video->aceptar + new frmValorarVideo(this, true).setVisible(true); + }//GEN-LAST:event_mitValorarVideoActionPerformed + + private void mitNuevaListaDeReproduccionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitNuevaListaDeReproduccionActionPerformed + //lista_rep->nueva_list_rep + new frmAltaListaDeReproduccion(this, true).setVisible(true); + }//GEN-LAST:event_mitNuevaListaDeReproduccionActionPerformed + + private void mitModificarListaDeReproduccionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitModificarListaDeReproduccionActionPerformed + //lista_rep->modificar + new frmModificarListaDeReproduccion(this, true).setVisible(true); + }//GEN-LAST:event_mitModificarListaDeReproduccionActionPerformed + + private void mitConsultarListaDeReproduccionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitConsultarListaDeReproduccionActionPerformed + //listaRep->consultarlitRep + new frmConsultaListaDeReproduccion(this, true).setVisible(true); + }//GEN-LAST:event_mitConsultarListaDeReproduccionActionPerformed + + private void mitAgregarVideoAListaDeReproduccionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitAgregarVideoAListaDeReproduccionActionPerformed + //listaRep->agregarVideo + new frmAgregarVideoAListaDeReproduccion(this, true).setVisible(true); + }//GEN-LAST:event_mitAgregarVideoAListaDeReproduccionActionPerformed + + private void mitQuitarVideoDeListaDeReproduccionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitQuitarVideoDeListaDeReproduccionActionPerformed + //listaRep->quitarVideo + new frmQuitarVideoDeListaDeReproduccion(this, true).setVisible(true); + }//GEN-LAST:event_mitQuitarVideoDeListaDeReproduccionActionPerformed + + private void mitNuevaCategoriaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitNuevaCategoriaActionPerformed + //categoria->nuevaCat + new frmAltaCategoria(this, true).setVisible(true); + }//GEN-LAST:event_mitNuevaCategoriaActionPerformed + + private void mitListarCategoriasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitListarCategoriasActionPerformed + //categoria->lisatr categoria + new frmListarCategorias(this, true).setVisible(true); + }//GEN-LAST:event_mitListarCategoriasActionPerformed + + private void mitConsultarCategoriaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitConsultarCategoriaActionPerformed + //categoria->consultarCategoria + new frmConsultaCategoria(this, true).setVisible(true); + }//GEN-LAST:event_mitConsultarCategoriaActionPerformed + + private void mitSeguirUsuario1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitSeguirUsuario1ActionPerformed + // TODO add your handling code here: + new frmDejarDeSeguirUsuario(this, true).setVisible(true); + }//GEN-LAST:event_mitSeguirUsuario1ActionPerformed + + private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing + // al cerrar la ventana + int exit = JOptionPane.showConfirmDialog( + this, /* Ventana padre*/ + "¿Seguro que quieres salir?", /* mensaje */ + "¿Seguro?", /* Titulo */ + JOptionPane.YES_NO_OPTION, /* opciones en botones */ + JOptionPane.QUESTION_MESSAGE /* tipo de icono */ + ); + if (exit == JOptionPane.YES_OPTION) { + System.exit(0); + } + }//GEN-LAST:event_formWindowClosing + + private void mitEliminarUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitEliminarUsuarioActionPerformed + // usuario -> eliminar usuario + new frmBajaUsuario(this, true).setVisible(true); + }//GEN-LAST:event_mitEliminarUsuarioActionPerformed + + private void mitConsultaUsuarioEliminadoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitConsultaUsuarioEliminadoActionPerformed + // usuario -> Consultar usuario eliminado + new frmConsultaUsuarioEliminado(this, true).setVisible(true); + }//GEN-LAST:event_mitConsultaUsuarioEliminadoActionPerformed + + + private void activarBarraDeMenu(boolean b){ + menuUsuario.setEnabled(b); + menuListaDeReproduccion.setEnabled(b); + menuVideo.setEnabled(b); + menuCategoria.setEnabled(b); + } + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Metal".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(frmPrincipal.class + .getName()).log(java.util.logging.Level.SEVERE, null, ex); + + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(frmPrincipal.class + .getName()).log(java.util.logging.Level.SEVERE, null, ex); + + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(frmPrincipal.class + .getName()).log(java.util.logging.Level.SEVERE, null, ex); + + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(frmPrincipal.class + .getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + //</editor-fold> + //</editor-fold> + //</editor-fold> + //</editor-fold> + //</editor-fold> + //</editor-fold> + //</editor-fold> + //</editor-fold> + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new frmPrincipal().setVisible(true); + + } + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JMenuBar barraDeMenu; + private javax.swing.JList<String> jList27; + private javax.swing.JMenuItem jMenuItem14; + private javax.swing.JMenuItem jMenuItem21; + private javax.swing.JScrollPane jScrollPane36; + private javax.swing.JLabel lbFondo; + private javax.swing.JMenu menuAbout; + private javax.swing.JMenu menuCategoria; + private javax.swing.JMenu menuListaDeReproduccion; + private javax.swing.JMenu menuSesion; + private javax.swing.JMenu menuUsuario; + private javax.swing.JMenu menuVideo; + private javax.swing.JMenuItem mitAcercaDeNos; + private javax.swing.JMenuItem mitAgregarVideoAListaDeReproduccion; + private javax.swing.JMenuItem mitCerrarSesion; + private javax.swing.JMenuItem mitComentarVideo; + private javax.swing.JMenuItem mitConsultaUsuario; + private javax.swing.JMenuItem mitConsultaUsuarioEliminado; + private javax.swing.JMenuItem mitConsultarCategoria; + private javax.swing.JMenuItem mitConsultarListaDeReproduccion; + private javax.swing.JMenuItem mitConsultarVideo; + private javax.swing.JMenuItem mitEliminarUsuario; + private javax.swing.JMenuItem mitIniciarSesion; + private javax.swing.JMenuItem mitListarCategorias; + private javax.swing.JMenuItem mitListarUsuarios; + private javax.swing.JMenuItem mitModificarListaDeReproduccion; + private javax.swing.JMenuItem mitModificarUsuario; + private javax.swing.JMenuItem mitModificarVideo; + private javax.swing.JMenuItem mitNuevaCategoria; + private javax.swing.JMenuItem mitNuevaListaDeReproduccion; + private javax.swing.JMenuItem mitNuevoUsuario; + private javax.swing.JMenuItem mitNuevoVideo; + private javax.swing.JMenuItem mitQuitarVideoDeListaDeReproduccion; + private javax.swing.JMenuItem mitSeguirUsuario; + private javax.swing.JMenuItem mitSeguirUsuario1; + private javax.swing.JMenuItem mitValorarVideo; + private javax.swing.JDesktopPane pnlFondo; + public static javax.swing.ButtonGroup privacidad_NuevaLR; + public static javax.swing.ButtonGroup privacidad_modListaR; + public static javax.swing.ButtonGroup privacidad_modUsuario; + public static javax.swing.ButtonGroup privacidad_modVideo; + public static javax.swing.ButtonGroup privacidad_nuevoUsuario; + public static javax.swing.ButtonGroup tipo_nLR; + public static javax.swing.ButtonGroup valorarVideo; + // End of variables declaration//GEN-END:variables +} + + /* + public boolean isIntegerTF(javax.swing.JTextField TF) { + try { + Integer.parseInt(TF.getText()); + return true; + } catch (Exception e) { + return false; + } + } + */ \ No newline at end of file diff --git a/datos_de_prueba.sql b/datos_de_prueba.sql index 4e2069a..2022e88 100644 --- a/datos_de_prueba.sql +++ b/datos_de_prueba.sql @@ -31,13 +31,13 @@ INSERT INTO public.canal (descripcion,eliminado,nombre,privacidad) VALUES -- Usuarios INSERT INTO public.usuario (id,apellido,contrasenia,correo,eliminado,fecha_eliminado,fecha_nacimiento,imagen,nombre,seguidores,id_canal) VALUES -('MCBolso','Castro','12345678','mcbolso96@gmail.com',false,NULL,'1999-08-04','Imagenes\perfiles\MCBolso.jpg','Mariano',0,3) -,('JotaJota96','Alvarez','12345678','jjap96@gmail.com',false,NULL,'1996-10-09','Imagenes\perfiles\JotaJota96.jpg','Juan',3,1) +('JotaJota96','Alvarez','12345678','jjap96@gmail.com',false,NULL,'1996-10-09','Imagenes\perfiles\JotaJota96.jpg','Juan',3,1) ,('LuC31G','Garrido','12345678','LuC31@gmail.com',false,NULL,'1998-12-31','Imagenes\perfiles\LuC31G.jpg','Lucas',2,2) +,('MCBolso','Castro','12345678','mcbolso96@gmail.com',false,NULL,'1999-08-04','Imagenes\perfiles\MCBolso.jpg','Mariano',0,3) +,('camilillo15','Camilo','12345678','facu_camilo2@hotmail.com',false,NULL,'1999-07-13','Imagenes\perfiles\camilillo15.jpg','Facundo',1,4) ,('jarrieta31','Arrieta','jarrieta31','julioarrieta23@gmail.com',false,NULL,'1976-03-02','Imagenes\perfiles\jarrieta31.jpg','Julio',4,5) ,('terraplanista1','Ibañez','terraplanista1','olivertierraplana@gmail.com',false,NULL,'2019-10-03','','Oliver',0,6) ,('apmi','Pastores','apmi','apmi@hotmail.com',false,NULL,'2019-10-03','','Alerta',1,7) -,('camilillo15','Camilo','12345678','facu_camilo2@hotmail.com',false,NULL,'1999-07-13','Imagenes\perfiles\camilillo15.jpg','Facundo',1,4) ; -- Usuarios seguidores @@ -72,28 +72,29 @@ INSERT INTO public.usuarios_seguidos (nick_seguidor,nick_seguido) VALUES -- Videos INSERT INTO public.video (cant_dislikes,cant_likes,categoria,descripcion,duracion,eliminado,fecha_publicacion,nombre,privacidad,url,id_canal) VALUES -(1,0,'DEPORTE','Canta el bolso en la previa vs San Lorenzo','00:00:42',false,'2019-07-21','No se como voy, no se como vengo','PUBLICO','https://www.youtube.com/watch?v=S0_FBF8XaO0',3) +(1,1,'MUSICA','Cover de La casa de al lado Christian Cary','00:05:43',false,'2019-07-21','La casa de al lado Christian Cary (Cover en guitarra)','PUBLICO','https://www.youtube.com/watch?v=An0uvGCUB9k',1) +,(0,0,'MUSICA','Cover de Verde - La Triple Nelson','00:03:32',false,'2019-09-29','Verde - La Triple Nelson (Cover en guitarra)','PUBLICO','https://www.youtube.com/watch?v=ojYnrNRXOjk',1) +,(0,1,'MUSICA','Cover de Naufrago - 4 Pesos de Propina ','00:03:36',false,'2019-02-02','Naufrago - 4 Pesos de Propina (Cover en guitarra)','PUBLICO','https://www.youtube.com/watch?v=ksuDZQuJLSY',1) +,(0,0,'MUSICA','Cover de Como pasa el tiempo - Cuarteto de nos ','00:04:32',false,'2019-05-15','Como pasa el tiempo - Cuarteto de nos (Cover en guitarra)','PUBLICO','https://www.youtube.com/watch?v=n1AR_VSHPek',1) +,(2,1,'UNDEFINED','Hola Que hace xD xD xD','00:00:47',false,'2019-02-02','HolaQueHace','PUBLICO','https://www.youtube.com/watch?v=Nl-Sq5OXIWk',2) +,(1,0,'DEPORTE','Canta el bolso en la previa vs San Lorenzo','00:00:42',false,'2019-07-21','No se como voy, no se como vengo','PUBLICO','https://www.youtube.com/watch?v=S0_FBF8XaO0',3) ,(1,0,'DEPORTE','Por la del Bolso hay que matar o morir - La Banda Del Parque','00:02:11',false,'2019-05-15','C.N. de F. Tema Nuevo 2019','PUBLICO','https://www.youtube.com/watch?v=9L5qQ9iyhJk',3) +,(1,0,'MUSICA','de La Banda del Parque (CON LETRA) | Hinchada de Nacional 2019','00:09:26',false,'2019-09-29','Las mejores canciones de La Banda','PUBLICO','https://www.youtube.com/watch?v=ob0TPs5-Y5Y',3) ,(1,0,'UNDEFINED','Camila Guiribitey','10:10:43',false,'2019-02-02','NO CREERÃS LO QUE LLEVO EN MI BOLSO','PUBLICO','https://www.youtube.com/watch?v=7wCUuplgmQM',3) -,(0,1,'UNDEFINED','Foto del apolo 15 con la bandera. -https://www.flickr.com/photos/projectapolloarchive/21489361038/in/album-72157659044904175/','00:20:47',false,'2019-10-03','Analizando la Misteriosa Bandera ´´Flameante´´ del Apolo 15','PUBLICO','https://www.youtube.com/watch?v=I8AGvzp554c',7) +,(0,1,'MUSICA','Album Favourite Worst Nightmare','00:04:09',false,'2019-02-02','505 - Arctic Monkeys','PUBLICO','https://www.youtube.com/watch?v=iV5VKdcQOJE',4) +,(0,3,'MUSICA','Ni idea como se llama el album','00:04:37',false,'2019-05-15','Wonderwall - Oasis','PUBLICO','https://www.youtube.com/watch?v=bx1Bh8ZvH84',4) +,(0,1,'UNDEFINED','Curso de android, tarea 4','00:04:02',false,'2019-10-30','Tutorial android 1','PUBLICO','https://www.youtube.com/watch?v=xCq7YXGXaLc&list=PL-6ex1wzFuEh9RUN-5nCOU13eYknEXl09',5) +,(0,0,'UNDEFINED','Curso de android, tarea 5','00:01:17',false,'2019-10-30','Tutorial android 2','PUBLICO','https://www.youtube.com/watch?v=i4W5LFeIdNU',5) ,(1,0,'UNDEFINED','CientÃficos descubren algo extraño en la cara oculta de la Luna.','00:10:02',false,'2019-10-03','Descubren algo EXTRAÑO en la cara OCULTA de la Luna','PRIVADO','https://www.youtube.com/watch?v=ObpYRHbwT9Y',6) ,(1,0,'UNDEFINED','El Segundo Libro de Enoc revela cómo fueron creados los cielos, la Tierra, el Domo, los seres visibles e invisibles y más misterios.','00:10:20',false,'2019-10-03','Los SECRETOS de la Creación revelados a Enoc','PRIVADO','https://www.youtube.com/watch?v=WuDyGe-Ir8A',6) -,(0,1,'MUSICA','Ni idea como se llama el album','00:04:37',false,'2019-05-15','Wonderwall - Oasis','PUBLICO','https://www.youtube.com/watch?v=bx1Bh8ZvH84',4) -,(0,2,'MUSICA','Album Favourite Worst Nightmare','00:04:09',false,'2019-02-02','505 - Arctic Monkeys','PUBLICO','https://www.youtube.com/watch?v=iV5VKdcQOJE',4) -,(2,2,'UNDEFINED','Curso de android, tarea 4','00:04:02',false,'2019-10-30','Tutorial android 1','PUBLICO','https://www.youtube.com/watch?v=xCq7YXGXaLc&list=PL-6ex1wzFuEh9RUN-5nCOU13eYknEXl09',5) -,(0,1,'UNDEFINED','Curso de android, tarea 5','00:01:17',false,'2019-10-30','Tutorial android 2','PUBLICO','https://www.youtube.com/watch?v=i4W5LFeIdNU',5) -,(0,0,'MUSICA','Cover de La casa de al lado Christian Cary','00:05:43',false,'2019-07-21','La casa de al lado Christian Cary (Cover en guitarra)','PUBLICO','https://www.youtube.com/watch?v=An0uvGCUB9k',1) -,(0,1,'MUSICA','Cover de Verde - La Triple Nelson','00:03:32',false,'2019-09-29','Verde - La Triple Nelson (Cover en guitarra)','PUBLICO','https://www.youtube.com/watch?v=ojYnrNRXOjk',1) -,(2,3,'MUSICA','Cover de Naufrago - 4 Pesos de Propina ','00:03:36',false,'2019-02-02','Naufrago - 4 Pesos de Propina (Cover en guitarra)','PUBLICO','https://www.youtube.com/watch?v=ksuDZQuJLSY',1) -,(0,0,'MUSICA','Cover de Como pasa el tiempo - Cuarteto de nos ','00:04:32',false,'2019-05-15','Como pasa el tiempo - Cuarteto de nos (Cover en guitarra)','PUBLICO','https://www.youtube.com/watch?v=n1AR_VSHPek',1) -,(2,1,'UNDEFINED','Hola Que hace xD xD xD','00:00:47',false,'2019-02-02','HolaQueHace','PUBLICO','https://www.youtube.com/watch?v=Nl-Sq5OXIWk',2) -,(1,0,'MUSICA','de La Banda del Parque (CON LETRA) | Hinchada de Nacional 2019','00:09:26',false,'2019-09-29','Las mejores canciones de La Banda','PUBLICO','https://www.youtube.com/watch?v=ob0TPs5-Y5Y',3) ,(1,0,'UNDEFINED','Las antiguas civilizaciones, manuscritos antiguos y varios hechos sorprendentes apuntan a la existencia de un lÃmite en el cielo y debajo de la Tierra.','00:10:00',false,'2019-10-03','Los limites del DOMO','PRIVADO','https://www.youtube.com/watch?v=a_qHPssKjCw',6) +,(0,1,'UNDEFINED','Foto del apolo 15 con la bandera. +https://www.flickr.com/photos/projectapolloarchive/21489361038/in/album-72157659044904175/','00:20:47',false,'2019-10-03','Analizando la Misteriosa Bandera ´´Flameante´´ del Apolo 15','PUBLICO','https://www.youtube.com/watch?v=I8AGvzp554c',7) ,(0,1,'UNDEFINED','Video donde respondo al video de alarma mundial sobre la cuestión de que no haya refutado sus hipótesis.','00:56:27',false,'2019-10-03','Sobre las Hipótesis Infalsables, Falsacionismo y Efecto Lupa terraplano','PUBLICO','https://www.youtube.com/watch?v=uvEyal8j0Uo',7) ,(0,1,'UNDEFINED','Comparando Saturno este año respecto del año anterior y observando el cambio de la inclinación de sus anillos a medida que el planeta se traslada alrededor del sol.','00:04:32',false,'2019-10-03','Comparación de Saturno en 2019 vs 2018','PUBLICO','https://www.youtube.com/watch?v=xta6f4CyoMk',7) ; + -- Listas de reproduccion INSERT INTO public.lista_de_reproduccion (categoria,eliminado,nombre,privacidad,tipo,id_canal) VALUES ('UNDEFINED',false,'Ver mas tarde','PRIVADO','POR_DEFECTO',1) @@ -101,11 +102,11 @@ INSERT INTO public.lista_de_reproduccion (categoria,eliminado,nombre,privacidad, ,('UNDEFINED',false,'Ver mas tarde','PRIVADO','POR_DEFECTO',3) ,('UNDEFINED',false,'Ver mas tarde','PRIVADO','POR_DEFECTO',4) ,('UNDEFINED',false,'Ver mas tarde','PRIVADO','POR_DEFECTO',5) -,('UNDEFINED',false,'Bolso siempre bolso naa','PUBLICO','PARTICULAR',3) -,('MUSICA',false,'Oasis','PUBLICO','PARTICULAR',4) ,('MUSICA',false,'Mis covers','PUBLICO','PARTICULAR',1) ,('GAMING',false,'Minecraft','PRIVADO','PARTICULAR',1) ,('UNDEFINED',false,'Pasar el rato','PRIVADO','PARTICULAR',2) +,('UNDEFINED',false,'Bolso siempre bolso naa','PUBLICO','PARTICULAR',3) +,('MUSICA',false,'Oasis','PUBLICO','PARTICULAR',4) ,('UNDEFINED',false,'Ver mas tarde','PRIVADO','POR_DEFECTO',6) ,('UNDEFINED',false,'Ver mas tarde','PRIVADO','POR_DEFECTO',7) ,('UNDEFINED',false,'videos de terraboludos','PRIVADO','PARTICULAR',7) @@ -126,66 +127,62 @@ INSERT INTO public.comentario (fecha,nivel,texto,nick_usuario,id_com_padre,id_vi ,('2019-08-01',2,'Tipico, nadie usa Linux.','MCBolso',10,NULL) ,('2019-08-01',3,'Boo, que paso con Linux? hee??','jarrieta31',11,NULL) ,('2019-08-01',2,'Yo que vos me compro una MAC...','camilillo15',10,NULL) -,('2019-10-03',0,'Me recuerda a Bulevard of broquen drims','LuC31G',NULL,9) +,('2019-10-03',0,'Me recuerda a Bulevard of broquen drims','LuC31G',NULL,11) ,('2019-10-03',1,'Si, pa mi que green day les copio...','MCBolso',14,NULL) ,('2019-10-03',2,'O ellos a green day','LuC31G',15,NULL) ,('2019-10-03',3,'nunca lo sabremos...','jarrieta31',16,NULL) ,('2019-10-03',1,'A mi me pasa al revez, esa me recuerda a esta','JotaJota96',14,NULL) -,('2019-10-03',0,'que al pedo que estas','camilillo15',NULL,12) -,('2019-10-03',0,'lo mejor que he visto!','jarrieta31',NULL,12) -,('2019-10-03',0,'¿Como se llama esa cancion?','MCBolso',NULL,12) -,('2019-10-03',0,'Cuando subis la parte 2?','JotaJota96',NULL,13) +,('2019-10-03',0,'que al pedo que estas','camilillo15',NULL,5) +,('2019-10-03',0,'lo mejor que he visto!','jarrieta31',NULL,5) +,('2019-10-03',0,'¿Como se llama esa cancion?','MCBolso',NULL,5) +,('2019-10-03',0,'Cuando subis la parte 2?','JotaJota96',NULL,12) ,('2019-10-03',1,'Ya esta subida, buscala en mis videos','jarrieta31',22,NULL) -,('2019-10-03',0,'¿Algun tutorial de MAC que me recomiendes?','camilillo15',NULL,13) +,('2019-10-03',0,'¿Algun tutorial de MAC que me recomiendes?','camilillo15',NULL,12) ,('2019-10-03',1,'Instalale windows!','MCBolso',24,NULL) ; -- Valoraciones INSERT INTO public.valoracion (val,nick_usuario,id_video) VALUES -('LIKE','LuC31G',1) -,('LIKE','MCBolso',1) -,('DISLIKE','camilillo15',1) -,('DISLIKE','jarrieta31',1) +('LIKE','JotaJota96',19) +,('LIKE','JotaJota96',18) +,('LIKE','JotaJota96',17) ,('LIKE','JotaJota96',5) -,('DISLIKE','jarrieta31',5) -,('DISLIKE','MCBolso',12) +,('LIKE','JotaJota96',12) +,('LIKE','LuC31G',1) ,('LIKE','LuC31G',3) -,('LIKE','LuC31G',11) -,('DISLIKE','camilillo15',12) -,('DISLIKE','camilillo15',7) -,('DISLIKE','camilillo15',6) -,('DISLIKE','camilillo15',5) -,('DISLIKE','camilillo15',4) -,('LIKE','JotaJota96',8) -,('LIKE','JotaJota96',9) -,('LIKE','MCBolso',13) -,('LIKE','MCBolso',10) -,('LIKE','LuC31G',13) -,('LIKE','jarrieta31',8) +,('DISLIKE','camilillo15',1) ,('DISLIKE','apmi',16) ,('DISLIKE','apmi',15) ,('DISLIKE','apmi',14) -,('LIKE','JotaJota96',19) -,('LIKE','JotaJota96',18) -,('LIKE','JotaJota96',17) +,('DISLIKE','camilillo15',8) +,('DISLIKE','camilillo15',7) +,('DISLIKE','camilillo15',9) +,('DISLIKE','camilillo15',6) +,('DISLIKE','camilillo15',5) +,('DISLIKE','MCBolso',5) +,('LIKE','JotaJota96',11) +,('LIKE','camilillo15',11) +,('LIKE','camilillo15',10) +,('LIKE','LuC31G',11) ; -- Videos en listas INSERT INTO public.videos_en_listas (id_lista,id_video) VALUES -(13,6) -,(8,11) -,(8,12) -,(8,13) -,(8,14) -,(13,17) -,(10,15) -,(7,7) -,(7,8) -,(6,2) +(13,16) +,(13,15) +,(13,14) ,(6,1) +,(8,5) ,(1,19) -,(1,17) -,(5,6) -,(2,10) -,(12,14) -; \ No newline at end of file +,(1,16) +,(9,9) +,(9,6) +,(9,7) +,(9,8) +,(6,2) +,(6,3) +,(6,4) +,(10,10) +,(4,4) +,(3,14) +; -- GitLab