'
- })
- expect(result).toMatchObject([])
-})
diff --git a/sites/vivoplay.com.br/__data__/content.json b/sites/vivoplay.com.br/__data__/content.json
new file mode 100644
index 00000000..0af9b5da
--- /dev/null
+++ b/sites/vivoplay.com.br/__data__/content.json
@@ -0,0 +1 @@
+{"Content":[{"Pid":"LSC593436488","Title":"Reavivados para a Missão","Description":"Tudo sobre a missão com o Pastor Ted Wilson, líder mundial da Igreja Adventista do Sétimo Dia.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737244800,"End":1737246600,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280388013","EpgSerieId":5508436,"SeriesPid":"LSR168003","SeriesId":5508436,"SeasonPid":"LSE229579","SeasonNumber":25,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/21/19/21190052_46294A7A7B0DF467.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593465300","Title":"Fé em Ação","Description":"Acompanhe o ministério de Wagnér que desde a roça a ser jogador de basquete vem trazendo Jesus para adolescentes e atletas.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737246600,"End":1737248400,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280396523","EpgSerieId":4807485,"SeriesPid":"LSR18638","SeriesId":4807485,"SeasonPid":"LSE229569","SeasonNumber":25,"EpisodeNumber":2,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/16/46/16462958_F01B8B1E0F5E5CAA.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436441","Title":"NT Filmes","Description":"Faixa de exibição de filmes da TV Novo Tempo.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737248400,"End":1737250200,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280260192","EpgSerieId":5512188,"SeriesPid":"LSR168831","SeriesId":5512188,"SeasonPid":"LSE227704","SeasonNumber":0,"EpisodeNumber":0,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN286"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/21/19/21190044_14C76FC3A00E5A89.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436426","Title":"Retratos","Description":"Em Salvador, na Bahia, o projeto Mini Chef capacita crianças e adolescentes ensinando culinária e educação nutricional. Elas aprendem a estabelecer uma relação saudável com a comida, enquanto desenvolvem habilidades que contribuem para o seu futuro.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737250200,"End":1737252000,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280290913","EpgSerieId":4879745,"SeriesPid":"LSR18615","SeriesId":4879745,"SeasonPid":"LSE67959","SeasonNumber":24,"EpisodeNumber":9,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/17/12/17128460_4B97D07EA89B234D.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436414","Title":"Semana Mente Feliz","Description":"A Bíblia pode ajudar a lidar com a ansiedade, depressão e traumas emocionais, ensinando o poder do perdão para seguir em frente, como gerir suas emoções e alcançar uma saúde emocional completa.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737252000,"End":1737255600,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280387529","EpgSerieId":5182394,"SeriesPid":"LSR47766","SeriesId":5182394,"SeasonPid":"LSE65337","SeasonNumber":24,"EpisodeNumber":5,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/20/13/20132695_397AADDED9CDE893.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593465292","Title":"Adoração : T25 EP8 - Especial","Description":"Acompanhe mensagens inspiradoras de apresentadores que farão seu dia melhorar.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737255600,"End":1737257400,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280396456","EpgSerieId":4807442,"SeriesPid":"LSR18628","SeriesId":4807442,"SeasonPid":"LSE223175","SeasonNumber":25,"EpisodeNumber":8,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/16/46/16462911_69739DEB35F80B7A.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593465284","Title":"Arena do Futuro","Description":"No episódio de hoje, vamos estudar sobre o povo de Deus no tempo do fim.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737257400,"End":1737259200,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280396453","EpgSerieId":1578827,"SeriesPid":"LSR18609","SeriesId":1578827,"SeasonPid":"LSE229596","SeasonNumber":25,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/16/39/16399668_6635931861F971EA.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593465293","Title":"Adoração : T25 EP8 - Especial","Description":"Acompanhe mensagens inspiradoras de apresentadores que farão seu dia melhorar.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737259200,"End":1737261000,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280396456","EpgSerieId":4807442,"SeriesPid":"LSR18628","SeriesId":4807442,"SeasonPid":"LSE223175","SeasonNumber":25,"EpisodeNumber":8,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/16/46/16462911_69739DEB35F80B7A.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436453","Title":"Fé para Hoje","Description":"Em momentos difíceis, ouve-se: \"Vai tudo ficar bem\". O padre Robson Aleixo explica sobre o tema.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737261000,"End":1737262800,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280305659","EpgSerieId":4807491,"SeriesPid":"LSR18614","SeriesId":4807491,"SeasonPid":"LSE227703","SeasonNumber":25,"EpisodeNumber":2,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/16/48/16484862_5EB53BE90AFDABEC.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436501","Title":"Bíblia Fácil","Description":"O programa tem o objetivo de ensinar temas bíblicos da forma mais simples possível.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737262800,"End":1737266400,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280354121","EpgSerieId":1578818,"SeriesPid":"LSR18625","SeriesId":1578818,"SeasonPid":"LSE223902","SeasonNumber":25,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/20/96/20967361_BC5FC1AFB070E2A8.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436475","Title":"Reavivados por Sua Palavra","Description":"O pastor Ronaldo de Oliveira explica um capítulo do livro sagrado e faz aplicações práticas para o dia a dia. O cronograma de estudos segue a mesma ordem dos livros e capítulos da Bíblia.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737266400,"End":1737268200,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280388007","EpgSerieId":2594093,"SeriesPid":"LSR18641","SeriesId":2594093,"SeasonPid":"LSE226906","SeasonNumber":25,"EpisodeNumber":16,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/20/94/20944583_F3C305AEDD622F38.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593465273","Title":"Evidências","Description":"O programa apresenta fatos que comprovam a historicidade da Bíblia Sagrada. Escavações, visita a lugares bíblicos, curiosidades e informação confiável.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737268200,"End":1737270000,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280396469","EpgSerieId":1043841,"SeriesPid":"LSR18636","SeriesId":1043841,"SeasonPid":"LSE17583","SeasonNumber":0,"EpisodeNumber":0,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/20/95/20951653_0D58B494C09E6DAD.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593465299","Title":"Viva uma Experiência Real","Description":"Mas afinal, diante do impossível, como podemos avançar com fé ao invés de recuar com medo.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737270000,"End":1737271800,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280396522","EpgSerieId":1578816,"SeriesPid":"LSR18624","SeriesId":1578816,"SeasonPid":"LSE224986","SeasonNumber":25,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/17/79/17794300_1EACD8BCFDB233F9.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436428","Title":"Retratos","Description":"Há 40 anos, a organização assistencial ADRA trabalha para melhorar a vida dos brasileiros. Entre os primeiros projetos, o Centro de Desenvolvimento na Aldeia Santa Isabel, no Tocantins, e a Clínica Móvel Odontológica, no Espírito Santo.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737271800,"End":1737273600,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280387592","EpgSerieId":4879745,"SeriesPid":"LSR18615","SeriesId":4879745,"SeasonPid":"LSE67959","SeasonNumber":24,"EpisodeNumber":10,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/17/12/17128460_4B97D07EA89B234D.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436415","Title":"Adoração : T24 EP20 - Especial","Description":"Acompanhe mensagens inspiradoras de apresentadores que farão seu dia melhorar.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737273600,"End":1737277200,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280387455","EpgSerieId":4807442,"SeriesPid":"LSR18628","SeriesId":4807442,"SeasonPid":"LSE17601","SeasonNumber":24,"EpisodeNumber":20,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/16/46/16462911_69739DEB35F80B7A.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436490","Title":"Reavivados por Sua Palavra","Description":"O pastor Ronaldo de Oliveira explica um capítulo do livro sagrado e faz aplicações práticas para o dia a dia. O cronograma de estudos segue a mesma ordem dos livros e capítulos da Bíblia.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737277200,"End":1737279000,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280388014","EpgSerieId":2594093,"SeriesPid":"LSR18641","SeriesId":2594093,"SeasonPid":"LSE226906","SeasonNumber":25,"EpisodeNumber":17,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/20/94/20944583_F3C305AEDD622F38.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593465294","Title":"Adoração : T25 EP8 - Especial","Description":"Acompanhe mensagens inspiradoras de apresentadores que farão seu dia melhorar.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737279000,"End":1737280800,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280396456","EpgSerieId":4807442,"SeriesPid":"LSR18628","SeriesId":4807442,"SeasonPid":"LSE223175","SeasonNumber":25,"EpisodeNumber":8,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/16/46/16462911_69739DEB35F80B7A.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436481","Title":"ANN - Adventist News Network","Description":"Descubra as últimas notícias e eventos da Igreja Adventista do Sétimo Dia, em todo o mundo, com o Adventist News Network. Veja uma análise aprofundada das iniciativas humanitárias e histórias inspiradoras que impulsionam a missão adventista.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737280800,"End":1737282600,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280388011","EpgSerieId":4807454,"SeriesPid":"LSR18608","SeriesId":4807454,"SeasonPid":"LSE35409","SeasonNumber":0,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660","GEN1130"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/16/83/16839365_ED0BF9B14B162B69.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593465296","Title":"Viaje Comigo : T25 EP3 - Peru","Description":"O Peru é um dos destinos mais incríveis da América do Sul. Nesse programa vamos começar conhecendo a capital Lima e os arredores da cidade. A capital peruana é berço e lar de uma cultura e gastronomia única.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737282600,"End":1737284400,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280396457","EpgSerieId":2001871,"SeriesPid":"LSR18626","SeriesId":2001871,"SeasonPid":"LSE229607","SeasonNumber":25,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN730"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/18/98/18989971_6207CA5D7ADECD00.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593465290","Title":"A Mensagem por Elas","Description":"Seja bem-vinda ao programa A mensagem por elas. Hoje vamos aprender mais sobre a palavra de Deus com a apresentadora Wélida Dancini. Você é nossa convidada.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737284400,"End":1737286200,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280396455","EpgSerieId":4807446,"SeriesPid":"LSR18612","SeriesId":4807446,"SeasonPid":"LSE224990","SeasonNumber":25,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/16/80/16804317_E9724EF8683D798C.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593465274","Title":"Evidências","Description":"O programa apresenta fatos que comprovam a historicidade da Bíblia Sagrada. Escavações, visita a lugares bíblicos, curiosidades e informação confiável.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737286200,"End":1737288000,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280396469","EpgSerieId":1043841,"SeriesPid":"LSR18636","SeriesId":1043841,"SeasonPid":"LSE17583","SeasonNumber":0,"EpisodeNumber":0,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/20/95/20951653_0D58B494C09E6DAD.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436509","Title":"Está Escrito","Description":"O programa analisa o impacto da ciência e tecnologia na vida moderna. Questiona se essas ferramentas só trazem benefícios, apesar de melhorarem diversos aspectos do cotidiano. Explora os potenciais ganhos de se desconectar periodicamente.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737288000,"End":1737289800,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280354292","EpgSerieId":1578801,"SeriesPid":"LSR18640","SeriesId":1578801,"SeasonPid":"LSE223900","SeasonNumber":25,"EpisodeNumber":5,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/16/83/16836299_5CD8582BB984EFB6.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593465285","Title":"Arena do Futuro","Description":"No episódio de hoje, vamos estudar sobre o povo de Deus no tempo do fim.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737289800,"End":1737291600,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280396453","EpgSerieId":1578827,"SeriesPid":"LSR18609","SeriesId":1578827,"SeasonPid":"LSE229596","SeasonNumber":25,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/16/39/16399668_6635931861F971EA.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436461","Title":"A Voz da Profecia","Description":"Gilson Brito, acompanhado do quarteto Arautos do Rei, apresenta o tradicional programa adventista.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737291600,"End":1737293400,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280338922","EpgSerieId":3266239,"SeriesPid":"LSR18634","SeriesId":3266239,"SeasonPid":"LSE223170","SeasonNumber":25,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/11/85/11858853_70B3C5DE212B0049.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436446","Title":"Fé em Ação","Description":"Projetos sociais realizados com o apoio da Federação dos Empreendedores Adventistas do Brasil.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737293400,"End":1737295200,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280305531","EpgSerieId":4807485,"SeriesPid":"LSR18638","SeriesId":4807485,"SeasonPid":"LSE229569","SeasonNumber":25,"EpisodeNumber":1,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/16/46/16462958_F01B8B1E0F5E5CAA.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436411","Title":"Origens","Description":"Busca de respostas para a origem das línguas por meio de seu principal registro: a escrita.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737295200,"End":1737297000,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280387520","EpgSerieId":2309602,"SeriesPid":"LSR18616","SeriesId":2309602,"SeasonPid":"LSE24539","SeasonNumber":24,"EpisodeNumber":25,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/20/92/20927174_0379CF0F16F39163.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436492","Title":"NT Kids","Description":"Desenhos, youtubers, histórias e muita aventura transformam o dia das crianças.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737297000,"End":1737298800,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280388015","EpgSerieId":3266245,"SeriesPid":"LSR18631","SeriesId":3266245,"SeasonPid":"LSE220473","SeasonNumber":21,"EpisodeNumber":4,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN641","GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/21/08/21083141_6A24D41AFEA2945F.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436421","Title":"Histórias da Tia Cecéu","Description":"Um programa divertido, com muitas atrações diferentes em um mesmo programa. Divirta-se com artesanato, charadinhas, desenhos, clips, Cecéu News e Laboratório Maluco.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737298800,"End":1737300600,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280387562","EpgSerieId":1578812,"SeriesPid":"LSR18620","SeriesId":1578812,"SeasonPid":"LSE65242","SeasonNumber":24,"EpisodeNumber":8,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN645"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/16/83/16835073_63E6D64BF3799526.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436485","Title":"Quem Sabe Prova","Description":"O programa apresenta provas que misturam habilidades físicas, mentais e espirituais.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737300600,"End":1737302400,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280388012","EpgSerieId":5508434,"SeriesPid":"LSR168002","SeriesId":5508434,"SeasonPid":"LSE229578","SeasonNumber":25,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660","GEN983"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/21/19/21190050_D39E543D47CFCA05.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436462","Title":"A Voz da Profecia","Description":"Gilson Brito, acompanhado do quarteto Arautos do Rei, apresenta o tradicional programa adventista.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737302400,"End":1737304200,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280338922","EpgSerieId":3266239,"SeriesPid":"LSR18634","SeriesId":3266239,"SeasonPid":"LSE223170","SeasonNumber":25,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/11/85/11858853_70B3C5DE212B0049.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436449","Title":"Bom de Bíblia","Description":"O game show mostra quem é bom de Bíblia, reunindo competidores de todo o Brasil.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737304200,"End":1737306000,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280305657","EpgSerieId":3266259,"SeriesPid":"LSR18611","SeriesId":3266259,"SeasonPid":"LSE223172","SeasonNumber":25,"EpisodeNumber":7,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660","GEN983"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/11/83/11831692_98BE6024FD7D10F6.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436455","Title":"Bom de Bíblia","Description":"O game show mostra quem é bom de Bíblia, reunindo competidores de todo o Brasil.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737306000,"End":1737307800,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280325359","EpgSerieId":3266259,"SeriesPid":"LSR18611","SeriesId":3266259,"SeasonPid":"LSE223172","SeasonNumber":25,"EpisodeNumber":8,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660","GEN983"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/11/83/11831692_98BE6024FD7D10F6.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436464","Title":"Bom de Bíblia","Description":"O game show mostra quem é bom de Bíblia, reunindo competidores de todo o Brasil.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737307800,"End":1737309600,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280338923","EpgSerieId":3266259,"SeriesPid":"LSR18611","SeriesId":3266259,"SeasonPid":"LSE223172","SeasonNumber":25,"EpisodeNumber":9,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660","GEN983"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/11/83/11831692_98BE6024FD7D10F6.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436507","Title":"Bom de Bíblia","Description":"Competição entre os programas da TV Novo Tempo: \"Caixa de Música\" e \"Evidências\".","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737309600,"End":1737311400,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280354291","EpgSerieId":3266259,"SeriesPid":"LSR18611","SeriesId":3266259,"SeasonPid":"LSE223172","SeasonNumber":25,"EpisodeNumber":10,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660","GEN983"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/11/83/11831692_98BE6024FD7D10F6.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436442","Title":"NT Filmes","Description":"Faixa de exibição de filmes da TV Novo Tempo.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737311400,"End":1737315000,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280260192","EpgSerieId":5512188,"SeriesPid":"LSR168831","SeriesId":5512188,"SeasonPid":"LSE227704","SeasonNumber":0,"EpisodeNumber":0,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN286"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/21/19/21190044_14C76FC3A00E5A89.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436391","Title":"Fora de Série","Description":"Acompanhe a vida de quatro adolescentes que vivem, cada um do seu jeito, os seus dilemas pessoais.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737315000,"End":1737316800,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280352118","EpgSerieId":3266251,"SeriesPid":"LSR166889","SeriesId":3266251,"SeasonPid":"LSE224989","SeasonNumber":0,"EpisodeNumber":0,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660","GEN2","GEN6"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/21/15/21157871_F1F1E7ED451F2AA9.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436494","Title":"O Segredo","Description":"","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737316800,"End":1737318600,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280388016","EpgSerieId":5508437,"SeriesPid":"LSR168029","SeriesId":5508437,"SeasonPid":"LSE229580","SeasonNumber":25,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/21/16/21166584_0195A0D5CFA01808.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593465275","Title":"Anjos da Esperança : T24 - Maratona de Domingo","Description":"O programa apresenta reportagens, histórias e participação de convidados que revelam resultados e novidades da Novo Tempo para os milhares de Anjos que ajudam a levar adiante uma mensagem de esperança.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737318600,"End":1737320400,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280396506","EpgSerieId":1157898,"SeriesPid":"LSR18618","SeriesId":1157898,"SeasonPid":"LSE17585","SeasonNumber":24,"EpisodeNumber":0,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/21/08/21084874_B3A8EC773CB57FD1.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436467","Title":"Docs NT","Description":"Faixa de exibição de documentários da TV Novo Tempo.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737320400,"End":1737322200,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280354115","EpgSerieId":5524693,"SeriesPid":"LSR171650","SeriesId":5524693,"SeasonPid":"LSE231662","SeasonNumber":0,"EpisodeNumber":0,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/21/20/21201736_29D013CBEF4104C9.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436482","Title":"ANN - Adventist News Network","Description":"Descubra as últimas notícias e eventos da Igreja Adventista do Sétimo Dia, em todo o mundo, com o Adventist News Network. Veja uma análise aprofundada das iniciativas humanitárias e histórias inspiradoras que impulsionam a missão adventista.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737322200,"End":1737324000,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280388011","EpgSerieId":4807454,"SeriesPid":"LSR18608","SeriesId":4807454,"SeasonPid":"LSE35409","SeasonNumber":0,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660","GEN1130"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/16/83/16839365_ED0BF9B14B162B69.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436486","Title":"Quem Sabe Prova","Description":"O programa apresenta provas que misturam habilidades físicas, mentais e espirituais.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737324000,"End":1737325800,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280388012","EpgSerieId":5508434,"SeriesPid":"LSR168002","SeriesId":5508434,"SeasonPid":"LSE229578","SeasonNumber":25,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660","GEN983"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/21/19/21190050_D39E543D47CFCA05.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436496","Title":"Animal Encounters","Description":"Explora a criação e narra histórias de pessoas que ajudam, resgatam, cuidam e preservam animais.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737325800,"End":1737327600,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280388017","EpgSerieId":5524701,"SeriesPid":"LSR171651","SeriesId":5524701,"SeasonPid":"LSE231663","SeasonNumber":25,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN660","GEN1125"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/21/19/21192375_0A7ADA09312B17B4.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593465297","Title":"Viaje Comigo : T25 EP3 - Peru","Description":"O Peru é um dos destinos mais incríveis da América do Sul. Nesse programa vamos começar conhecendo a capital Lima e os arredores da cidade. A capital peruana é berço e lar de uma cultura e gastronomia única.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737327600,"End":1737329400,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280396457","EpgSerieId":2001871,"SeriesPid":"LSR18626","SeriesId":2001871,"SeasonPid":"LSE229607","SeasonNumber":25,"EpisodeNumber":3,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN730"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/18/98/18989971_6207CA5D7ADECD00.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}},{"Pid":"LSC593436430","Title":"A Máquina Humana","Description":"O documentário explora a complexidade e a perfeição do corpo humano por meio de uma série de analogias com máquinas, olhando para a questão da saúde através das perspectivas da ciência, tecnologia e espiritualidade.","ChannelName":"TV Novo Tempo","ChannelNumber":401,"CallLetter":"HDTVN","Start":1737329400,"End":1737331200,"LiveChannelPid":"LCH5554","LiveProgramPid":"LPR280205035","EpgSerieId":5336922,"SeriesPid":"LSR115343","SeriesId":5336922,"SeasonPid":"LSE160204","SeasonNumber":0,"EpisodeNumber":0,"LiveToVod":"","AgeRatingPid":"AGE84","Attributes":{"ca_cpvrDisable":["True"],"ca_descriptors":[],"ca_blackout_target":[],"ca_blackout_areas":[]},"Relations":{"GenrePids":["GEN271"]},"Images":{"VideoFrame":[{"Url":"http://media.gvp.telefonica.com/storageArea0/IMAGES/00/20/86/20864769_7DD013A4CCCF7899.jpg","SourceImageWidth":1920,"SourceImageHeight":1080,"SourceImageFormat":"Jpeg","ImageClass":"0"}]}}],"HttpStatusCode":200,"Severity":1,"StatusCode":0,"StatusMessage":"OK"}
\ No newline at end of file
diff --git a/sites/vivoplay.com.br/__data__/no_content.json b/sites/vivoplay.com.br/__data__/no_content.json
new file mode 100644
index 00000000..dd757719
--- /dev/null
+++ b/sites/vivoplay.com.br/__data__/no_content.json
@@ -0,0 +1 @@
+{"StatusMessage":"An unexpected error has ocurred, please contact the administrator."}
\ No newline at end of file
diff --git a/sites/vivoplay.com.br/readme.md b/sites/vivoplay.com.br/readme.md
new file mode 100644
index 00000000..a967d9df
--- /dev/null
+++ b/sites/vivoplay.com.br/readme.md
@@ -0,0 +1,21 @@
+# vivoplay.com.br
+
+https://www.vivoplay.com.br/tv-guide/epg
+
+### Download the guide
+
+```sh
+npm run grab --- --site=vivoplay.com.br
+```
+
+### Update channel list
+
+```sh
+npm run channels:parse --- --config=./sites/vivoplay.com.br/vivoplay.com.br.config.js --output=./sites/vivoplay.com.br/vivoplay.com.br.channels.xml
+```
+
+### Test
+
+```sh
+npm test --- vivoplay.com.br
+```
diff --git a/sites/vivoplay.com.br/vivoplay.com.br.channels.xml b/sites/vivoplay.com.br/vivoplay.com.br.channels.xml
new file mode 100644
index 00000000..9660993e
--- /dev/null
+++ b/sites/vivoplay.com.br/vivoplay.com.br.channels.xml
@@ -0,0 +1,392 @@
+
+
+ REDE 21
+ TV CÂMARA
+ TV Aberta
+ Canal Universitário
+ Discovery Theater
+ Disney HD
+ Canal Educação
+ ESPN 3
+ Eurochannel
+ STAR Channel
+ Modo Viagem
+ Globo SP HD
+ Gospel
+ GLOBO
+ TV JUSTIÇA
+ CBI
+ HBO Pop HD
+ Megapix HD
+ BIS HD
+ Canal Gov
+ Record HD
+ RedeTV! HD
+ TV SENADO
+ SBT HD
+ Space HD
+ Telecine Action HD
+ Telecine Pipoca HD
+ Telecine HD
+ TCM
+ Premiere
+ TNT
+ Adult Swim
+ Guia Vivo
+ Woohoo
+ Premiere 2
+ Band HD
+ ESPN 4
+ Gloob HD
+ History HD
+ A&E HD
+ OFF HD
+ Sony HD
+ Telecine Touch HD
+ Telecine Fun HD
+ Warner HD
+ AXN HD
+ HBO HD
+ Curta!
+ CNT
+ RIT
+ Tooncast
+ ESPN
+ Globo News HD
+ GNT HD
+ Multishow
+ Sportv
+ Sportv 2
+ Telecine Cult HD
+ HBO2
+ HBO Family HD
+ HBO Signature HD
+ HBO Plus HD
+ ESPN 2
+ Canal Teste 2
+ MTV HD
+ Comedy Central HD
+ TNT Novelas
+ Viva HD
+ Discovery HD
+ Discovery Kids HD
+ Discovery Home&Health HD
+ ID
+ Cartoon HD
+ FX
+ ESPN 5
+ Nat Geo HD
+ Band Campinas HD
+ EPTV Campinas HD
+ VTV SBT HD
+ Gazeta HD
+ TV Clube HD
+ Band Vale HD
+ EPTV Ribeirão HD
+ TV Vanguarda HD
+ Record Litoral HD
+ SBT Ribeirão HD
+ TVB Band HD
+ TV Câmara de Ribeirão
+ Boa Vontade SJC
+ TVB Campinas HD
+ TV Tribuna Santos HD
+ Rede Século 22
+ VTV SBT HD
+ Bandsports HD
+ Canal Brasil HD
+ Cultura HD
+ HBO Xtreme HD
+ Cinemax HD
+ HBO Mundi HD
+ Nickelodeon HD
+ Universal TV HD
+ Premiere 3
+ Paramount Network HD
+ SporTV 3
+ Combate
+ TVT SD
+ Discovery World
+ TLC HD
+ Discovery Turbo HD
+ Comutação
+ Record Interior HD
+ TV Thathi
+ Santa Cecília TV
+ Premiere 4
+ Premiere 5
+ Canal de Testes
+ SIC Internacional
+ Travel Box Brasil
+ Fox News
+ Lifetime HD
+ Chef TV
+ C3 TV
+ CNNi
+ DW
+ E! HD
+ Studio Universal
+ RAI
+ Record News
+ USA
+ TCM
+ Tooncast
+ TV5Monde
+ TVE
+ Woohoo
+ SIC Internacional
+ Animal Planet
+ Cinecanal
+ TV Osasco
+ Record Paulista HD
+ TV Sorocaba HD
+ TV TEM Sorocaba HD
+ TV Câmara Sorocaba
+ Canal Comunitário de Santos
+ TV Câmara Campinas
+ TV Camara de SJC
+ TV Câmara Piracicaba
+ TV Ativa
+ TV Câmara de Valinhos
+ TVR Regional
+ TV Câmara de Americana
+ Premiere 8
+ Premiere 6
+ Premiere 7
+ Bloomberg HD
+ TV RÁ Tim Bum
+ Prime Box Brazil HD
+ History 2
+ Polishop
+ Nick Jr. HD
+ Arte 1 HD
+ TNT Séries
+ Cartoonito
+ Bandnews
+ TV Univap SJC
+ HDCM2
+ Futura HD
+ Globo RPC HD
+ Rede Massa HD
+ SBT Rio HD
+ Globo Rio
+ Record Rio HD
+ Band Rio HD
+ RIC TV HD
+ Band Curitiba HD
+ CNT Americana
+ NGT
+ Rede Família
+ SBT Nova Friburgo
+ TV Rede Mais Varginha
+ TV Rio Sul HD
+ EPTV Sul de Minas
+ TV Diário Mogi das Cruzes HD
+ Band Minas BH HD
+ TV Alterosa
+ TV Tribuna HD
+ Band Brasília HD
+ Band Rio Interior HD
+ Band Paulista HD
+ TV TEM Bauru HD
+ Record Brasília HD
+ TV Clube
+ SBT Brasília HD
+ SBT Central HD
+ TV Jornal
+ TV TEM Itapetininga HD
+ TV TEM SJRP HD
+ Record TV Rio Preto HD
+ Record RS HD
+ Record TV Cabralia HD
+ Ulbra TV HD
+ Band RS HD
+ SBT Interior HD
+ RBS TV
+ SBT RS HD
+ TV Pampa HD
+ Band Bahia HD
+ SCC SBT HD
+ TV Cidade Verde HD
+ NSC TV HD
+ Band Teresina HD
+ TV Catarina HD
+ NDTV HD
+ TV Antena 10 HD
+ TV Capixaba HD
+ TV Gazeta HD
+ Rede TV! ES HD
+ TV Vitória HD
+ TV Tribuna HD
+ EPTV Central São Carlos HD
+ Discovery Science HD
+ RIC TV HD
+ TV Globo Belo Horizonte HD
+ Nordes TV HD
+ RPC HD
+ Record TV Minas BH
+ Fish TV
+ TV Alterosa HD
+ TV Goiás HD
+ TV Goiânia HD
+ Record TV Itapoan HD
+ TV Tambaú HD
+ TV Jornal HD
+ TV Cidade HD
+ TV Serra Dourada HD
+ TV Correio HD
+ TV Tarobá HD
+ TV Jangadeiro HD
+ TV Manaíra HD
+ TV Cidade HD
+ TV Alterosa HD
+ TV Aratu HD
+ Rede Século 21
+ TV Alterosa Leste HD
+ Inter TV dos Vales HD
+ TV Leste
+ TV Tibagi HD
+ RPC Maringá HD
+ RIC TV Maringá
+ TV Maringá HD
+ TV Campo Grande HD
+ Rede MS
+ TV Interativa
+ TV Gazeta Sul HD
+ RBS TV
+ FashionTV HD
+ ESPN 6
+ Rede Vida HD
+ NSC TV HD
+ NDTV HD
+ TV Integração
+ TV Aparecida HD
+ TV Brasil HD
+ NHK HD
+ Travel Box Brazil HD
+ Canção Nova
+ Curta! HD
+ Ideal
+ Chef TV
+ RBS TV
+ TV Alterosa HD
+ TV Integração HD
+ TV Sucesso HD
+ Band Cuiabá HD
+ TV Vila Real
+ Dog TV
+ SBT Cuiabá HD
+ TV Em Tempo
+ Record Manaus
+ Band Manaus
+ Globo - TV Fronteira President
+ SBT Tocantins HD
+ Record TV Tocantins HD
+ NSC TV HD
+ TV Pampa HD
+ NDTV HD
+ NSC TV HD
+ RBS TV HD
+ NDTV HD
+ RBS TV
+ TV Atalaia HD
+ NDTV HD
+ RBS TV Pelotas - TV Globo
+ TV Pampa Sul HD - Rede TV
+ SBT Belém HD
+ Record TV Belém HD
+ TV Difusora HD - SBT
+ TV Metropolitana HD - Band
+ TV Vitoriosa HD - SBT
+ TV Integração HD - TV Globo
+ TV Paranaíba HD - Record TV
+ Band Triângulo HD
+ SBT Vale
+ Record Tocantins
+ Gloobinho HD
+ Food Network
+ Food Network HD
+ Band Maceió HD
+ TV Ponta Verde HD
+ TV Pajuçara HD - Record
+ TV Tarobá Cascavel HD
+ TV Integração HD - TV Globo
+ Record - RIC TV OESTE
+ SBT - Rede Massa TV Naipi
+ TV Alterosa HD - SBT
+ RPC Paranavaí HD
+ TV Globo - RPC Cascavel
+ HGTV HD
+ TV Gazeta Noroeste
+ TV Gazeta Norte
+ Rede Massa HD - SBT
+ RPC HD - TV Globo
+ SBT Rondonópolis HD
+ TV Cidade Rondonópolis HD
+ Rede Brasil HD
+ CNN Brasil HD
+ REDETV HD
+ RPC Foz do Iguaçu HD - TV Globo
+ Inter TV Planicíe - TV Globo
+ RBS TV Santa Rosa - TV Globo
+ Globo - NSC TV Criciúma
+ TV Capital HD
+ TV Cidade de SINOP
+ Inter TV Alto Litoral - Globo HD
+ Trace Brasil
+ Agro+
+ MTV LIVE
+ TV Borborema HD
+ TV Gazeta HD
+ Inter TV Grande Minas
+ NSC TV Centro-Oeste - TV Globo
+ TV Ponta Negra HD - SBT
+ TV Tropical HD - Record
+ Band Natal HD
+ Music Box Brazil
+ TESTE 7
+ TESTE 8
+ TESTE 9
+ TESTE 10
+ Cultura HD
+ Sabor & Arte
+ Terra Viva
+ TV Novo Tempo
+ RPC Guarapuava HD - TV Globo
+ TV Integração HD - TV Globo
+ Jovem Pan News
+ Golf Channel
+ COM Brasil
+ BBC World
+ Eurochannel
+ AMC
+ Film & Arts
+ RBS TV Erechim- TV Globo
+ Dreamworks
+ Zoomoo
+ Box Kids
+ Premiere 9
+ RBS TV Bagé - Globo
+ Band
+ SBT
+ Rede TV
+ Record
+ Markket
+ Sportv 4K
+ Canal Rural
+ Canal do Criador
+ SONY Movies
+ BM&C
+ RBI
+ LMC+
+ CNN
+ Canal de Eventos
+ NSports
+ LIVE TV
+ TV Cultura Paulista
+ Universal Premiere
+ Universal Reality
+ CNN Money
+ TIMES EXCLUSIVO CNBC
+ UOL
+
diff --git a/sites/vivoplay.com.br/vivoplay.com.br.config.js b/sites/vivoplay.com.br/vivoplay.com.br.config.js
new file mode 100644
index 00000000..97ee36db
--- /dev/null
+++ b/sites/vivoplay.com.br/vivoplay.com.br.config.js
@@ -0,0 +1,68 @@
+const axios = require('axios')
+const dayjs = require('dayjs')
+const utc = require('dayjs/plugin/utc')
+const timezone = require('dayjs/plugin/timezone')
+const customParseFormat = require('dayjs/plugin/customParseFormat')
+
+dayjs.extend(utc)
+dayjs.extend(timezone)
+dayjs.extend(customParseFormat)
+
+module.exports = {
+ site: 'vivoplay.com.br',
+ days: 2,
+ url({ channel, date }) {
+ const starttime = date.unix()
+ const endtime = date.add(1, 'd').unix()
+
+ return `https://contentapi-br.cdn.telefonica.com/25/default/pt-BR/schedules?ca_deviceTypes=null%7C401&ca_channelmaps=779%7Cnull&fields=Pid,Title,Description,ChannelName,ChannelNumber,CallLetter,Start,End,LiveChannelPid,LiveProgramPid,EpgSerieId,SeriesPid,SeriesId,SeasonPid,SeasonNumber,EpisodeNumber,images.videoFrame,images.banner,LiveToVod,AgeRatingPid,forbiddenTechnology,IsSoDisabled&includeRelations=Genre&orderBy=START_TIME%3Aa&filteravailability=false&includeAttributes=ca_cpvrDisable,ca_descriptors,ca_blackout_target,ca_blackout_areas&starttime=${starttime}&endtime=${endtime}&livechannelpids=${channel.site_id}&offset=0&limit=1000`
+ },
+ parser: function ({ content }) {
+ let programs = []
+ const items = parseItems(content)
+ items.forEach(item => {
+ programs.push({
+ title: item['Title'],
+ description: item['Description'],
+ season: item['SeasonNumber'] > 0 ? item['SeasonNumber'] : null,
+ episode: item['EpisodeNumber'] > 0 ? item['EpisodeNumber'] : null,
+ images: parseImages(item),
+ start: dayjs.unix(item['Start']),
+ stop: dayjs.unix(item['End'])
+ })
+ })
+
+ return programs
+ },
+ async channels() {
+ const data = await axios
+ .get(
+ 'https://contentapi-br.cdn.telefonica.com/25/default/pt-BR/contents/all?ca_deviceTypes=401&contentTypes=LCH&ca_active=true&ca_requiresPin=false&includeAttributes=ca_channelmapnumber,ca_devicetypes_qualities,ca_deviceTypes_isPlayback,ca_deviceTypes_isStartOverEnabled,ca_deviceTypes_isPvrPlayback,ca_deviceTypes_isPvrManageable,ca_deviceTypes_isCatchup,ca_channelmaps&includeRelations=ProductDependencies,Media&fields=Pid,Name,ChannelNumber,Dvr,EpgLiveChannelReferenceId,CallLetter,ProviderChannel,LXDChannel,AdvancedCDNServices,CdnBuffer,DefaultLanguageOrders,DistributorId,IsLatencyKey,images.logo,images.icon,UxReference,HasPlaylistExperience,IsHomeBlocked,IsStoverFfwdDisabled,IsStoverRwdDisabled,IsCpvrFfwdDisabled,IsCpvrRwdDisabled,IsCatchupFfwdDisabled,IsCatchupRwdDisabled,IsCowatchEnabled,IsFastChannel,MaxLiveNowGap&orderBy=contentOrder&offset=0&limit=1000'
+ )
+ .then(r => r.data)
+ .catch(console.error)
+
+ return data['Content']['List'].map(channel => ({
+ lang: 'pt',
+ name: channel['Name'],
+ site_id: channel['Pid'].toLowerCase()
+ }))
+ }
+}
+
+function parseImages(item) {
+ return item['Images'] && Array.isArray(item['Images']['VideoFrame'])
+ ? item['Images']['VideoFrame'].map(vf => vf['Url'])
+ : []
+}
+
+function parseItems(content) {
+ try {
+ const data = JSON.parse(content)
+ if (!data || !Array.isArray(data['Content'])) return []
+
+ return data['Content']
+ } catch {
+ return []
+ }
+}
diff --git a/sites/vivoplay.com.br/vivoplay.com.br.test.js b/sites/vivoplay.com.br/vivoplay.com.br.test.js
new file mode 100644
index 00000000..17d607ff
--- /dev/null
+++ b/sites/vivoplay.com.br/vivoplay.com.br.test.js
@@ -0,0 +1,61 @@
+const { parser, url } = require('./vivoplay.com.br.config.js')
+const fs = require('fs')
+const path = require('path')
+const dayjs = require('dayjs')
+const utc = require('dayjs/plugin/utc')
+const customParseFormat = require('dayjs/plugin/customParseFormat')
+dayjs.extend(customParseFormat)
+dayjs.extend(utc)
+
+const date = dayjs.utc('2025-01-19', 'YYYY-MM-DD').startOf('d')
+const channel = {
+ site_id: 'lch5554',
+ xmltv_id: 'TVNovoTempo.br'
+}
+
+it('can generate valid url', () => {
+ expect(url({ channel, date })).toBe(
+ 'https://contentapi-br.cdn.telefonica.com/25/default/pt-BR/schedules?ca_deviceTypes=null%7C401&ca_channelmaps=779%7Cnull&fields=Pid,Title,Description,ChannelName,ChannelNumber,CallLetter,Start,End,LiveChannelPid,LiveProgramPid,EpgSerieId,SeriesPid,SeriesId,SeasonPid,SeasonNumber,EpisodeNumber,images.videoFrame,images.banner,LiveToVod,AgeRatingPid,forbiddenTechnology,IsSoDisabled&includeRelations=Genre&orderBy=START_TIME%3Aa&filteravailability=false&includeAttributes=ca_cpvrDisable,ca_descriptors,ca_blackout_target,ca_blackout_areas&starttime=1737244800&endtime=1737331200&livechannelpids=lch5554&offset=0&limit=1000'
+ )
+})
+
+it('can parse response', () => {
+ const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'))
+ let results = parser({ content }).map(p => {
+ p.start = p.start.toJSON()
+ p.stop = p.stop.toJSON()
+ return p
+ })
+
+ expect(results.length).toBe(44)
+ expect(results[0]).toMatchObject({
+ start: '2025-01-19T00:00:00.000Z',
+ stop: '2025-01-19T00:30:00.000Z',
+ title: 'Reavivados para a Missão',
+ description:
+ 'Tudo sobre a missão com o Pastor Ted Wilson, líder mundial da Igreja Adventista do Sétimo Dia.',
+ season: 25,
+ episode: 3,
+ images: [
+ 'http://media.gvp.telefonica.com/storageArea0/IMAGES/00/21/19/21190052_46294A7A7B0DF467.jpg'
+ ]
+ })
+ expect(results[43]).toMatchObject({
+ start: '2025-01-19T23:30:00.000Z',
+ stop: '2025-01-20T00:00:00.000Z',
+ title: 'A Máquina Humana',
+ description:
+ 'O documentário explora a complexidade e a perfeição do corpo humano por meio de uma série de analogias com máquinas, olhando para a questão da saúde através das perspectivas da ciência, tecnologia e espiritualidade.',
+ season: null,
+ episode: null,
+ images: [
+ 'http://media.gvp.telefonica.com/storageArea0/IMAGES/00/20/86/20864769_7DD013A4CCCF7899.jpg'
+ ]
+ })
+})
+
+it('can handle empty guide', () => {
+ const content = fs.readFileSync(path.resolve(__dirname, '__data__/no_content.json'))
+ const results = parser({ content })
+ expect(results).toMatchObject([])
+})
diff --git a/sites/wavve.com/wavve.com.channels.xml b/sites/wavve.com/wavve.com.channels.xml
index c1a415f3..472f9837 100644
--- a/sites/wavve.com/wavve.com.channels.xml
+++ b/sites/wavve.com/wavve.com.channels.xml
@@ -64,7 +64,7 @@
SBS Golf
SBS MTV
SBS Plus
-
SBS
+
SBS
신세계TV쇼핑
쇼핑엔티
SK스토아
diff --git a/sites/webtv.delta.nl/webtv.delta.nl.channels.xml b/sites/webtv.delta.nl/webtv.delta.nl.channels.xml
index 4ed31b47..bc3c1e18 100644
--- a/sites/webtv.delta.nl/webtv.delta.nl.channels.xml
+++ b/sites/webtv.delta.nl/webtv.delta.nl.channels.xml
@@ -67,7 +67,7 @@
Cartoonito
BR6 TV
BredaNu TV
-
VRT Canvas
+
VRT Canvas
Cartoon Network
Castricum-TV
CBBC
@@ -84,7 +84,7 @@
Dorcel TV
DTV Oss Bernheze
Dusk Deluxe!
-
VRT 1
+
VRT 1
E! Pop of Culture
ESPN 2
ESPN 3
@@ -98,7 +98,7 @@
Film1 Family
Film1 Premiere
Filmbox
-
STAR Channel
+
STAR Channel
Fox News Channel
France 2
Gemeente Westland TV
diff --git a/sites/xem.kplus.vn/__data__/content.json b/sites/xem.kplus.vn/__data__/content.json
new file mode 100644
index 00000000..bf510e50
--- /dev/null
+++ b/sites/xem.kplus.vn/__data__/content.json
@@ -0,0 +1 @@
+{"nextAsset":null,"assets":[{"type":"EPG","id":"MkQEn-iAZgmTeRNfqc5s5i6Ec4a9_D693gz2BAr6","title":"Masha and the Bear S1, Ep25","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660496_f18c224a-80bc-488f-97fd-bf395be2a3fd.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660496_f18c224a-80bc-488f-97fd-bf395be2a3fd.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-17T23:56:00Z","end":"2025-01-18T00:03:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:08:00Z","end":"2025-01-20T23:56:00Z"}],"params":{"start":"2025-01-17T23:56:00Z","end":"2025-01-18T00:03:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"4VQVk2mcjzc58AN4USWOrD0tTQWc7DdCi-xwicTU","title":"Masha and the Bear S1, Ep01","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21__2660472_0a13b965-0b37-4552-99d5-a5998ca20156.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21__2660472_0a13b965-0b37-4552-99d5-a5998ca20156.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:03:00Z","end":"2025-01-18T00:10:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:15:00Z","end":"2025-01-21T00:03:00Z"}],"params":{"start":"2025-01-18T00:03:00Z","end":"2025-01-18T00:10:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"nq9q7WLroeXZLL48RjkXX9jF68AZrETC3-MxmSXr","title":"Masha and the Bear S1, Ep05","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660476_1da3fdba-9ddd-4344-87ff-ce106934b69e.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660476_1da3fdba-9ddd-4344-87ff-ce106934b69e.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:10:00Z","end":"2025-01-18T00:18:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:23:00Z","end":"2025-01-21T00:10:00Z"}],"params":{"start":"2025-01-18T00:10:00Z","end":"2025-01-18T00:18:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"PLPCnqSp21l6CMvrzrDLUIR_fq41HdXRmBO2RIe7","title":"Masha and the Bear S1, Ep07","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660478_7647e83a-69b6-4a17-9e5f-6e597bb671e7.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660478_7647e83a-69b6-4a17-9e5f-6e597bb671e7.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:18:00Z","end":"2025-01-18T00:25:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:30:00Z","end":"2025-01-21T00:18:00Z"}],"params":{"start":"2025-01-18T00:18:00Z","end":"2025-01-18T00:25:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"28M7s_FT7JRyxFj5bi7iI2sdhK2OPUiRqGsmMlHo","title":"Masha and the Bear S1, Ep09","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660480_e37b213a-5b58-4cac-80c7-4f8c25e7cff3.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660480_e37b213a-5b58-4cac-80c7-4f8c25e7cff3.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:25:00Z","end":"2025-01-18T00:32:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:37:00Z","end":"2025-01-21T00:25:00Z"}],"params":{"start":"2025-01-18T00:25:00Z","end":"2025-01-18T00:32:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"Ohi349ckhXxC9LxMgqu3kgzdPsh8ydBXGiKGKILP","title":"Zig & Sharko S3, Ep57","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679538_3b86298a-4740-4acc-b4b8-3da44aad2fbe.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679538_3b86298a-4740-4acc-b4b8-3da44aad2fbe.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:32:00Z","end":"2025-01-18T00:40:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:45:00Z","end":"2025-01-21T00:32:00Z"}],"params":{"start":"2025-01-18T00:32:00Z","end":"2025-01-18T00:40:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"dvu6yQvPzIbarjZwzKoMBAK9WUirt4J1L_hxB3U6","title":"Zig & Sharko S3, Ep58","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679539_4ea8b580-530c-439e-ab77-383e72a25a9d.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679539_4ea8b580-530c-439e-ab77-383e72a25a9d.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:40:00Z","end":"2025-01-18T00:47:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:52:00Z","end":"2025-01-21T00:40:00Z"}],"params":{"start":"2025-01-18T00:40:00Z","end":"2025-01-18T00:47:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"debL5o2gpV2e0Fc2EZ1YIpW07U2ewmcDkpD9SBW8","title":"Zig & Sharko S3, Ep59","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679540_e93a1c41-3e6b-4c5f-b498-d0eb3a6da365.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679540_e93a1c41-3e6b-4c5f-b498-d0eb3a6da365.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:47:00Z","end":"2025-01-18T00:54:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:59:00Z","end":"2025-01-21T00:47:00Z"}],"params":{"start":"2025-01-18T00:47:00Z","end":"2025-01-18T00:54:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"Ud1OoJOQ6SJQJgyF_eBvwcnd4qQWi8sBX1TQDaRt","title":"Zig & Sharko S3, Ep60","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679541_d01b15d2-8784-4eb2-8145-56321488cc91.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679541_d01b15d2-8784-4eb2-8145-56321488cc91.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T00:54:00Z","end":"2025-01-18T01:03:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:08:00Z","end":"2025-01-21T00:54:00Z"}],"params":{"start":"2025-01-18T00:54:00Z","end":"2025-01-18T01:03:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"l4x_x2DCdG8wbSlH-wEGJpQb0V0FhbRk8E4jYa_n","title":"Taffy S2, Ep47","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692410_470be923-1c63-416a-aba7-83f9b73f98d4.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692410_470be923-1c63-416a-aba7-83f9b73f98d4.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:03:00Z","end":"2025-01-18T01:10:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:15:00Z","end":"2025-01-21T01:03:00Z"}],"params":{"start":"2025-01-18T01:03:00Z","end":"2025-01-18T01:10:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"NqNApaE6ibJMFUnMr-Xv4TaTcbymlGukEylsW2P5","title":"Taffy S2, Ep48","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692411_6d7ce76f-0729-4ff7-8a4b-1aa602f78ed8.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692411_6d7ce76f-0729-4ff7-8a4b-1aa602f78ed8.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:10:00Z","end":"2025-01-18T01:17:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:22:00Z","end":"2025-01-21T01:10:00Z"}],"params":{"start":"2025-01-18T01:10:00Z","end":"2025-01-18T01:17:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"OWGhbDmYpl-bVK9tgdFmxWQDpdTmKpmlIFmFS1fS","title":"Taffy S2, Ep49","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692412_200032dc-8d16-47f0-acf3-53210e2d166a.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692412_200032dc-8d16-47f0-acf3-53210e2d166a.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:17:00Z","end":"2025-01-18T01:24:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:29:00Z","end":"2025-01-21T01:17:00Z"}],"params":{"start":"2025-01-18T01:17:00Z","end":"2025-01-18T01:24:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"ULZsOG18rACyuiJpPenxHsBlq6tyuhdWl2tQXjj7","title":"Taffy S2, Ep50","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692413_0204cea5-6c2b-4a97-948a-5b26c0fc6f28.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692413_0204cea5-6c2b-4a97-948a-5b26c0fc6f28.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:24:00Z","end":"2025-01-18T01:31:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:36:00Z","end":"2025-01-21T01:24:00Z"}],"params":{"start":"2025-01-18T01:24:00Z","end":"2025-01-18T01:31:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"W286cCAVRhJ5roLnbgZcq5iL-ZDu8AOQHarcUioN","title":"Taffy S2, Ep36","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692399_4fa42deb-87bc-4fa9-bc7b-7096d211eea5.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692399_4fa42deb-87bc-4fa9-bc7b-7096d211eea5.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:31:00Z","end":"2025-01-18T01:38:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:43:00Z","end":"2025-01-21T01:31:00Z"}],"params":{"start":"2025-01-18T01:31:00Z","end":"2025-01-18T01:38:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"2X2vlpAInQL7srSCr5ImYDJhMqSlfk7IfX5KdH2z","title":"Taffy S2, Ep37","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692400_600f3416-e02e-4316-800c-518c57c6f5f2.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692400_600f3416-e02e-4316-800c-518c57c6f5f2.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:38:00Z","end":"2025-01-18T01:44:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:49:00Z","end":"2025-01-21T01:38:00Z"}],"params":{"start":"2025-01-18T01:38:00Z","end":"2025-01-18T01:44:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"1FMD1tNF_N6c1KJz23NelgYD9wc5ouCLntgnHS5L","title":"Taffy S2, Ep38","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692401_a5170ec1-156a-43eb-bcc4-916e18f431d8.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692401_a5170ec1-156a-43eb-bcc4-916e18f431d8.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:44:00Z","end":"2025-01-18T01:51:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:56:00Z","end":"2025-01-21T01:44:00Z"}],"params":{"start":"2025-01-18T01:44:00Z","end":"2025-01-18T01:51:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"WCWnwfXw7PRcEpG8wE4hCcYpy17IgaqeAxW5MER5","title":"Taffy S2, Ep39","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692402_c5219390-5780-4cbd-98a6-791ab2d812b7.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692402_c5219390-5780-4cbd-98a6-791ab2d812b7.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T01:51:00Z","end":"2025-01-18T02:00:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T02:05:00Z","end":"2025-01-21T01:51:00Z"}],"params":{"start":"2025-01-18T01:51:00Z","end":"2025-01-18T02:00:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"O1R25sx1ujYHtaFfiVjaOU28uN12Qz-otTxF-lbG","title":"Space dogs: Tropical adventure","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/MOV_ANI_23__2698580_52fadd4a-53b0-4818-8091-8a330fdb7056.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/MOV_ANI_23__2698580_52fadd4a-53b0-4818-8091-8a330fdb7056.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T02:00:00Z","end":"2025-01-18T03:22:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T03:27:00Z","end":"2025-01-21T02:00:00Z"}],"params":{"start":"2025-01-18T02:00:00Z","end":"2025-01-18T03:22:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"b4qPkfKIv8XNB0uz69UjHBY0lyyM0wwKZvs4qiXl","title":"Hát cùng bé: Bạn sẽ không gục ngã (UglyDolls OST)","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_11/SHC_MUS_22__2684597_de2de175-2b19-4692-947b-da4643f77386.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_11/SHC_MUS_22__2684597_de2de175-2b19-4692-947b-da4643f77386.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T03:22:00Z","end":"2025-01-18T03:27:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T03:32:00Z","end":"2025-01-21T03:22:00Z"}],"params":{"start":"2025-01-18T03:22:00Z","end":"2025-01-18T03:27:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"LF-e0XGHDHiMmEEBDq8Gpym30pNIKw3R_V6ElfnQ","title":"Hát cùng bé: Thomas and Friends - I Am Sure Feeling Lucky","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_11/SHC_MUS_23__2706101_bf749f17-54db-4ce5-bab8-7559b75e1865.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_11/SHC_MUS_23__2706101_bf749f17-54db-4ce5-bab8-7559b75e1865.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T03:27:00Z","end":"2025-01-18T03:32:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T03:37:00Z","end":"2025-01-21T03:27:00Z"}],"params":{"start":"2025-01-18T03:27:00Z","end":"2025-01-18T03:32:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"I4TQbBWp-eXjaBhHLNmnsVWrxaR7aemOSKAqXCM9","title":"LEGO Ninjago: Masters of Spinjitzu: Tournament of Elements, Ep09","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_12/KID_CAR_22_2686660_0231ebde-8ba0-4692-b782-059716d39955.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_12/KID_CAR_22_2686660_0231ebde-8ba0-4692-b782-059716d39955.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T03:32:00Z","end":"2025-01-18T04:00:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:05:00Z","end":"2025-01-21T03:32:00Z"}],"params":{"start":"2025-01-18T03:32:00Z","end":"2025-01-18T04:00:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"DSlL_Yvj9R4Yl2q0zl0o3cKyoLUvCm5x0fUi8S3L","title":"Oggy and the Cockroaches – S4, Ep24","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673229_f32983c9-0253-4265-ab17-f4c17ba3ea0c.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673229_f32983c9-0253-4265-ab17-f4c17ba3ea0c.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:00:00Z","end":"2025-01-18T04:07:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:12:00Z","end":"2025-01-21T04:00:00Z"}],"params":{"start":"2025-01-18T04:00:00Z","end":"2025-01-18T04:07:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"WLh_loLkVtlCPir-P8RR28UTr0HkVvnXFntaNFSb","title":"Oggy and the Cockroaches – S4, Ep25","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673230_96ee24fd-0f00-4944-ad59-5dbeb33abad5.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673230_96ee24fd-0f00-4944-ad59-5dbeb33abad5.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:07:00Z","end":"2025-01-18T04:14:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:19:00Z","end":"2025-01-21T04:07:00Z"}],"params":{"start":"2025-01-18T04:07:00Z","end":"2025-01-18T04:14:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"lxCANZcxcrKeVxsPMar8fpjafrtwpxXJ-i1c4hTI","title":"Oggy and the Cockroaches – S4, Ep26","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673231_46e19b4c-6133-4a01-9dd8-d0439750915d.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673231_46e19b4c-6133-4a01-9dd8-d0439750915d.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:14:00Z","end":"2025-01-18T04:21:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:26:00Z","end":"2025-01-21T04:14:00Z"}],"params":{"start":"2025-01-18T04:14:00Z","end":"2025-01-18T04:21:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"tOEeBA9t5FEP6QZaI_gOjV6DIl0HOSf3rIsoT0Ow","title":"Oggy and the Cockroaches – S4, Ep27","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673232_c0932a88-b19e-440d-b337-659388fcc03f.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673232_c0932a88-b19e-440d-b337-659388fcc03f.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:21:00Z","end":"2025-01-18T04:28:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:33:00Z","end":"2025-01-21T04:21:00Z"}],"params":{"start":"2025-01-18T04:21:00Z","end":"2025-01-18T04:28:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"-RfugeMJd62gzBFHGtOUeloUx_qyDhySC4X0sStM","title":"Oggy and the Cockroaches – S4, Ep28","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673233_df53fb8b-ae59-47fb-89be-71ffe17cf00d.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673233_df53fb8b-ae59-47fb-89be-71ffe17cf00d.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:28:00Z","end":"2025-01-18T04:35:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:40:00Z","end":"2025-01-21T04:28:00Z"}],"params":{"start":"2025-01-18T04:28:00Z","end":"2025-01-18T04:35:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"7cGkIKaWHmPjPG_SN6_PEeRC5mfx6CEyEchbi7NT","title":"Oggy and the Cockroaches – S4, Ep29","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673234_885a6a66-4ae3-4463-bdd4-ec046ebbce6b.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673234_885a6a66-4ae3-4463-bdd4-ec046ebbce6b.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:35:00Z","end":"2025-01-18T04:42:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:47:00Z","end":"2025-01-21T04:35:00Z"}],"params":{"start":"2025-01-18T04:35:00Z","end":"2025-01-18T04:42:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"ylOoF6WCI8caKEi2QXCeUfj7WtIQdkXpg_Jvpq1_","title":"Oggy and the Cockroaches – S4, Ep30","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673235_e6e3f57d-b77c-4069-9a9e-2390d9f0aba3.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673235_e6e3f57d-b77c-4069-9a9e-2390d9f0aba3.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:42:00Z","end":"2025-01-18T04:49:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:54:00Z","end":"2025-01-21T04:42:00Z"}],"params":{"start":"2025-01-18T04:42:00Z","end":"2025-01-18T04:49:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"dYtba8M5aQhB8U66k_dLs2Q1Jl8jC4ET1DYZicfb","title":"Oggy and the Cockroaches – S4, Ep31","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673236_eafaf7fb-2e75-4434-9327-97635d6ad7e5.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673236_eafaf7fb-2e75-4434-9327-97635d6ad7e5.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:49:00Z","end":"2025-01-18T04:56:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T05:01:00Z","end":"2025-01-21T04:49:00Z"}],"params":{"start":"2025-01-18T04:49:00Z","end":"2025-01-18T04:56:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"wJrdeh0EEceBDlm-AwFG9CmZRV7OxQNcqRdpzTQe","title":"Oggy and the Cockroaches – S4, Ep32","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673237_33208a6f-79b2-496b-b5b3-a7c59efcbf25.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673237_33208a6f-79b2-496b-b5b3-a7c59efcbf25.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T04:56:00Z","end":"2025-01-18T05:05:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T05:10:00Z","end":"2025-01-21T04:56:00Z"}],"params":{"start":"2025-01-18T04:56:00Z","end":"2025-01-18T05:05:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"1-B6sxk0pRbRkyRjv3tc62Vnogh_t7C9p2MIMVRu","title":"Doraemon S12, Ep12","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2024_02/KID_CAR_2712141_087c71b3-49b4-4ae3-95a8-7f42b86823a9.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2024_02/KID_CAR_2712141_087c71b3-49b4-4ae3-95a8-7f42b86823a9.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T05:05:00Z","end":"2025-01-18T05:30:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T05:35:00Z","end":"2025-01-21T05:05:00Z"}],"params":{"start":"2025-01-18T05:05:00Z","end":"2025-01-18T05:30:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"U83ofkiTkv6I6VL2aBeTyj5zArXXtBsOWnUh1wkl","title":"Doraemon S12, Ep13","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2024_02/KID_CAR_2712142_183cd069-c737-4356-9178-9dd80bd59261.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2024_02/KID_CAR_2712142_183cd069-c737-4356-9178-9dd80bd59261.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T05:30:00Z","end":"2025-01-18T06:01:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:06:00Z","end":"2025-01-21T05:30:00Z"}],"params":{"start":"2025-01-18T05:30:00Z","end":"2025-01-18T06:01:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"35obKreMeNDYRJsbPJjXmEPgKxykY4nz-cfq7SZv","title":"Masha and the Bear S1, Ep17","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660488_4f204e1e-2b54-4cf6-b44b-d724ba0315d7.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660488_4f204e1e-2b54-4cf6-b44b-d724ba0315d7.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:01:00Z","end":"2025-01-18T06:09:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:14:00Z","end":"2025-01-21T06:01:00Z"}],"params":{"start":"2025-01-18T06:01:00Z","end":"2025-01-18T06:09:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"-xXfotmx0R1lB5j6WYbTYijkbHlUnTX4GoJ0LaED","title":"Masha and the Bear S1, Ep19","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660490_baeb863d-2d1c-490c-bbb9-a97c3327d726.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660490_baeb863d-2d1c-490c-bbb9-a97c3327d726.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:09:00Z","end":"2025-01-18T06:16:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:21:00Z","end":"2025-01-21T06:09:00Z"}],"params":{"start":"2025-01-18T06:09:00Z","end":"2025-01-18T06:16:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"U2nvPuYQugH3Ou3YozwtGiLIy9rQOgh035TLbPI-","title":"Masha and the Bear S1, Ep23","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660494_b8fd7151-9cfe-4780-82c9-0b5d59e4a8d5.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660494_b8fd7151-9cfe-4780-82c9-0b5d59e4a8d5.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:16:00Z","end":"2025-01-18T06:23:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:28:00Z","end":"2025-01-21T06:16:00Z"}],"params":{"start":"2025-01-18T06:16:00Z","end":"2025-01-18T06:23:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"7s_RVFfvIVWBgbvArOh-u_z7asEtu7-8L1hym6PZ","title":"Masha and the Bear S1, Ep25","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660496_f18c224a-80bc-488f-97fd-bf395be2a3fd.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660496_f18c224a-80bc-488f-97fd-bf395be2a3fd.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:23:00Z","end":"2025-01-18T06:31:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:36:00Z","end":"2025-01-21T06:23:00Z"}],"params":{"start":"2025-01-18T06:23:00Z","end":"2025-01-18T06:31:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"hVU80X1c0XnMsThkcpYeuxnZT_51belyarsdzDUm","title":"Masha and the Bear S1, Ep01","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21__2660472_0a13b965-0b37-4552-99d5-a5998ca20156.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21__2660472_0a13b965-0b37-4552-99d5-a5998ca20156.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:31:00Z","end":"2025-01-18T06:38:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:43:00Z","end":"2025-01-21T06:31:00Z"}],"params":{"start":"2025-01-18T06:31:00Z","end":"2025-01-18T06:38:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"EV3hzHK8cPeEY0OhhXaJZtdIBU22EOfnPlKWT7KK","title":"Masha and the Bear S1, Ep05","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660476_1da3fdba-9ddd-4344-87ff-ce106934b69e.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660476_1da3fdba-9ddd-4344-87ff-ce106934b69e.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:38:00Z","end":"2025-01-18T06:45:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:50:00Z","end":"2025-01-21T06:38:00Z"}],"params":{"start":"2025-01-18T06:38:00Z","end":"2025-01-18T06:45:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"UuJpUJ81LiTnNwtD6TxPEdFlR8bBAASZzP3ydCa0","title":"Masha and the Bear S1, Ep07","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660478_7647e83a-69b6-4a17-9e5f-6e597bb671e7.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660478_7647e83a-69b6-4a17-9e5f-6e597bb671e7.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:45:00Z","end":"2025-01-18T06:52:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:57:00Z","end":"2025-01-21T06:45:00Z"}],"params":{"start":"2025-01-18T06:45:00Z","end":"2025-01-18T06:52:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"-Qmv43U4qhSAvJhU8VJhJKf-_uxeQZKP4WMJ1MOl","title":"Masha and the Bear S1, Ep09","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660480_e37b213a-5b58-4cac-80c7-4f8c25e7cff3.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660480_e37b213a-5b58-4cac-80c7-4f8c25e7cff3.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T06:52:00Z","end":"2025-01-18T07:00:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:05:00Z","end":"2025-01-21T06:52:00Z"}],"params":{"start":"2025-01-18T06:52:00Z","end":"2025-01-18T07:00:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"F-2b3FsWGcrcSs45K9v5uFWdQNwGj13h4g3Qjrp1","title":"I'll get you, Ep11","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698659_142bd0b4-06bf-4a80-a1b3-605346d7f546.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698659_142bd0b4-06bf-4a80-a1b3-605346d7f546.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:00:00Z","end":"2025-01-18T07:07:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:12:00Z","end":"2025-01-21T07:00:00Z"}],"params":{"start":"2025-01-18T07:00:00Z","end":"2025-01-18T07:07:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"9SHzd97t2Dwd89rRBgwK3uOR0ykTPgHHrZgXolBN","title":"I'll get you, Ep12","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698660_137398e9-5fb1-45a2-9412-99e5f29a3b4a.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698660_137398e9-5fb1-45a2-9412-99e5f29a3b4a.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:07:00Z","end":"2025-01-18T07:13:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:18:00Z","end":"2025-01-21T07:07:00Z"}],"params":{"start":"2025-01-18T07:07:00Z","end":"2025-01-18T07:13:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"dwuOA0X-U6KvYDfvpzJa53ggFcZtoiPUggY4tvQP","title":"I'll get you, Ep13","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698661_beb8f2cd-4684-47dd-8db5-5f64064cc397.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698661_beb8f2cd-4684-47dd-8db5-5f64064cc397.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:13:00Z","end":"2025-01-18T07:20:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:25:00Z","end":"2025-01-21T07:13:00Z"}],"params":{"start":"2025-01-18T07:13:00Z","end":"2025-01-18T07:20:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"kEXyHquJdeX74jRrjtXW8wcyk0KS9Bk4QbyKpJlf","title":"I'll get you, Ep14","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698662_847fa696-eb67-49f9-9a74-fc207fd2f5de.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698662_847fa696-eb67-49f9-9a74-fc207fd2f5de.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:20:00Z","end":"2025-01-18T07:26:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:31:00Z","end":"2025-01-21T07:20:00Z"}],"params":{"start":"2025-01-18T07:20:00Z","end":"2025-01-18T07:26:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"syPwwTDVBxlt1VL8lTQFz-znP-8DdrpkSQw3rsPM","title":"I'll get you, Ep15","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698663_d7f3f831-7407-49fe-a72a-8c850850e2b1.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698663_d7f3f831-7407-49fe-a72a-8c850850e2b1.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:26:00Z","end":"2025-01-18T07:32:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:37:00Z","end":"2025-01-21T07:26:00Z"}],"params":{"start":"2025-01-18T07:26:00Z","end":"2025-01-18T07:32:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"ZPlQeU0dGLQPbVSNPM34ajP-Tb2EC_otgr30IhZz","title":"I'll get you, Ep16","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698664_85ed658c-20b7-4278-9c35-cccade1f7b07.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698664_85ed658c-20b7-4278-9c35-cccade1f7b07.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:32:00Z","end":"2025-01-18T07:39:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:44:00Z","end":"2025-01-21T07:32:00Z"}],"params":{"start":"2025-01-18T07:32:00Z","end":"2025-01-18T07:39:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"5rsE1_gMBhEL4xNtIQY3kQBVRvfrn4TfhWQH-2MF","title":"I'll get you, Ep17","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698665_4e539373-6f1b-4157-9769-a7b0c7ad8b80.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698665_4e539373-6f1b-4157-9769-a7b0c7ad8b80.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:39:00Z","end":"2025-01-18T07:45:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:50:00Z","end":"2025-01-21T07:39:00Z"}],"params":{"start":"2025-01-18T07:39:00Z","end":"2025-01-18T07:45:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"tLhNin-aPtbrD5Lxubear-iAtBPxpVljIBPpcX11","title":"I'll get you, Ep18","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698666_672ee151-b731-4100-bfe7-f76f37d69eb9.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698666_672ee151-b731-4100-bfe7-f76f37d69eb9.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:45:00Z","end":"2025-01-18T07:51:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:56:00Z","end":"2025-01-21T07:45:00Z"}],"params":{"start":"2025-01-18T07:45:00Z","end":"2025-01-18T07:51:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"A_ZKMI9xpqcSihgVgVmBjMCZsRLMmK1iMIsxZWPb","title":"I'll get you, Ep19","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698667_c0055ab0-e736-4de2-a885-380666ac3049.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_06/KID_PRE_23_2698667_c0055ab0-e736-4de2-a885-380666ac3049.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T07:51:00Z","end":"2025-01-18T08:00:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T08:05:00Z","end":"2025-01-21T07:51:00Z"}],"params":{"start":"2025-01-18T07:51:00Z","end":"2025-01-18T08:00:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"njH3NfZvsDwk9bvFpCsk5ntG3NceN5cEx8uuXuf2","title":"Chickenhare and the Hamster of Darkness","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/MOV_ANI_22__2682965_16f300f8-6544-4ec9-8dd7-f5dd71a2880e.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/MOV_ANI_22__2682965_16f300f8-6544-4ec9-8dd7-f5dd71a2880e.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T08:00:00Z","end":"2025-01-18T09:33:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T09:38:00Z","end":"2025-01-21T08:00:00Z"}],"params":{"start":"2025-01-18T08:00:00Z","end":"2025-01-18T09:33:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"hzMV65z-V5LsQhO7HQdNG_pGOkVP7LJk9NGdJL_a","title":"Oggy and the Cockroaches – S4, Ep29","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673234_885a6a66-4ae3-4463-bdd4-ec046ebbce6b.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673234_885a6a66-4ae3-4463-bdd4-ec046ebbce6b.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T09:33:00Z","end":"2025-01-18T09:40:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T09:45:00Z","end":"2025-01-21T09:33:00Z"}],"params":{"start":"2025-01-18T09:33:00Z","end":"2025-01-18T09:40:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"FJCkqvS7SdbqkGFSoN5LXQHoKW-2PKPkOZ08bv2V","title":"Oggy and the Cockroaches – S4, Ep30","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673235_e6e3f57d-b77c-4069-9a9e-2390d9f0aba3.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673235_e6e3f57d-b77c-4069-9a9e-2390d9f0aba3.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T09:40:00Z","end":"2025-01-18T09:47:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T09:52:00Z","end":"2025-01-21T09:40:00Z"}],"params":{"start":"2025-01-18T09:40:00Z","end":"2025-01-18T09:47:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"WS4wT0X6x5Ojjad_zr8SaaJkj-C5rdnrUXGuS0qP","title":"Oggy and the Cockroaches – S4, Ep31","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673236_eafaf7fb-2e75-4434-9327-97635d6ad7e5.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673236_eafaf7fb-2e75-4434-9327-97635d6ad7e5.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T09:47:00Z","end":"2025-01-18T09:54:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T09:59:00Z","end":"2025-01-21T09:47:00Z"}],"params":{"start":"2025-01-18T09:47:00Z","end":"2025-01-18T09:54:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"PojZKbhFgGMf_UL-GcpC3p-EDF_jAeiJ9WVhOzOz","title":"Oggy and the Cockroaches – S4, Ep32","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673237_33208a6f-79b2-496b-b5b3-a7c59efcbf25.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2673237_33208a6f-79b2-496b-b5b3-a7c59efcbf25.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T09:54:00Z","end":"2025-01-18T10:03:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:08:00Z","end":"2025-01-21T09:54:00Z"}],"params":{"start":"2025-01-18T09:54:00Z","end":"2025-01-18T10:03:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"T7HEhBpugMcW6wAQ9BdCMAbYV34P_uqzWKrLfnnM","title":"Taffy S2, Ep51","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692414_57f4a0ae-3c5a-463d-b715-c296b2a9bb97.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692414_57f4a0ae-3c5a-463d-b715-c296b2a9bb97.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:03:00Z","end":"2025-01-18T10:10:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:15:00Z","end":"2025-01-21T10:03:00Z"}],"params":{"start":"2025-01-18T10:03:00Z","end":"2025-01-18T10:10:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"05Z9U7p-1dVZlg5yAqL_WQpYm7vp3LBnImP9omZ5","title":"Taffy S2, Ep52","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692415_d724921d-d213-49ff-bfe2-39b137a0bbf4.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692415_d724921d-d213-49ff-bfe2-39b137a0bbf4.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:10:00Z","end":"2025-01-18T10:16:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:21:00Z","end":"2025-01-21T10:10:00Z"}],"params":{"start":"2025-01-18T10:10:00Z","end":"2025-01-18T10:16:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"9Gyc7gffwdovAXWWXk-jfgpUqaO8iqn0HlaBoLGJ","title":"Taffy S2, Ep53","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692416_0e7554a9-bf96-4409-98d2-e8f4dbfb908f.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692416_0e7554a9-bf96-4409-98d2-e8f4dbfb908f.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:16:00Z","end":"2025-01-18T10:23:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:28:00Z","end":"2025-01-21T10:16:00Z"}],"params":{"start":"2025-01-18T10:16:00Z","end":"2025-01-18T10:23:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"j_91XPPnirLaQoBFm-IF3cls_RlIsAUcdGCYSDcV","title":"Taffy S2, Ep54","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692417_34b951cc-8570-4b52-bc4c-18b620570f86.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692417_34b951cc-8570-4b52-bc4c-18b620570f86.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:23:00Z","end":"2025-01-18T10:30:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:35:00Z","end":"2025-01-21T10:23:00Z"}],"params":{"start":"2025-01-18T10:23:00Z","end":"2025-01-18T10:30:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"249SUV_9Lxc-gk7cag81H_9Nd2g8SP5cO-SSS6z2","title":"Taffy S2, Ep14","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692377_9cd35d97-e084-40c6-b6e4-1a9fdcb14570.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692377_9cd35d97-e084-40c6-b6e4-1a9fdcb14570.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:30:00Z","end":"2025-01-18T10:37:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:42:00Z","end":"2025-01-21T10:30:00Z"}],"params":{"start":"2025-01-18T10:30:00Z","end":"2025-01-18T10:37:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"myfqUVFK-9rNIcWhfgutF5mU-2yvqSxklTcH4wa9","title":"Taffy S2, Ep15","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692378_6fc61fbb-8f93-4e31-8f8a-e74e7c0c61a0.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692378_6fc61fbb-8f93-4e31-8f8a-e74e7c0c61a0.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:37:00Z","end":"2025-01-18T10:44:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:49:00Z","end":"2025-01-21T10:37:00Z"}],"params":{"start":"2025-01-18T10:37:00Z","end":"2025-01-18T10:44:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"d9UxD1b6-708MczAXCXYniFK7ekjC15CB-AFuzMm","title":"Taffy S2, Ep16","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692379_6c787726-dfe1-446d-a0f9-e538f87b64b9.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692379_6c787726-dfe1-446d-a0f9-e538f87b64b9.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:44:00Z","end":"2025-01-18T10:51:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:56:00Z","end":"2025-01-21T10:44:00Z"}],"params":{"start":"2025-01-18T10:44:00Z","end":"2025-01-18T10:51:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"C2fkUDIT9goTFEJgNaP_t-OjwUvTlCDjujhCfvWy","title":"Taffy S2, Ep17","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692380_04e1bb24-31d4-4d8d-894a-f46a4d5163b5.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_03/KID_PRE_2692380_04e1bb24-31d4-4d8d-894a-f46a4d5163b5.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T10:51:00Z","end":"2025-01-18T11:00:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:05:00Z","end":"2025-01-21T10:51:00Z"}],"params":{"start":"2025-01-18T10:51:00Z","end":"2025-01-18T11:00:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"o1z7LOufN3PCvDrmYvIUcIsHwlPVmf7pzQCbqOnT","title":"Masha and the Bear S1, Ep09","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660480_e37b213a-5b58-4cac-80c7-4f8c25e7cff3.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660480_e37b213a-5b58-4cac-80c7-4f8c25e7cff3.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:00:00Z","end":"2025-01-18T11:07:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:12:00Z","end":"2025-01-21T11:00:00Z"}],"params":{"start":"2025-01-18T11:00:00Z","end":"2025-01-18T11:07:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"bMUTpyyvosFHYJ3N1qr7ga3Rh2D73ZY54mGP5P1w","title":"Masha and the Bear S1, Ep08","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660479_9fa1e76e-381b-49b7-9cd2-14b1ad593e10.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660479_9fa1e76e-381b-49b7-9cd2-14b1ad593e10.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:07:00Z","end":"2025-01-18T11:15:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:20:00Z","end":"2025-01-21T11:07:00Z"}],"params":{"start":"2025-01-18T11:07:00Z","end":"2025-01-18T11:15:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"pO0ZPmepuVL2KV_wsCdHHbyat0duxAy4XSz6yORB","title":"Masha and the Bear S1, Ep07","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660478_7647e83a-69b6-4a17-9e5f-6e597bb671e7.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660478_7647e83a-69b6-4a17-9e5f-6e597bb671e7.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:15:00Z","end":"2025-01-18T11:22:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:27:00Z","end":"2025-01-21T11:15:00Z"}],"params":{"start":"2025-01-18T11:15:00Z","end":"2025-01-18T11:22:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"1ps-j6PpC1bvzScai5DlrlhSAyhoTMkKVjH2DkYA","title":"Masha and the Bear S1, Ep06","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660477_905215a4-2e5f-4fb9-8a4c-61382de0c982.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660477_905215a4-2e5f-4fb9-8a4c-61382de0c982.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:22:00Z","end":"2025-01-18T11:29:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:34:00Z","end":"2025-01-21T11:22:00Z"}],"params":{"start":"2025-01-18T11:22:00Z","end":"2025-01-18T11:29:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"NouHI-PW_J7ZGYz1t9Wrp8ghvE3gnWEBRjQhqy37","title":"Masha and the Bear S1, Ep05","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660476_1da3fdba-9ddd-4344-87ff-ce106934b69e.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660476_1da3fdba-9ddd-4344-87ff-ce106934b69e.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:29:00Z","end":"2025-01-18T11:36:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:41:00Z","end":"2025-01-21T11:29:00Z"}],"params":{"start":"2025-01-18T11:29:00Z","end":"2025-01-18T11:36:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"FW-WABOTPk2zimGeKoVKUN0MbiD7e9WqrLiZH31d","title":"Masha and the Bear S1, Ep04","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660475_db2a08f9-8746-495e-929e-2f545adf1f9d.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660475_db2a08f9-8746-495e-929e-2f545adf1f9d.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:36:00Z","end":"2025-01-18T11:43:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:48:00Z","end":"2025-01-21T11:36:00Z"}],"params":{"start":"2025-01-18T11:36:00Z","end":"2025-01-18T11:43:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"-vVbyz_P3cuebfGm6HxntpIjKwS2KsUgG_UxtqGq","title":"Masha and the Bear S1, Ep02","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660473_02866db1-5db2-468a-b33e-79bc3ec36828.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660473_02866db1-5db2-468a-b33e-79bc3ec36828.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:43:00Z","end":"2025-01-18T11:50:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:55:00Z","end":"2025-01-21T11:43:00Z"}],"params":{"start":"2025-01-18T11:43:00Z","end":"2025-01-18T11:50:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"Jvs12anc728_Vk_v_SftTyH-JptrQ46CwB3VpMQb","title":"Masha and the Bear S1, Ep01","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21__2660472_0a13b965-0b37-4552-99d5-a5998ca20156.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21__2660472_0a13b965-0b37-4552-99d5-a5998ca20156.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:50:00Z","end":"2025-01-18T11:57:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T12:02:00Z","end":"2025-01-21T11:50:00Z"}],"params":{"start":"2025-01-18T11:50:00Z","end":"2025-01-18T11:57:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"WLFNvcz1ATVOsCEprAtBM2rQYEA5fMsMyfQ8rQX-","title":"Masha and the Bear S1, Ep26","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660497_fd601d9d-fef4-4945-9d51-6ce4f091790a.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21_2660497_fd601d9d-fef4-4945-9d51-6ce4f091790a.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T11:57:00Z","end":"2025-01-18T12:05:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T12:10:00Z","end":"2025-01-21T11:57:00Z"}],"params":{"start":"2025-01-18T11:57:00Z","end":"2025-01-18T12:05:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"iO1wY77B6IojJ8lEflNN-mj50Za4H6nrDDq9vCNK","title":"Doraemon S12, Ep12","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2024_02/KID_CAR_2712141_087c71b3-49b4-4ae3-95a8-7f42b86823a9.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2024_02/KID_CAR_2712141_087c71b3-49b4-4ae3-95a8-7f42b86823a9.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T12:05:00Z","end":"2025-01-18T12:30:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T12:35:00Z","end":"2025-01-21T12:05:00Z"}],"params":{"start":"2025-01-18T12:05:00Z","end":"2025-01-18T12:30:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"DodJb4dlxbx5Dn-TH371Ttaf1M539fxla6DSevuG","title":"Doraemon S12, Ep13","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2024_02/KID_CAR_2712142_183cd069-c737-4356-9178-9dd80bd59261.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2024_02/KID_CAR_2712142_183cd069-c737-4356-9178-9dd80bd59261.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T12:30:00Z","end":"2025-01-18T12:54:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T12:59:00Z","end":"2025-01-21T12:30:00Z"}],"params":{"start":"2025-01-18T12:30:00Z","end":"2025-01-18T12:54:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"dhkUpin-KWbBFIuzi9RZenZp73wfCQuG0NSY8MEK","title":"Hát cùng bé: Bạn sẽ không gục ngã (UglyDolls OST)","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_11/SHC_MUS_22__2684597_de2de175-2b19-4692-947b-da4643f77386.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_11/SHC_MUS_22__2684597_de2de175-2b19-4692-947b-da4643f77386.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T12:54:00Z","end":"2025-01-18T13:00:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T13:05:00Z","end":"2025-01-21T12:54:00Z"}],"params":{"start":"2025-01-18T12:54:00Z","end":"2025-01-18T13:00:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"quVh8AvLTdReoU5DIqEr_gNdq2Ow-aZ5zyGKLHAJ","title":"Around the world in 80 days","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_12/MOV_ANI_23__2709986_44529313-6636-48d8-a17c-fdbe380e3647.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_12/MOV_ANI_23__2709986_44529313-6636-48d8-a17c-fdbe380e3647.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T13:00:00Z","end":"2025-01-18T14:31:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T14:36:00Z","end":"2025-01-21T13:00:00Z"}],"params":{"start":"2025-01-18T13:00:00Z","end":"2025-01-18T14:31:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"1FyQXb8CErZUzHsLb6v4CEc1CxIz4o7vOdeNiCal","title":"Zig & Sharko S3, Ep63","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679544_fa81540b-1da2-4d16-8d9e-78a5c934357b.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679544_fa81540b-1da2-4d16-8d9e-78a5c934357b.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T14:31:00Z","end":"2025-01-18T14:38:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T14:43:00Z","end":"2025-01-21T14:31:00Z"}],"params":{"start":"2025-01-18T14:31:00Z","end":"2025-01-18T14:38:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"RpR2X87BSsfzX7-RcYrDH8-mRt3LpVczMPsHtclC","title":"Zig & Sharko S3, Ep64","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679545_1eeb4ffa-1b12-44f1-8504-6d19797f638e.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679545_1eeb4ffa-1b12-44f1-8504-6d19797f638e.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T14:38:00Z","end":"2025-01-18T14:46:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T14:51:00Z","end":"2025-01-21T14:38:00Z"}],"params":{"start":"2025-01-18T14:38:00Z","end":"2025-01-18T14:46:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"Oa5T4bTDdnxD39PEMENvN3eXdyCM36AzxElow8PB","title":"Zig & Sharko S3, Ep65","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679546_821d53be-1f88-4aa2-b215-b75bfb8f3beb.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679546_821d53be-1f88-4aa2-b215-b75bfb8f3beb.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T14:46:00Z","end":"2025-01-18T14:53:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T14:58:00Z","end":"2025-01-21T14:46:00Z"}],"params":{"start":"2025-01-18T14:46:00Z","end":"2025-01-18T14:53:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"8S4-CzWRhzN6TiebJ6bBszi7e0uh2iRTubD0Y9TC","title":"Zig & Sharko S3, Ep66","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679547_f184d764-dd9f-408d-bef5-aa52916324f4.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679547_f184d764-dd9f-408d-bef5-aa52916324f4.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T14:53:00Z","end":"2025-01-18T15:00:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T15:05:00Z","end":"2025-01-21T14:53:00Z"}],"params":{"start":"2025-01-18T14:53:00Z","end":"2025-01-18T15:00:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"i7seZAJFhCFzNKi662LgnrccFt3YujUE-24yonVf","title":"Zig & Sharko S3, Ep67","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679548_98d1e001-3fee-493d-92ae-be5aacf4207b.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679548_98d1e001-3fee-493d-92ae-be5aacf4207b.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T15:00:00Z","end":"2025-01-18T15:08:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T15:13:00Z","end":"2025-01-21T15:00:00Z"}],"params":{"start":"2025-01-18T15:00:00Z","end":"2025-01-18T15:08:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"McimcRGophlWlJwkhUZh6Ig4mC3Z4YX3WhAMOgLG","title":"Zig & Sharko S3, Ep68","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679549_5c39d6ce-51a4-44ab-aa36-948ccfa57d0a.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679549_5c39d6ce-51a4-44ab-aa36-948ccfa57d0a.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T15:08:00Z","end":"2025-01-18T15:15:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T15:20:00Z","end":"2025-01-21T15:08:00Z"}],"params":{"start":"2025-01-18T15:08:00Z","end":"2025-01-18T15:15:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"LWAoAIalcsv6VZmcU9jcYbIHWhYlrQdzSxDc6rpB","title":"Zig & Sharko S3, Ep69","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679550_ef27fa87-b030-44e8-b7de-422511d47070.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679550_ef27fa87-b030-44e8-b7de-422511d47070.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T15:15:00Z","end":"2025-01-18T15:23:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T15:28:00Z","end":"2025-01-21T15:15:00Z"}],"params":{"start":"2025-01-18T15:15:00Z","end":"2025-01-18T15:23:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"NwnbkCdSKP3Wz4tKXGVpy4JetzxSFSzPFJUdJB3P","title":"Zig & Sharko S3, Ep70","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679551_4c8c81e9-3441-42e9-9ebe-a73b78675e74.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_10/KID_CAR_22_2679551_4c8c81e9-3441-42e9-9ebe-a73b78675e74.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T15:23:00Z","end":"2025-01-18T15:31:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T15:36:00Z","end":"2025-01-21T15:23:00Z"}],"params":{"start":"2025-01-18T15:23:00Z","end":"2025-01-18T15:31:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"XKRRYunyytpRtengghY6C-ffWSBkaeWYytXMuBlp","title":"Doraemon S12, Ep49","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2024_02/KID_CAR_2712178_e05f80cb-feaf-4af8-a021-2574d7a2cc36.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2024_02/KID_CAR_2712178_e05f80cb-feaf-4af8-a021-2574d7a2cc36.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T15:31:00Z","end":"2025-01-18T16:00:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T16:05:00Z","end":"2025-01-21T15:31:00Z"}],"params":{"start":"2025-01-18T15:31:00Z","end":"2025-01-18T16:00:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"E5wJWIgkPFyl5u9t5119BmqLpVEYr-MANpyESadJ","title":"KID SHOW: PAPER SPINDLE + WHALES","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2013_03/KID_EDU_HNCP__VN_33613_09c71f3c-18b3-4f11-a9d3-da787ee64c9e.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2013_03/KID_EDU_HNCP__VN_33613_09c71f3c-18b3-4f11-a9d3-da787ee64c9e.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T16:00:00Z","end":"2025-01-18T16:35:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T16:40:00Z","end":"2025-01-21T16:00:00Z"}],"params":{"start":"2025-01-18T16:00:00Z","end":"2025-01-18T16:35:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"WXncfwtu7q5kzwHt9twcVeypi0_VSQlEEnWRWYpU","title":"Talking Tom & Friends S3, Ep 01","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_08/KID_CAR_23__2700693_b78f7448-ff96-4f6a-b1e7-4fcfcb3dff22.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_08/KID_CAR_23__2700693_b78f7448-ff96-4f6a-b1e7-4fcfcb3dff22.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T16:35:00Z","end":"2025-01-18T16:46:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T16:51:00Z","end":"2025-01-21T16:35:00Z"}],"params":{"start":"2025-01-18T16:35:00Z","end":"2025-01-18T16:46:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"Ymn3G_D4vQozhTXacJaESVyX69QWQ7YTHUf7MV-0","title":"Talking Tom & Friends S3, Ep 02","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_08/KID_CAR_23_2700694_59ca3d6a-46ca-4df6-848a-a14633ed7bb9.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_08/KID_CAR_23_2700694_59ca3d6a-46ca-4df6-848a-a14633ed7bb9.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T16:46:00Z","end":"2025-01-18T16:56:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T17:01:00Z","end":"2025-01-21T16:46:00Z"}],"params":{"start":"2025-01-18T16:46:00Z","end":"2025-01-18T16:56:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"XWc_qLi5-ZsrTWtz-3PmJrhiQPIycLjRRoQCPM2T","title":"Talking Tom & Friends S3, Ep 03","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_08/KID_CAR_23_2700695_5f15a6d7-d6a1-4269-a262-44c030bcd945.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2023_08/KID_CAR_23_2700695_5f15a6d7-d6a1-4269-a262-44c030bcd945.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T16:56:00Z","end":"2025-01-18T17:08:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T17:13:00Z","end":"2025-01-21T16:56:00Z"}],"params":{"start":"2025-01-18T16:56:00Z","end":"2025-01-18T17:08:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"JNwuJvyFsKfJuQj-QOnGp5gQsL42mr7E5eo7TK54","title":"KID SHOW: FIREBALL PICTURE - MOON PICTURE","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2012_02/KID_EDU_HNCP__VN_19958_4488a4d0-5ac5-4cf2-9dc3-64d8a43d1c97.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2012_02/KID_EDU_HNCP__VN_19958_4488a4d0-5ac5-4cf2-9dc3-64d8a43d1c97.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T17:08:00Z","end":"2025-01-18T17:32:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T17:37:00Z","end":"2025-01-21T17:08:00Z"}],"params":{"start":"2025-01-18T17:08:00Z","end":"2025-01-18T17:32:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"Bx2x_O6gqc2e8vrz-sBNOvIsAD2WaRldf1nyTinH","title":"KID SHOW: BUG SHAPE BOOKMARK - WOODEATER PAPERWEIGHT","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2012_02/KID_EDU_HNCP__VN_20200_9d92b5d2-02da-49ac-969e-4b20aad8ccec.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2012_02/KID_EDU_HNCP__VN_20200_9d92b5d2-02da-49ac-969e-4b20aad8ccec.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T17:32:00Z","end":"2025-01-18T17:59:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T18:04:00Z","end":"2025-01-21T17:32:00Z"}],"params":{"start":"2025-01-18T17:32:00Z","end":"2025-01-18T17:59:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"OguE5u1g1bpeo5Ggc58jFkxdq9HZhylHRBPVi_md","title":"Wild Kratts, Ep01","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22__2674232_7c05d824-e464-4c30-9c17-b951cff0c85e.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22__2674232_7c05d824-e464-4c30-9c17-b951cff0c85e.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T17:59:00Z","end":"2025-01-18T18:20:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T18:25:00Z","end":"2025-01-21T17:59:00Z"}],"params":{"start":"2025-01-18T17:59:00Z","end":"2025-01-18T18:20:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"aYU4haUZAJk7yPpqDsfrfp2pnyPwN1HKhHPZAvc_","title":"Wild Kratts, Ep02","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2674233_7b73e34b-6d37-42a8-85f5-d3614785d1f0.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2674233_7b73e34b-6d37-42a8-85f5-d3614785d1f0.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T18:20:00Z","end":"2025-01-18T18:42:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T18:47:00Z","end":"2025-01-21T18:20:00Z"}],"params":{"start":"2025-01-18T18:20:00Z","end":"2025-01-18T18:42:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"eBEyBqLJoqiY9SJ0LLWNQBFoAtHbL4394Gu1QHly","title":"Wild Kratts, Ep03","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2674234_37bff607-fc62-4605-8a16-8354372361af.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2674234_37bff607-fc62-4605-8a16-8354372361af.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T18:42:00Z","end":"2025-01-18T19:04:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T19:09:00Z","end":"2025-01-21T18:42:00Z"}],"params":{"start":"2025-01-18T18:42:00Z","end":"2025-01-18T19:04:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"YT5slC9gH5gqt9MxLmc2IF9IrwtvXbmB1jz3Jhf5","title":"KID SHOW: PAPER SPINDLE + WHALES","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2013_03/KID_EDU_HNCP__VN_33613_09c71f3c-18b3-4f11-a9d3-da787ee64c9e.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2013_03/KID_EDU_HNCP__VN_33613_09c71f3c-18b3-4f11-a9d3-da787ee64c9e.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T19:04:00Z","end":"2025-01-18T19:40:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T19:45:00Z","end":"2025-01-21T19:04:00Z"}],"params":{"start":"2025-01-18T19:04:00Z","end":"2025-01-18T19:40:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"ybcTvilT7HBvdzZOr7K906FJdhyM3yegXplHrM0Y","title":"Daniel Tiger’s neighbourhood, Ep01","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22__2674229_38bb66c2-3917-4c13-9c83-d5e2e7fd62ff.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22__2674229_38bb66c2-3917-4c13-9c83-d5e2e7fd62ff.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T19:40:00Z","end":"2025-01-18T19:51:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T19:56:00Z","end":"2025-01-21T19:40:00Z"}],"params":{"start":"2025-01-18T19:40:00Z","end":"2025-01-18T19:51:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"GDmjH-QCVNmpGUPLh1XMjTHnLomn5jh3-xkvQPrT","title":"Daniel Tiger’s neighbourhood, Ep02","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2674230_b69dbc80-038e-4a40-ab91-ae3f1fcd3ef3.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2674230_b69dbc80-038e-4a40-ab91-ae3f1fcd3ef3.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T19:51:00Z","end":"2025-01-18T20:01:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T20:06:00Z","end":"2025-01-21T19:51:00Z"}],"params":{"start":"2025-01-18T19:51:00Z","end":"2025-01-18T20:01:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"ybzx2QsEEEj3e6iiRTqfi0nbt5HXQD2lvdEl9NI2","title":"Daniel Tiger’s neighbourhood, Ep03","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2674231_45b2cca3-499b-45d1-84b4-fede7bfc3d0c.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2674231_45b2cca3-499b-45d1-84b4-fede7bfc3d0c.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T20:01:00Z","end":"2025-01-18T20:12:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T20:17:00Z","end":"2025-01-21T20:01:00Z"}],"params":{"start":"2025-01-18T20:01:00Z","end":"2025-01-18T20:12:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"78dSTREAvtD25Ex2YAmHKKshVhgq3M5WSatuW5MQ","title":"Daniel Tiger’s neighbourhood, Ep04","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2674290_b3ecc44b-7e9e-4bd1-a6fa-73b0d2756ae2.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2674290_b3ecc44b-7e9e-4bd1-a6fa-73b0d2756ae2.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T20:12:00Z","end":"2025-01-18T20:23:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T20:28:00Z","end":"2025-01-21T20:12:00Z"}],"params":{"start":"2025-01-18T20:12:00Z","end":"2025-01-18T20:23:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"304LFh8UiAgvYkQfdLuaNR9BAVQpz0DLmiPchm3y","title":"Daniel Tiger’s neighbourhood, Ep05","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2674291_0caa5c45-aebe-4f8e-909c-c11e5e326a08.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2022_05/KID_CAR_22_2674291_0caa5c45-aebe-4f8e-909c-c11e5e326a08.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T20:23:00Z","end":"2025-01-18T20:35:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T20:40:00Z","end":"2025-01-21T20:23:00Z"}],"params":{"start":"2025-01-18T20:23:00Z","end":"2025-01-18T20:35:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"-hzOCMeW88I6FM2pXoGlz-gS9WiDp8f2N51HJW2v","title":"KID SHOW: FIREBALL PICTURE - MOON PICTURE","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2012_02/KID_EDU_HNCP__VN_19958_4488a4d0-5ac5-4cf2-9dc3-64d8a43d1c97.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2012_02/KID_EDU_HNCP__VN_19958_4488a4d0-5ac5-4cf2-9dc3-64d8a43d1c97.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T20:35:00Z","end":"2025-01-18T20:59:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T21:04:00Z","end":"2025-01-21T20:35:00Z"}],"params":{"start":"2025-01-18T20:35:00Z","end":"2025-01-18T20:59:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}},{"type":"EPG","id":"to3xkgCXPVeb2C5s-DUeYIhStOvIgIGTfAxAkChO","title":"KID SHOW: BUG SHAPE BOOKMARK - WOODEATER PAPERWEIGHT","images":[{"type":"po","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2012_02/KID_EDU_HNCP__VN_20200_9d92b5d2-02da-49ac-969e-4b20aad8ccec.jpg&orientation=portrait"},{"type":"la","size":"au","url":"https://img.kplus.vn/images?filename=Media/HDVN/2012_02/KID_EDU_HNCP__VN_20200_9d92b5d2-02da-49ac-969e-4b20aad8ccec.jpg&orientation=landscape"}],"deals":[{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T20:59:00Z","end":"2025-01-18T21:28:00Z"},{"offers":["1","2","21","22","25","26","27","28","30"],"start":"2025-01-18T21:33:00Z","end":"2025-01-21T20:59:00Z"}],"params":{"start":"2025-01-18T20:59:00Z","end":"2025-01-18T21:28:00Z","channelId":"F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN","restart":true,"replay":true,"age":0,"genres":[{"title":"Children"}],"formats":[{"title":"Children"}],"qualities":["HD"]}}],"showNextBroadcast":true}
\ No newline at end of file
diff --git a/sites/xem.kplus.vn/__data__/no_content.json b/sites/xem.kplus.vn/__data__/no_content.json
new file mode 100644
index 00000000..31087389
--- /dev/null
+++ b/sites/xem.kplus.vn/__data__/no_content.json
@@ -0,0 +1 @@
+{"Message":"Invalid query"}
\ No newline at end of file
diff --git a/sites/xem.kplus.vn/__data__/session.json b/sites/xem.kplus.vn/__data__/session.json
new file mode 100644
index 00000000..8dff2d06
--- /dev/null
+++ b/sites/xem.kplus.vn/__data__/session.json
@@ -0,0 +1 @@
+{"language":"en_US","userName":"y1Kq52eeNaO-Kq_q1zct6w","userLogin":"y1Kq52eeNaO-Kq_q1zct6w@vstv.solocoo.tv","params":{"FPData.FPIsAliveUrl":"https:\/\/fp.kplus.vn\/api\/fp\/isalivesg","User.Status":"sg.ui.sso.user.status.anonymous","FPData.FPKey":"uZnqUXcx96ZpSOry9oxAFJp83MK4GHgEVre6nCsGDM0=","FPData.FPKeyGenDate":1486305098,"FPData.FPTimeInterval":120},"demo":true,"countryCode":"VN","communityName":"VSTV","brandName":"K+","consent":false,"ssoToken":"eyJrZXkiOiJ2c3R2IiwiYWxnIjoiZGlyIiwiZW5jIjoiQTEyOENCQy1IUzI1NiJ9..4iiGNAPVdVI3F6pi_XrTMA.VL3zg6XsqkNGPpbSzCUp-mrNj0iGRUJFrka_yaQlQOncczgVCaZErKPRRg0lJmvcOcI7no_odo8vK5t-qb-Ad3lNo0PamQ8tyMB61exMG7I4DMI1obN4H13pe2s5G4V5SYuLWzRaiMfJ_mg-6D-F7089TVFvG8Ic2g5btAbHadxh8xlCsngHLKjVggxZ9QN7pf1pLbffcr3-B6Kty9qXHHK2abl5Mr4e7C5pT0smAoMnk4Zbi5rdHgrM9377voeA3rDmEAeKlNxgGrKDYxZPrKqUSVD3jZrFfvLS90ymDyUz05UdtEuNTbLoroFUstEDabYXEnBqa8CDif3db7pQOm1vRGu273rx3I3Q6NrvDRc7y5MMgwqkZfkAB1R1EEBCo9YKh1z3yzGWIjK2zqhp2L60JM9xQbxWyUrOkJunPBRcjc5zvlBGc3uzVxjmr9DXNrRru62eowsKzW4GVncSirUG2-Wp8T_4-lgCdB4cF64.tH0F17MobUCKVlAPjNkpCA","userId":"c29e8d02-b3e2-79ef-1cfd-efbc55f5de82","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0di5zb2xvY29vLmF1dGgiOnsicyI6Inc0MDhhMGViMC1kNTBmLTExZWYtYWZmYS1hZjk3NzViODM4YWQiLCJ1IjoiQW8yZXd1S3o3M2tjX2UtOFZmWGVnZyIsImwiOiJlbl9VUyIsImQiOiJQQyIsImRtIjoiQ2hyb21lIiwib20iOiJPIiwiYyI6ImJ6bXZPVEFOM05qdzZadjYtYnZveThwbnMwNHBtbTdxeG9QOUVwaVNQVzAiLCJzdCI6ImZ1bGwiLCJnIjoiZXlKaWNpSTZJblp6ZEhZaUxDSjFjQ0k2SW1Od2FTSXNJbkIwSWpwbVlXeHpaU3dpWkdVaU9pSmljbUZ1WkUxaGNIQnBibWNpTENKa1lpSTZabUZzYzJWOSIsImYiOjYsImIiOiJ2c3R2In0sIm5iZiI6MTczNzE0NTk1NCwiZXhwIjoxNzM3MTYzNzg0LCJpYXQiOjE3MzcxNDU5NTQsImF1ZCI6ImNwaSJ9.25av5gdR38FW0SmnzNiE4EV1D4Gozox2Wgvoh7QKZaM"}
\ No newline at end of file
diff --git a/sites/xem.kplus.vn/readme.md b/sites/xem.kplus.vn/readme.md
new file mode 100644
index 00000000..df8d9eaf
--- /dev/null
+++ b/sites/xem.kplus.vn/readme.md
@@ -0,0 +1,21 @@
+# xem.kplus.vn
+
+https://xem.kplus.vn/
+
+### Download the guide
+
+```sh
+npm run grab --- --site=xem.kplus.vn
+```
+
+### Update channel list
+
+```sh
+npm run channels:parse --- --config=./sites/xem.kplus.vn/xem.kplus.vn.config.js --output=./sites/xem.kplus.vn/xem.kplus.vn.channels.xml
+```
+
+### Test
+
+```sh
+npm test --- xem.kplus.vn
+```
diff --git a/sites/xem.kplus.vn/xem.kplus.vn.channels.xml b/sites/xem.kplus.vn/xem.kplus.vn.channels.xml
new file mode 100644
index 00000000..b8a21f15
--- /dev/null
+++ b/sites/xem.kplus.vn/xem.kplus.vn.channels.xml
@@ -0,0 +1,85 @@
+
+
+ HAU GIANG
+ Quoc Phong
+ BINH PHUOC 1
+ On Football
+ VTV2
+ HTV9
+ HA TINH
+ VTV9
+ VTV4
+ VINH PHUC
+ NHK WORLD
+ THANH HOA
+ ON SPORTS+
+ vstv.channels&vod.nav.sctv14.logo
+ Cinemax
+ ON ECHANNEL
+ SON LA
+ VTV5
+ BINH THUAN
+ DA NANG1
+ KBS World
+ QUANG NAM
+ VTV8
+ VTV3
+ THAI NGUYEN1
+ NGHE AN
+ DAK LAK
+ VUNG TAU
+ HTV2
+ TV5MONDE
+ FRANCE24 ENGLISH
+ QTV1
+ ON V FAMILY
+ On Sports
+ HUE
+ SCTV9
+ THVL4
+ ON Vie Dramas
+ QTV3
+ THVL2
+ ON VieGiaiTri
+ LAO CAI
+ FRANCE24 FRENCH
+ DONG NAI2
+ TAY NINH
+ HAI PHONG
+ ON SPORTS NEWS
+ LAM DONG
+ HTVC Thuần Việt
+ DONG NAI1
+ ON BIBI
+ SCTV PTH
+ KHANH HOA
+ HTV7
+ DW
+ BAC NINH
+ BAC LIEU
+ BINH THUAN -BTV6
+ THVL1
+ BINH DINH
+ THVL3
+ ON MUSIC
+ HBO
+ VTVCanTho
+ HA NOI1
+ ANTV
+ ON PHIMVIET
+ HTV3
+ ON INFOTV
+ ON GOLF
+ VTV1
+ LONG AN
+ ON STYLE
+ HTV TT
+ HA GIANG
+ VTV7
+ ON O2TV
+ K+SPORT1
+ K+SPORT2
+ K+CINE
+ K+ACTION
+ K+KIDS
+
diff --git a/sites/xem.kplus.vn/xem.kplus.vn.config.js b/sites/xem.kplus.vn/xem.kplus.vn.config.js
new file mode 100644
index 00000000..aae7cf4c
--- /dev/null
+++ b/sites/xem.kplus.vn/xem.kplus.vn.config.js
@@ -0,0 +1,144 @@
+const dayjs = require('dayjs')
+const axios = require('axios')
+const utc = require('dayjs/plugin/utc')
+const timezone = require('dayjs/plugin/timezone')
+const customParseFormat = require('dayjs/plugin/customParseFormat')
+const doFetch = require('@ntlab/sfetch')
+
+dayjs.extend(utc)
+dayjs.extend(timezone)
+dayjs.extend(customParseFormat)
+
+let session
+
+module.exports = {
+ site: 'xem.kplus.vn',
+ days: 2,
+ url({ channel, date }) {
+ return `https://tvapi-sgn.solocoo.tv/v1/assets?query=schedule,forrelated,${
+ channel.site_id
+ }&from=${date.format('YYYY-MM-DDTHH:mm:ss[Z]')}&limit=1000`
+ },
+ request: {
+ async headers() {
+ if (!session) {
+ session = await loadSessionDetails()
+ if (!session || !session.token) return null
+ }
+
+ return {
+ authorization: `Bearer ${session.token}`
+ }
+ }
+ },
+ parser: function ({ content, date }) {
+ let programs = []
+ const items = parseItems(content, date)
+ items.forEach(item => {
+ programs.push({
+ title: item.title,
+ categories: parseCategories(item),
+ images: parseImages(item),
+ start: parseStart(item),
+ stop: parseStop(item)
+ })
+ })
+
+ return programs
+ },
+ async channels() {
+ const session = await loadSessionDetails()
+ if (!session || !session.token) throw new Error('The session token is missing')
+
+ const groups = [
+ 'Channels_Kplus',
+ 'Channels_VTV',
+ 'Channels_VTVcab',
+ 'Channels_Kênh Quốc Tế',
+ 'Channels_SCTV',
+ 'Channels_HTV-HTVC',
+ 'Channels_THVL',
+ 'Channels_Kênh Thiết Yếu',
+ 'Channels_Kênh Địa Phương'
+ ]
+
+ const queue = groups.map(group => ({
+ url: `https://tvapi-sgn.solocoo.tv/v1/assets?query=nav,${group}&limit=100`,
+ params: {
+ headers: {
+ authorization: `Bearer ${session.token}`
+ }
+ }
+ }))
+
+ let channels = []
+ await doFetch(queue, (url, data) => {
+ data.assets.forEach(channel => {
+ channels.push({
+ lang: 'vi',
+ name: channel.params.internalTitle.replace('Channels_', ''),
+ site_id: channel.params.params.id
+ })
+ })
+ })
+
+ return channels
+ }
+}
+
+function parseCategories(item) {
+ return Array.isArray(item?.params?.genres) ? item.params.genres.map(i => i.title) : []
+}
+
+function parseImages(item) {
+ return Array.isArray(item?.images)
+ ? item.images
+ .filter(i => i.url.indexOf('orientation=landscape') > 0)
+ .map(i => `${i.url}&w=460&h=260`)
+ : []
+}
+
+function parseStart(item) {
+ return item?.params?.start ? dayjs.utc(item.params.start, 'YYYY-MM-DDTHH:mm:ss[Z]') : null
+}
+
+function parseStop(item) {
+ return item?.params?.end ? dayjs.utc(item.params.end, 'YYYY-MM-DDTHH:mm:ss[Z]') : null
+}
+
+function parseItems(content, date) {
+ try {
+ const data = JSON.parse(content)
+ if (!data || !Array.isArray(data.assets)) return []
+
+ return data.assets.filter(
+ p => p?.params?.start && date.isSame(dayjs.utc(p.params.start, 'YYYY-MM-DDTHH:mm:ss[Z]'), 'd')
+ )
+ } catch (err) {
+ console.log(err)
+ return []
+ }
+}
+
+function loadSessionDetails() {
+ return axios
+ .post('https://tvapi-sgn.solocoo.tv/v1/session', {
+ ssoToken:
+ 'eyJhbGciOiJkaXIiLCJrZXkiOiJ2c3R2IiwiZW5jIjoiQTEyOENCQy1IUzI1NiJ9..6jMKWv5bSqODWOWLmeERqw._WcKmMW2ij3yPJkhFllQHgXOkW7powvzT-5p6G4_jjYa8vzJybmHu_1CwIEb_s2hVOyaNDi6M-NVLNY9CaNU3aSC-ojZ4UoQ7QLRTFWP-2uY-mL5IgJtL7Xknus5blHJbR8B-xaOODXIJh8PneZORmPHa5EHhs1vOmqpGb1COZwqlw_WFbGT9EsFq6W8fsYH3O5cUqec608Uad-wK59OQIJyofZJwrb6VTthmwwIDxX6Dn-kyYssfdXvPF_BXu5A-e2MFOsdzvMjENdq0FHCk-b9OojzENR6S-JEtSTrZHrgSfHsqb1DwVbtuaetFlV-A3-gxyqqHH7QIvkRM38StNMAp_q8TUauhluwKK3nuXbgogiQ9d9Kc9s7WGoBPOVHsZ4w6wJ9fDBIyhApOJUAdEINi7dLpe1pTBBk6ZA504PVyQ0d6DtdhJhkbT6I88wwxz2U6sF5tInZBcdyZzCa1KKHWQuonTJ4IPcILGQFuzo.lhVv2QaTOaxTS9F4Ht2L3A',
+ osVersion: 'Windows 10',
+ deviceModel: 'Chrome',
+ deviceType: 'PC',
+ deviceSerial: 'w408a0eb0-d50f-11ef-affa-af9775b838ad',
+ deviceOem: 'Chrome',
+ devicePrettyName: 'Chrome 128.0.0.0',
+ appVersion: '12.1',
+ language: 'en_US',
+ brand: 'vstv',
+ memberId: '0',
+ featureLevel: 6,
+ provisionData:
+ 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3MzcxNDU4MjYsImljIjp0cnVlLCJ1cCI6ImNwaSIsImJyIjoidnN0diIsImRzIjoidzQwOGEwZWIwLWQ1MGYtMTFlZi1hZmZhLWFmOTc3NWI4MzhhZCIsImRlIjoiYnJhbmRNYXBwaW5nIn0.Ou6yh5qXtlK4NhyWHciVszARr98PLL1TkaXKpqQtub8'
+ })
+ .then(r => r.data)
+ .catch(console.log)
+}
diff --git a/sites/xem.kplus.vn/xem.kplus.vn.test.js b/sites/xem.kplus.vn/xem.kplus.vn.test.js
new file mode 100644
index 00000000..d5bd2bfd
--- /dev/null
+++ b/sites/xem.kplus.vn/xem.kplus.vn.test.js
@@ -0,0 +1,77 @@
+const { parser, url, request } = require('./xem.kplus.vn.config.js')
+const axios = require('axios')
+const fs = require('fs')
+const path = require('path')
+const dayjs = require('dayjs')
+const utc = require('dayjs/plugin/utc')
+const customParseFormat = require('dayjs/plugin/customParseFormat')
+dayjs.extend(customParseFormat)
+dayjs.extend(utc)
+
+jest.mock('axios')
+
+axios.post.mockImplementation(url => {
+ if (url === 'https://tvapi-sgn.solocoo.tv/v1/session') {
+ return Promise.resolve({
+ data: JSON.parse(fs.readFileSync(path.resolve(__dirname, '__data__/session.json')))
+ })
+ } else {
+ return Promise.resolve({
+ data: {}
+ })
+ }
+})
+
+const date = dayjs.utc('2025-01-18', 'YYYY-MM-DD').startOf('d')
+const channel = {
+ site_id: 'F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN',
+ xmltv_id: 'KPlusKids.vn'
+}
+
+it('can generate valid url', () => {
+ expect(url({ channel, date })).toBe(
+ 'https://tvapi-sgn.solocoo.tv/v1/assets?query=schedule,forrelated,F31WvdXdwYNOInUaTeIC-ixsLQVsrSNgUczDSFCN&from=2025-01-18T00:00:00Z&limit=1000'
+ )
+})
+
+it('can generate valid request headers', async () => {
+ expect(await request.headers()).toMatchObject({
+ authorization:
+ 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0di5zb2xvY29vLmF1dGgiOnsicyI6Inc0MDhhMGViMC1kNTBmLTExZWYtYWZmYS1hZjk3NzViODM4YWQiLCJ1IjoiQW8yZXd1S3o3M2tjX2UtOFZmWGVnZyIsImwiOiJlbl9VUyIsImQiOiJQQyIsImRtIjoiQ2hyb21lIiwib20iOiJPIiwiYyI6ImJ6bXZPVEFOM05qdzZadjYtYnZveThwbnMwNHBtbTdxeG9QOUVwaVNQVzAiLCJzdCI6ImZ1bGwiLCJnIjoiZXlKaWNpSTZJblp6ZEhZaUxDSjFjQ0k2SW1Od2FTSXNJbkIwSWpwbVlXeHpaU3dpWkdVaU9pSmljbUZ1WkUxaGNIQnBibWNpTENKa1lpSTZabUZzYzJWOSIsImYiOjYsImIiOiJ2c3R2In0sIm5iZiI6MTczNzE0NTk1NCwiZXhwIjoxNzM3MTYzNzg0LCJpYXQiOjE3MzcxNDU5NTQsImF1ZCI6ImNwaSJ9.25av5gdR38FW0SmnzNiE4EV1D4Gozox2Wgvoh7QKZaM'
+ })
+})
+
+it('can parse response', () => {
+ const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'))
+ let results = parser({ content, date }).map(p => {
+ p.start = p.start.toJSON()
+ p.stop = p.stop.toJSON()
+ return p
+ })
+
+ expect(results.length).toBe(100)
+ expect(results[0]).toMatchObject({
+ start: '2025-01-18T00:03:00.000Z',
+ stop: '2025-01-18T00:10:00.000Z',
+ title: 'Masha and the Bear S1, Ep01',
+ categories: ['Children'],
+ images: [
+ 'https://img.kplus.vn/images?filename=Media/HDVN/2021_11/KID_CAR_21__2660472_0a13b965-0b37-4552-99d5-a5998ca20156.jpg&orientation=landscape&w=460&h=260'
+ ]
+ })
+ expect(results[99]).toMatchObject({
+ start: '2025-01-18T20:59:00.000Z',
+ stop: '2025-01-18T21:28:00.000Z',
+ title: 'KID SHOW: BUG SHAPE BOOKMARK - WOODEATER PAPERWEIGHT',
+ categories: ['Children'],
+ images: [
+ 'https://img.kplus.vn/images?filename=Media/HDVN/2012_02/KID_EDU_HNCP__VN_20200_9d92b5d2-02da-49ac-969e-4b20aad8ccec.jpg&orientation=landscape&w=460&h=260'
+ ]
+ })
+})
+
+it('can handle empty guide', () => {
+ const content = fs.readFileSync(path.resolve(__dirname, '__data__/no_content.json'))
+ const result = parser({ content, channel, date })
+ expect(result).toMatchObject([])
+})
diff --git a/sites/xumo.tv/xumo.tv.channels.xml b/sites/xumo.tv/xumo.tv.channels.xml
index 4a35a77b..9fe5a125 100644
--- a/sites/xumo.tv/xumo.tv.channels.xml
+++ b/sites/xumo.tv/xumo.tv.channels.xml
@@ -321,7 +321,7 @@
Architectural Digest
BBC Food
Bloomberg Originals
-
CBS News
+
CBS News
Court TV
Dark Matter TV
Degrassi
@@ -331,7 +331,7 @@
FILMEX CLASICO
Food52
Fox Weather
-
GustoTV
+
GustoTV
LiveNOW from FOX
Love Nature
Midsomer Murders
diff --git a/sites/zap.co.ao/zap.co.ao.channels.xml b/sites/zap.co.ao/zap.co.ao.channels.xml
index 997949ec..fd7d86e9 100644
--- a/sites/zap.co.ao/zap.co.ao.channels.xml
+++ b/sites/zap.co.ao/zap.co.ao.channels.xml
@@ -50,8 +50,8 @@
DIZI
24 Kitchen
A Bola TV
-
Africa News
-
AfroMusic
+
Africa News
+
AfroMusic
Aljazeera Arabic
Al Jazeera English
AXN Movies
diff --git a/sites/ziggogo.tv/ziggogo.tv.channels.xml b/sites/ziggogo.tv/ziggogo.tv.channels.xml
index 0efe2618..c0d087a0 100644
--- a/sites/ziggogo.tv/ziggogo.tv.channels.xml
+++ b/sites/ziggogo.tv/ziggogo.tv.channels.xml
@@ -39,7 +39,7 @@
Eurosport 2
Fashion TV HD
Film1 Family
-
STAR Channel
+
STAR Channel
ID
MTV 80s
MTV 90s
@@ -87,10 +87,10 @@
192TV
Animal Planet
AT5
-
VRT CANVAS
+
VRT CANVAS
Discovery
Disney Channel
-
VRT 1
+
VRT 1
E!
ESPN 2
ESPN 3
diff --git a/sites/zuragt.mn/zuragt.mn.channels.xml b/sites/zuragt.mn/zuragt.mn.channels.xml
index 53f4c5f2..b3f1bd87 100644
--- a/sites/zuragt.mn/zuragt.mn.channels.xml
+++ b/sites/zuragt.mn/zuragt.mn.channels.xml
@@ -16,7 +16,7 @@
Central TV
Dream
Eco Channel
-
Боловсрол ТВ
+
Боловсрол ТВ
ETV HD
МҮОНТ
MNB Sport
diff --git a/tests/__data__/expected/sites/channels-editor/channels-editor.channels.xml b/tests/__data__/expected/sites/channels-edit/example.com.channels.xml
similarity index 100%
rename from tests/__data__/expected/sites/channels-editor/channels-editor.channels.xml
rename to tests/__data__/expected/sites/channels-edit/example.com.channels.xml
diff --git a/tests/__data__/expected/sites/sites-init/example.com.config.js b/tests/__data__/expected/sites/sites-init/example.com.config.js
new file mode 100644
index 00000000..472b22e9
--- /dev/null
+++ b/tests/__data__/expected/sites/sites-init/example.com.config.js
@@ -0,0 +1,16 @@
+module.exports = {
+ site: 'example.com',
+ url({ channel, date }) {
+ return `https://example.com/api/${channel.site_id}/${date.format('YYYY-MM-DD')}`
+ },
+ parser({ content }) {
+ try {
+ return JSON.parse(content)
+ } catch {
+ return []
+ }
+ },
+ channels() {
+ return []
+ }
+}
diff --git a/tests/__data__/expected/sites/sites-init/example.com.test.js b/tests/__data__/expected/sites/sites-init/example.com.test.js
new file mode 100644
index 00000000..37d2d7b3
--- /dev/null
+++ b/tests/__data__/expected/sites/sites-init/example.com.test.js
@@ -0,0 +1,42 @@
+const { parser, url } = require('./example.com.config.js')
+const dayjs = require('dayjs')
+const utc = require('dayjs/plugin/utc')
+const customParseFormat = require('dayjs/plugin/customParseFormat')
+dayjs.extend(customParseFormat)
+dayjs.extend(utc)
+
+const date = dayjs.utc('2025-01-12', 'YYYY-MM-DD').startOf('d')
+const channel = { site_id: 'bbc1', xmltv_id: 'BBCOne.uk' }
+
+it('can generate valid url', () => {
+ expect(url({ channel, date })).toBe('https://example.com/api/bbc1/2025-01-12')
+})
+
+it('can parse response', () => {
+ const content =
+ '[{"title":"Program 1","start":"2025-01-12T00:00:00.000Z","stop":"2025-01-12T00:30:00.000Z"},{"title":"Program 2","start":"2025-01-12T00:30:00.000Z","stop":"2025-01-12T01:00:00.000Z"}]'
+
+ const results = parser({ content })
+
+ expect(results.length).toBe(2)
+ expect(results[0]).toMatchObject({
+ title: 'Program 1',
+ start: '2025-01-12T00:00:00.000Z',
+ stop: '2025-01-12T00:30:00.000Z'
+ })
+ expect(results[1]).toMatchObject({
+ title: 'Program 2',
+ start: '2025-01-12T00:30:00.000Z',
+ stop: '2025-01-12T01:00:00.000Z'
+ })
+})
+
+it('can handle empty guide', () => {
+ const result = parser({
+ date,
+ channel,
+ content: ''
+ })
+
+ expect(result).toMatchObject([])
+})
diff --git a/tests/__data__/expected/sites/sites-init/readme.md b/tests/__data__/expected/sites/sites-init/readme.md
new file mode 100644
index 00000000..67eeb317
--- /dev/null
+++ b/tests/__data__/expected/sites/sites-init/readme.md
@@ -0,0 +1,21 @@
+# example.com
+
+https://example.com
+
+### Download the guide
+
+```sh
+npm run grab --- --site=example.com
+```
+
+### Update channel list
+
+```sh
+npm run channels:parse --- --config=./sites/example.com/example.com.config.js --output=./sites/example.com/example.com.channels.xml
+```
+
+### Test
+
+```sh
+npm test --- example.com
+```
diff --git a/tests/__data__/input/channels-editor/channels-editor.channels.xml b/tests/__data__/input/channels-edit/example.com.channels.xml
similarity index 100%
rename from tests/__data__/input/channels-editor/channels-editor.channels.xml
rename to tests/__data__/input/channels-edit/example.com.channels.xml
diff --git a/tests/__data__/input/channels-validate/duplicate.channels.xml b/tests/__data__/input/channels-validate/duplicate.channels.xml
index 91353428..3415cd06 100644
--- a/tests/__data__/input/channels-validate/duplicate.channels.xml
+++ b/tests/__data__/input/channels-validate/duplicate.channels.xml
@@ -1,5 +1,5 @@
- Bravo
+ Bravo 2
Bravo
\ No newline at end of file
diff --git a/tests/commands/channels/editor.test.ts b/tests/commands/channels/edit.test.ts
similarity index 51%
rename from tests/commands/channels/editor.test.ts
rename to tests/commands/channels/edit.test.ts
index 0c001df5..b2894b82 100644
--- a/tests/commands/channels/editor.test.ts
+++ b/tests/commands/channels/edit.test.ts
@@ -16,36 +16,39 @@ if (os.platform() === 'win32') {
beforeEach(() => {
fs.emptyDirSync('tests/__data__/output')
fs.copySync(
- 'tests/__data__/input/channels-editor/channels-editor.channels.xml',
+ 'tests/__data__/input/channels-edit/example.com.channels.xml',
'tests/__data__/output/channels.xml'
)
})
-describe('channels:editor', () => {
+describe('channels:edit', () => {
it('shows list of options for a channel', () => {
+ const cmd = `${ENV_VAR} npm run channels:edit --- tests/__data__/output/channels.xml`
try {
- const cmd = `${ENV_VAR} npm run channels:editor --- tests/__data__/output/channels.xml`
const stdout = execSync(cmd, { encoding: 'utf8' })
if (process.env.DEBUG === 'true') console.log(cmd, stdout)
- } catch (error) {
- if (process.env.DEBUG === 'true') console.log(cmd, error)
- expect((error as ExecError).status).toBe(1)
- expect((error as ExecError).stdout).toContain('CNN International | CNNInternational.us [new]')
- expect((error as ExecError).stdout).toContain(
- 'CNN International Europe | CNNInternationalEurope.us'
- )
- expect((error as ExecError).stdout).toContain('Overwrite')
- expect((error as ExecError).stdout).toContain('Skip')
- expect((error as ExecError).stdout).toContain(
- "File 'tests/__data__/output/channels.xml' successfully saved"
- )
+ checkStdout(stdout)
expect(content('tests/__data__/output/channels.xml')).toEqual(
- content('tests/__data__/expected/sites/channels-editor/channels-editor.channels.xml')
+ content('tests/__data__/expected/sites/channels-edit/example.com.channels.xml')
+ )
+ } catch (error) {
+ // NOTE: for Windows only
+ if (process.env.DEBUG === 'true') console.log(cmd, error)
+ checkStdout((error as ExecError).stdout)
+ expect(content('tests/__data__/output/channels.xml')).toEqual(
+ content('tests/__data__/expected/sites/channels-edit/example.com.channels.xml')
)
}
})
})
+function checkStdout(stdout: string) {
+ expect(stdout).toContain('CNN International Europe | CNNInternationalEurope.us')
+ expect(stdout).toContain('Type...')
+ expect(stdout).toContain('Skip')
+ expect(stdout).toContain("File 'tests/__data__/output/channels.xml' successfully saved")
+}
+
function content(filepath: string) {
return fs.readFileSync(pathToFileURL(filepath), {
encoding: 'utf8'
diff --git a/tests/commands/channels/validate.test.ts b/tests/commands/channels/validate.test.ts
index d4d3b039..60aa1fc2 100644
--- a/tests/commands/channels/validate.test.ts
+++ b/tests/commands/channels/validate.test.ts
@@ -14,7 +14,7 @@ if (os.platform() === 'win32') {
describe('channels:validate', () => {
it('will show a message if the file contains a duplicate', () => {
try {
- const cmd = `${ENV_VAR} npm run channels:validate --- --channels=tests/__data__/input/channels-validate/duplicate.channels.xml`
+ const cmd = `${ENV_VAR} npm run channels:validate --- tests/__data__/input/channels-validate/duplicate.channels.xml`
const stdout = execSync(cmd, { encoding: 'utf8' })
if (process.env.DEBUG === 'true') console.log(cmd, stdout)
process.exit(1)
@@ -34,7 +34,7 @@ describe('channels:validate', () => {
it('will show a message if the file contains a channel with wrong xmltv_id', () => {
try {
- const cmd = `${ENV_VAR} npm run channels:validate --- --channels=tests/__data__/input/channels-validate/wrong_xmltv_id.channels.xml`
+ const cmd = `${ENV_VAR} npm run channels:validate --- tests/__data__/input/channels-validate/wrong_xmltv_id.channels.xml`
const stdout = execSync(cmd, { encoding: 'utf8' })
if (process.env.DEBUG === 'true') console.log(cmd, stdout)
process.exit(1)
diff --git a/tests/commands/sites/init.test.ts b/tests/commands/sites/init.test.ts
new file mode 100644
index 00000000..091948f0
--- /dev/null
+++ b/tests/commands/sites/init.test.ts
@@ -0,0 +1,45 @@
+import { execSync } from 'child_process'
+import fs from 'fs-extra'
+import os from 'os'
+import { pathToFileURL } from 'node:url'
+
+let ENV_VAR = 'SITES_DIR=tests/__data__/output/sites'
+if (os.platform() === 'win32') {
+ ENV_VAR = 'SET "SITES_DIR=tests/__data__/output/sites" &&'
+}
+
+beforeEach(() => {
+ fs.emptyDirSync('tests/__data__/output')
+ fs.mkdirSync('tests/__data__/output/sites')
+})
+
+it('can create new site config from template', () => {
+ const cmd = `${ENV_VAR} npm run sites:init --- example.com`
+
+ const stdout = execSync(cmd, { encoding: 'utf8' })
+ if (process.env.DEBUG === 'true') console.log(cmd, stdout)
+
+ expect(exists('tests/__data__/output/sites/example.com')).toBe(true)
+ expect(exists('tests/__data__/output/sites/example.com/example.com.test.js')).toBe(true)
+ expect(exists('tests/__data__/output/sites/example.com/example.com.config.js')).toBe(true)
+ expect(exists('tests/__data__/output/sites/example.com/readme.md')).toBe(true)
+ expect(content('tests/__data__/output/sites/example.com/example.com.test.js')).toEqual(
+ content('tests/__data__/expected/sites/sites-init/example.com.test.js')
+ )
+ expect(content('tests/__data__/output/sites/example.com/example.com.config.js')).toEqual(
+ content('tests/__data__/expected/sites/sites-init/example.com.config.js')
+ )
+ expect(content('tests/__data__/output/sites/example.com/readme.md')).toEqual(
+ content('tests/__data__/expected/sites/sites-init/readme.md')
+ )
+})
+
+function content(filepath: string) {
+ return fs.readFileSync(pathToFileURL(filepath), {
+ encoding: 'utf8'
+ })
+}
+
+function exists(filepath: string) {
+ return fs.existsSync(pathToFileURL(filepath))
+}
diff --git a/yarn.lock b/yarn.lock
index bd787473..bbda18db 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -396,10 +396,10 @@
dependencies:
levn "^0.4.1"
-"@freearhey/core@^0.3.1":
- version "0.3.1"
- resolved "https://registry.npmjs.org/@freearhey/core/-/core-0.3.1.tgz"
- integrity sha512-9n4p4DcRKWz4zU6XluDEGKxiFRwlr+Nhn6DJg5tCG6Cov/yvN/TfGACRGCmJKXkVvf4TSKxIE3hZSKEOMRZI2w==
+"@freearhey/core@^0.5.0":
+ version "0.5.0"
+ resolved "https://registry.npmjs.org/@freearhey/core/-/core-0.5.0.tgz"
+ integrity sha512-FcA5Pv9RvFvLYAwNmD/2vlSR49Rx+kihJ+xbIUgIACHY6lBUptfbNznm00DQoUyWRJG/cfT3dkYCwIxSUsdP+w==
dependencies:
"@types/fs-extra" "^11.0.2"
"@types/lodash" "^4.14.198"
@@ -412,15 +412,9 @@
node-gzip "^1.1.2"
normalize-url "^6.1.0"
object-treeify "^2.1.1"
+ run-script-os "^1.1.6"
signale "^1.4.0"
-"@freearhey/search-js@^0.1.1":
- version "0.1.1"
- resolved "https://registry.npmjs.org/@freearhey/search-js/-/search-js-0.1.1.tgz"
- integrity sha512-nmXhqBg5lh6GxMT2g1hgmSc/pbXGw0P4ZxXaPt/cnuZYtvPHSo0CPOF65iNC9LEqvrrnLig4RFlG1dBDPNAU0g==
- dependencies:
- lodash "^4.17.21"
-
"@humanfs/core@^0.19.1":
version "0.19.1"
resolved "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz"
@@ -747,24 +741,6 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
-"@npmcli/agent@^2.0.0":
- version "2.2.2"
- resolved "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.2.tgz"
- integrity sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==
- dependencies:
- agent-base "^7.1.0"
- http-proxy-agent "^7.0.0"
- https-proxy-agent "^7.0.1"
- lru-cache "^10.0.1"
- socks-proxy-agent "^8.0.3"
-
-"@npmcli/fs@^3.1.0":
- version "3.1.1"
- resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz"
- integrity sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==
- dependencies:
- semver "^7.3.5"
-
"@ntlab/sfetch@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@ntlab/sfetch/-/sfetch-1.0.0.tgz"
@@ -1237,11 +1213,6 @@
resolved "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.36.0.tgz"
integrity sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==
-abbrev@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz"
- integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==
-
accepts@~1.3.5:
version "1.3.8"
resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz"
@@ -1265,19 +1236,11 @@ acorn-walk@^8.1.1:
resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz"
integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==
-agent-base@^7.1.0, agent-base@^7.1.2, agent-base@^7.1.3:
+agent-base@^7.1.3:
version "7.1.3"
resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz"
integrity sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==
-aggregate-error@^3.0.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz"
- integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
- dependencies:
- clean-stack "^2.0.0"
- indent-string "^4.0.0"
-
ajv@^6.12.4:
version "6.12.6"
resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
@@ -1505,14 +1468,7 @@ before-after-hook@^3.0.2:
resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz"
integrity sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==
-bindings@~1.5.0:
- version "1.5.0"
- resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz"
- integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
- dependencies:
- file-uri-to-path "1.0.0"
-
-bl@^4.0.3, bl@^4.1.0:
+bl@^4.1.0:
version "4.1.0"
resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz"
integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
@@ -1597,24 +1553,6 @@ bytes@3.0.0:
resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz"
integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==
-cacache@^18.0.0:
- version "18.0.4"
- resolved "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz"
- integrity sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==
- dependencies:
- "@npmcli/fs" "^3.1.0"
- fs-minipass "^3.0.0"
- glob "^10.2.2"
- lru-cache "^10.0.1"
- minipass "^7.0.3"
- minipass-collect "^2.0.1"
- minipass-flush "^1.0.5"
- minipass-pipeline "^1.2.4"
- p-map "^4.0.0"
- ssri "^10.0.0"
- tar "^6.1.11"
- unique-filename "^3.0.0"
-
cache-parser@^1.2.4:
version "1.2.4"
resolved "https://registry.npmjs.org/cache-parser/-/cache-parser-1.2.4.tgz"
@@ -1746,16 +1684,6 @@ cheerio@^1.0.0-rc.10, cheerio@^1.0.0-rc.12:
parse5 "^7.0.0"
parse5-htmlparser2-tree-adapter "^7.0.0"
-chownr@^1.1.1:
- version "1.1.4"
- resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz"
- integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
-
-chownr@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz"
- integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
-
ci-info@^3.2.0:
version "3.8.0"
resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz"
@@ -1766,11 +1694,6 @@ cjs-module-lexer@^1.0.0:
resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz"
integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==
-clean-stack@^2.0.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz"
- integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
-
cli-boxes@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz"
@@ -2055,7 +1978,7 @@ debug@^3.1.0:
dependencies:
ms "^2.1.1"
-debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@4:
+debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -2113,11 +2036,6 @@ delayed-stream@~1.0.0:
resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
-detect-libc@^2.0.0:
- version "2.0.3"
- resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz"
- integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==
-
detect-newline@^3.0.0:
version "3.1.0"
resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz"
@@ -2193,14 +2111,7 @@ enabled@2.0.x:
resolved "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz"
integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==
-encoding@^0.1.13:
- version "0.1.13"
- resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz"
- integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
- dependencies:
- iconv-lite "^0.6.2"
-
-end-of-stream@^1.1.0, end-of-stream@^1.4.1:
+end-of-stream@^1.1.0:
version "1.4.4"
resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz"
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
@@ -2212,11 +2123,6 @@ entities@^4.2.0, entities@^4.3.0, entities@^4.4.0:
resolved "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz"
integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==
-env-paths@^2.2.0:
- version "2.2.1"
- resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz"
- integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
-
epg-grabber@^0.37.4:
version "0.37.4"
resolved "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.37.4.tgz"
@@ -2255,11 +2161,6 @@ epg-parser@^0.3.1:
lodash "^4.17.21"
xml-js "^1.6.11"
-err-code@^2.0.2:
- version "2.0.3"
- resolved "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz"
- integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==
-
error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz"
@@ -2438,11 +2339,6 @@ exit@^0.1.2:
resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"
integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==
-expand-template@^2.0.3:
- version "2.0.3"
- resolved "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz"
- integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
-
expect@^29.0.0, expect@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz"
@@ -2454,11 +2350,6 @@ expect@^29.0.0, expect@^29.7.0:
jest-message-util "^29.7.0"
jest-util "^29.7.0"
-exponential-backoff@^3.1.1:
- version "3.1.1"
- resolved "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz"
- integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==
-
external-editor@^3.0.3:
version "3.1.0"
resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz"
@@ -2544,11 +2435,6 @@ file-entry-cache@^8.0.0:
dependencies:
flat-cache "^4.0.0"
-file-uri-to-path@1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz"
- integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
-
fill-range@^7.1.1:
version "7.1.1"
resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz"
@@ -2619,11 +2505,6 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
-fs-constants@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz"
- integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
-
fs-extra@^10.0.1:
version "10.1.0"
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz"
@@ -2642,20 +2523,6 @@ fs-extra@^11.1.1:
jsonfile "^6.0.1"
universalify "^2.0.0"
-fs-minipass@^2.0.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz"
- integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
- dependencies:
- minipass "^3.0.0"
-
-fs-minipass@^3.0.0:
- version "3.0.3"
- resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz"
- integrity sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==
- dependencies:
- minipass "^7.0.3"
-
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
@@ -2667,9 +2534,14 @@ fsevents@^2.3.2, fsevents@~2.3.3:
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
- integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
+ integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
+
+fuse.js@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz"
+ integrity sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==
gensync@^1.0.0-beta.2:
version "1.0.0-beta.2"
@@ -2705,11 +2577,6 @@ get-tsconfig@^4.7.5:
dependencies:
resolve-pkg-maps "^1.0.0"
-github-from-package@0.0.0:
- version "0.0.0"
- resolved "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz"
- integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==
-
glob-parent@^5.1.2:
version "5.1.2"
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
@@ -2724,30 +2591,6 @@ glob-parent@^6.0.2:
dependencies:
is-glob "^4.0.3"
-glob@^10.2.2:
- version "10.4.5"
- resolved "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz"
- integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==
- dependencies:
- foreground-child "^3.1.0"
- jackspeak "^3.1.2"
- minimatch "^9.0.4"
- minipass "^7.1.2"
- package-json-from-dist "^1.0.0"
- path-scurry "^1.11.1"
-
-glob@^10.3.10:
- version "10.4.5"
- resolved "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz"
- integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==
- dependencies:
- foreground-child "^3.1.0"
- jackspeak "^3.1.2"
- minimatch "^9.0.4"
- minipass "^7.1.2"
- package-json-from-dist "^1.0.0"
- path-scurry "^1.11.1"
-
glob@^10.3.4:
version "10.3.5"
resolved "https://registry.npmjs.org/glob/-/glob-10.3.5.tgz"
@@ -2803,7 +2646,7 @@ got@^11.8.2:
p-cancelable "^2.0.0"
responselike "^2.0.0"
-graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
+graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9:
version "4.2.10"
resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz"
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
@@ -2845,7 +2688,7 @@ htmlparser2@^8.0.1:
domutils "^3.0.1"
entities "^4.3.0"
-http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.1:
+http-cache-semantics@^4.0.0:
version "4.1.1"
resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz"
integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==
@@ -2857,14 +2700,6 @@ http-cookie-agent@^6.0.7, http-cookie-agent@^6.0.8:
dependencies:
agent-base "^7.1.3"
-http-proxy-agent@^7.0.0:
- version "7.0.2"
- resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz"
- integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==
- dependencies:
- agent-base "^7.1.0"
- debug "^4.3.4"
-
http2-wrapper@^1.0.0-beta.5.2:
version "1.0.3"
resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz"
@@ -2873,14 +2708,6 @@ http2-wrapper@^1.0.0-beta.5.2:
quick-lru "^5.1.1"
resolve-alpn "^1.0.0"
-https-proxy-agent@^7.0.1:
- version "7.0.6"
- resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz"
- integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==
- dependencies:
- agent-base "^7.1.2"
- debug "4"
-
human-signals@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz"
@@ -2898,13 +2725,6 @@ iconv-lite@^0.4.24:
dependencies:
safer-buffer ">= 2.1.2 < 3"
-iconv-lite@^0.6.2:
- version "0.6.3"
- resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz"
- integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
- dependencies:
- safer-buffer ">= 2.1.2 < 3.0.0"
-
ieee754@^1.1.13:
version "1.2.1"
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
@@ -2941,11 +2761,6 @@ imurmurhash@^0.1.4:
resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
-indent-string@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz"
- integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
-
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
@@ -2985,14 +2800,6 @@ inquirer@^8.2.6:
through "^2.3.6"
wrap-ansi "^6.0.1"
-ip-address@^9.0.5:
- version "9.0.5"
- resolved "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz"
- integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==
- dependencies:
- jsbn "1.1.0"
- sprintf-js "^1.1.3"
-
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
@@ -3052,11 +2859,6 @@ is-interactive@^1.0.0:
resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz"
integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==
-is-lambda@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz"
- integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==
-
is-number@^7.0.0:
version "7.0.0"
resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
@@ -3089,11 +2891,6 @@ isexe@^2.0.0:
resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
-isexe@^3.1.1:
- version "3.1.1"
- resolved "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz"
- integrity sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==
-
istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
version "3.2.0"
resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz"
@@ -3156,15 +2953,6 @@ jackspeak@^2.0.3:
optionalDependencies:
"@pkgjs/parseargs" "^0.11.0"
-jackspeak@^3.1.2:
- version "3.4.3"
- resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz"
- integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==
- dependencies:
- "@isaacs/cliui" "^8.0.2"
- optionalDependencies:
- "@pkgjs/parseargs" "^0.11.0"
-
jest-changed-files@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz"
@@ -3550,11 +3338,6 @@ js-yaml@^4.1.0:
dependencies:
argparse "^2.0.1"
-jsbn@1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz"
- integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==
-
jsesc@^2.5.1:
version "2.5.2"
resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"
@@ -3644,15 +3427,10 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
-libxmljs2@^0.35.0:
- version "0.35.0"
- resolved "https://registry.npmjs.org/libxmljs2/-/libxmljs2-0.35.0.tgz"
- integrity sha512-SpVopqn4YNydnLjkGfL6yQwzjlipmEnCCsVrD/0hQmdgsQWb5rVmSJxxjQltHIUTto29vgX+PhLjXoc+gMeABQ==
- dependencies:
- bindings "~1.5.0"
- nan "~2.20.0"
- node-gyp "^10.2.0"
- prebuild-install "^7.1.2"
+libxml2-wasm@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.npmjs.org/libxml2-wasm/-/libxml2-wasm-0.5.0.tgz"
+ integrity sha512-ANq8aMCg/+pYJv3QqgrvYzJldvm2P2V2T08303AVyzjdeCuOAOjxPUSazQj/NA2+rOcS9BMx/HTTtq1I2g8foQ==
lie@3.1.1:
version "3.1.1"
@@ -3739,11 +3517,6 @@ lowercase-keys@^2.0.0:
resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz"
integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
-lru-cache@^10.0.1:
- version "10.4.3"
- resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz"
- integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==
-
lru-cache@^10.2.0:
version "10.4.3"
resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz"
@@ -3785,24 +3558,6 @@ make-error@^1.1.1:
resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
-make-fetch-happen@^13.0.0:
- version "13.0.1"
- resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz"
- integrity sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==
- dependencies:
- "@npmcli/agent" "^2.0.0"
- cacache "^18.0.0"
- http-cache-semantics "^4.1.1"
- is-lambda "^1.0.1"
- minipass "^7.0.2"
- minipass-fetch "^3.0.0"
- minipass-flush "^1.0.5"
- minipass-pipeline "^1.2.4"
- negotiator "^0.6.3"
- proc-log "^4.2.0"
- promise-retry "^2.0.1"
- ssri "^10.0.0"
-
makeerror@1.0.12:
version "1.0.12"
resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz"
@@ -3895,80 +3650,16 @@ minimatch@^9.0.4:
dependencies:
brace-expansion "^2.0.1"
-minimist@^1.2.0, minimist@^1.2.3:
+minimist@^1.2.0:
version "1.2.6"
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz"
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
-minipass-collect@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz"
- integrity sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==
- dependencies:
- minipass "^7.0.3"
-
-minipass-fetch@^3.0.0:
- version "3.0.5"
- resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz"
- integrity sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==
- dependencies:
- minipass "^7.0.3"
- minipass-sized "^1.0.3"
- minizlib "^2.1.2"
- optionalDependencies:
- encoding "^0.1.13"
-
-minipass-flush@^1.0.5:
- version "1.0.5"
- resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz"
- integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==
- dependencies:
- minipass "^3.0.0"
-
-minipass-pipeline@^1.2.4:
- version "1.2.4"
- resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz"
- integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==
- dependencies:
- minipass "^3.0.0"
-
-minipass-sized@^1.0.3:
- version "1.0.3"
- resolved "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz"
- integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==
- dependencies:
- minipass "^3.0.0"
-
-minipass@^3.0.0:
- version "3.3.6"
- resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz"
- integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==
- dependencies:
- yallist "^4.0.0"
-
-minipass@^5.0.0, "minipass@^5.0.0 || ^6.0.2 || ^7.0.0":
+"minipass@^5.0.0 || ^6.0.2 || ^7.0.0":
version "5.0.0"
resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz"
integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
-minipass@^7.0.2:
- version "7.1.2"
- resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz"
- integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==
-
-minipass@^7.0.3, minipass@^7.1.2:
- version "7.1.2"
- resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz"
- integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==
-
-minizlib@^2.1.1, minizlib@^2.1.2:
- version "2.1.2"
- resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz"
- integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
- dependencies:
- minipass "^3.0.0"
- yallist "^4.0.0"
-
mitm@^1.3.2:
version "1.7.3"
resolved "https://registry.npmjs.org/mitm/-/mitm-1.7.3.tgz"
@@ -3976,16 +3667,6 @@ mitm@^1.3.2:
dependencies:
semver ">= 5 < 6"
-mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
- version "0.5.3"
- resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz"
- integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
-
-mkdirp@^1.0.3:
- version "1.0.4"
- resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz"
- integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-
mockdate@^3.0.5:
version "3.0.5"
resolved "https://registry.npmjs.org/mockdate/-/mockdate-3.0.5.tgz"
@@ -4011,16 +3692,6 @@ mute-stream@0.0.8:
resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz"
integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
-nan@~2.20.0:
- version "2.20.0"
- resolved "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz"
- integrity sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==
-
-napi-build-utils@^1.0.1:
- version "1.0.2"
- resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz"
- integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==
-
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
@@ -4038,18 +3709,11 @@ nedb-promises@^6.0.3:
dependencies:
"@seald-io/nedb" "^2.2.0"
-negotiator@^0.6.3, negotiator@0.6.3:
+negotiator@0.6.3:
version "0.6.3"
resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz"
integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
-node-abi@^3.3.0:
- version "3.71.0"
- resolved "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz"
- integrity sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==
- dependencies:
- semver "^7.3.5"
-
node-cleanup@^2.1.2:
version "2.1.2"
resolved "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz"
@@ -4060,22 +3724,6 @@ node-ensure@^0.0.0:
resolved "https://registry.npmjs.org/node-ensure/-/node-ensure-0.0.0.tgz"
integrity sha1-7K52QVDemYYexcgQ/V0Jaxg5Mqc=
-node-gyp@^10.2.0:
- version "10.3.1"
- resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-10.3.1.tgz"
- integrity sha512-Pp3nFHBThHzVtNY7U6JfPjvT/DTE8+o/4xKsLQtBoU+j2HLsGlhcfzflAoUreaJbNmYnX+LlLi0qjV8kpyO6xQ==
- dependencies:
- env-paths "^2.2.0"
- exponential-backoff "^3.1.1"
- glob "^10.3.10"
- graceful-fs "^4.2.6"
- make-fetch-happen "^13.0.0"
- nopt "^7.0.0"
- proc-log "^4.1.0"
- semver "^7.3.5"
- tar "^6.2.1"
- which "^4.0.0"
-
node-gzip@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/node-gzip/-/node-gzip-1.1.2.tgz"
@@ -4091,13 +3739,6 @@ node-releases@^2.0.12:
resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz"
integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==
-nopt@^7.0.0:
- version "7.2.1"
- resolved "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz"
- integrity sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==
- dependencies:
- abbrev "^2.0.0"
-
normalize-path@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
@@ -4242,13 +3883,6 @@ p-locate@^5.0.0:
dependencies:
p-limit "^3.0.2"
-p-map@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz"
- integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
- dependencies:
- aggregate-error "^3.0.0"
-
p-try@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz"
@@ -4259,11 +3893,6 @@ p-try@^2.0.0:
resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz"
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
-package-json-from-dist@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz"
- integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==
-
pako@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz"
@@ -4344,7 +3973,7 @@ path-parse@^1.0.7:
resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-path-scurry@^1.10.1, path-scurry@^1.11.1:
+path-scurry@^1.10.1:
version "1.11.1"
resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz"
integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==
@@ -4400,24 +4029,6 @@ pkg-dir@^4.2.0:
dependencies:
find-up "^4.0.0"
-prebuild-install@^7.1.2:
- version "7.1.2"
- resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz"
- integrity sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==
- dependencies:
- detect-libc "^2.0.0"
- expand-template "^2.0.3"
- github-from-package "0.0.0"
- minimist "^1.2.3"
- mkdirp-classic "^0.5.3"
- napi-build-utils "^1.0.1"
- node-abi "^3.3.0"
- pump "^3.0.0"
- rc "^1.2.7"
- simple-get "^4.0.0"
- tar-fs "^2.0.0"
- tunnel-agent "^0.6.0"
-
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
@@ -4432,19 +4043,6 @@ pretty-format@^29.0.0, pretty-format@^29.7.0:
ansi-styles "^5.0.0"
react-is "^18.0.0"
-proc-log@^4.1.0, proc-log@^4.2.0:
- version "4.2.0"
- resolved "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz"
- integrity sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==
-
-promise-retry@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz"
- integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==
- dependencies:
- err-code "^2.0.2"
- retry "^0.12.0"
-
prompts@^2.0.1:
version "2.4.2"
resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz"
@@ -4496,7 +4094,7 @@ range-parser@1.2.0:
resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz"
integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==
-rc@^1.0.1, rc@^1.1.6, rc@^1.2.7:
+rc@^1.0.1, rc@^1.1.6:
version "1.2.8"
resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz"
integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
@@ -4511,7 +4109,7 @@ react-is@^18.0.0:
resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
-readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
+readable-stream@^3.4.0, readable-stream@^3.6.0:
version "3.6.0"
resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
@@ -4520,6 +4118,11 @@ readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
string_decoder "^1.1.1"
util-deprecate "^1.0.1"
+readline@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz"
+ integrity sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==
+
registry-auth-token@3.3.2:
version "3.3.2"
resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz"
@@ -4601,11 +4204,6 @@ restore-cursor@^3.1.0:
onetime "^5.1.0"
signal-exit "^3.0.2"
-retry@^0.12.0:
- version "0.12.0"
- resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz"
- integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==
-
reusify@^1.0.4:
version "1.0.4"
resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
@@ -4650,7 +4248,7 @@ safe-stable-stringify@^2.3.1:
resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz"
integrity sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==
-"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0":
+"safer-buffer@>= 2.1.2 < 3":
version "2.1.2"
resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
@@ -4665,11 +4263,6 @@ semver@^6.3.0:
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.3.5:
- version "7.6.3"
- resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz"
- integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
-
semver@^7.5.3:
version "7.5.4"
resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
@@ -4755,20 +4348,6 @@ signale@^1.4.0:
figures "^2.0.0"
pkg-conf "^2.1.0"
-simple-concat@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz"
- integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
-
-simple-get@^4.0.0:
- version "4.0.1"
- resolved "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz"
- integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==
- dependencies:
- decompress-response "^6.0.0"
- once "^1.3.1"
- simple-concat "^1.0.0"
-
simple-swizzle@^0.2.2:
version "0.2.2"
resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz"
@@ -4791,28 +4370,6 @@ slash@^3.0.0:
resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-smart-buffer@^4.2.0:
- version "4.2.0"
- resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz"
- integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==
-
-socks-proxy-agent@^8.0.3:
- version "8.0.5"
- resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz"
- integrity sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==
- dependencies:
- agent-base "^7.1.2"
- debug "^4.3.4"
- socks "^2.8.3"
-
-socks@^2.8.3:
- version "2.8.3"
- resolved "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz"
- integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==
- dependencies:
- ip-address "^9.0.5"
- smart-buffer "^4.2.0"
-
source-map-support@0.5.13:
version "0.5.13"
resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz"
@@ -4826,11 +4383,6 @@ source-map@^0.6.0, source-map@^0.6.1:
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-sprintf-js@^1.1.3:
- version "1.1.3"
- resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz"
- integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==
-
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
@@ -4841,13 +4393,6 @@ srcset@^4.0.0:
resolved "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz"
integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==
-ssri@^10.0.0:
- version "10.0.6"
- resolved "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz"
- integrity sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==
- dependencies:
- minipass "^7.0.3"
-
stack-trace@0.0.x:
version "0.0.10"
resolved "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz"
@@ -4989,39 +4534,6 @@ tabletojson@^2.0.7:
cheerio "^1.0.0-rc.10"
got "^11.8.2"
-tar-fs@^2.0.0:
- version "2.1.1"
- resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz"
- integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
- dependencies:
- chownr "^1.1.1"
- mkdirp-classic "^0.5.2"
- pump "^3.0.0"
- tar-stream "^2.1.4"
-
-tar-stream@^2.1.4:
- version "2.2.0"
- resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz"
- integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
- dependencies:
- bl "^4.0.3"
- end-of-stream "^1.4.1"
- fs-constants "^1.0.0"
- inherits "^2.0.3"
- readable-stream "^3.1.1"
-
-tar@^6.1.11, tar@^6.2.1:
- version "6.2.1"
- resolved "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz"
- integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==
- dependencies:
- chownr "^2.0.0"
- fs-minipass "^2.0.0"
- minipass "^5.0.0"
- minizlib "^2.1.1"
- mkdirp "^1.0.3"
- yallist "^4.0.0"
-
test-exclude@^6.0.0:
version "6.0.0"
resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz"
@@ -5135,13 +4647,6 @@ tsx@^4.19.2:
optionalDependencies:
fsevents "~2.3.3"
-tunnel-agent@^0.6.0:
- version "0.6.0"
- resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz"
- integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==
- dependencies:
- safe-buffer "^5.0.1"
-
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"
@@ -5169,20 +4674,6 @@ typescript@>=2.7, typescript@>=4.2.0, "typescript@>=4.8.4 <5.8.0":
resolved "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz"
integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==
-unique-filename@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz"
- integrity sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==
- dependencies:
- unique-slug "^4.0.0"
-
-unique-slug@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz"
- integrity sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==
- dependencies:
- imurmurhash "^0.1.4"
-
universal-user-agent@^7.0.0, universal-user-agent@^7.0.2:
version "7.0.2"
resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz"
@@ -5273,13 +4764,6 @@ which@^2.0.1:
dependencies:
isexe "^2.0.0"
-which@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/which/-/which-4.0.0.tgz"
- integrity sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==
- dependencies:
- isexe "^3.1.1"
-
widest-line@^4.0.1:
version "4.0.1"
resolved "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz"