Se ha producido un error al procesar la plantilla.      
 The following has evaluated to null or missing:
==> Podcasts  [in template "38913#38948#3413239" at line 111, column 34]
----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if validator.isNotNull(Podcasts.Podc...  [in template "38913#38948#3413239" at line 111, column 9]
---- 1<#assign layoutTool = utilLocator.findUtil("lportal-ce-hook", "as.asac.template.tools.LayoutTool") />  2<#assign journalTool = utilLocator.findUtil("lportal-ce-hook", "as.asac.template.tools.JournalTool") />  3<#assign dlTool = utilLocator.findUtil("lportal-ce-hook", "as.asac.template.tools.DLTool") />  4<#assign portletTool = utilLocator.findUtil("lportal-ce-hook", "as.asac.template.tools.PortletTool") />  5<#assign urlDecoderTool = utilLocator.findUtil('lportal-ce-hook', 'as.asac.template.tools.URLDecoder')/>  6<#assign httpTool = utilLocator.findUtil('lportal-ce-hook', 'as.asac.template.tools.HttpTool') />  7  8<#assign articleId = .vars['reserved-article-id'].data>  9<#assign title = .vars['reserved-article-title'].data>  10<#assign description=.vars["reserved-article-description"].data />  11<#assign smallImageUrl=.vars["reserved-article-small-image-url"].data />  12<#assign date=.vars["reserved-article-display-date"].data />  13<#assign request = .vars['request']>  14<#assign portletNamespace = request['portlet-namespace']!>  15<#assign themeDisplayStr = request['theme-display']!>  16  17  18<#assign smallImageFullUrl = "${themeDisplayStr['portal-url']!}${smallImageUrl}" />  19<#assign dateFormatted = journalTool.getDateFormat(date, "dd MMMM yyyy", locale, timezone)>  20  21  22<#assign display_date = .vars["reserved-article-display-date"].data />  23<#assign inputFormat = "EEE, dd MMM yyyy HH:mm:ss Z">  24<#assign parsedDate = display_date?datetime(inputFormat)>  25<#assign outputFormat = "dd-MM-yyyy">  26<#assign formattedDate = parsedDate?string(outputFormat)>  27  28  29<#assign currentURL = htmlUtil.escape(themeDisplay.getURLCurrent())/>  30  31  32  33			  34<article class="template template-news-detail">  35		  36	<#assign showJournalTitle = getterUtil.getBoolean(portletTool.getPreference(request, "showAssetTitle"), false) />  37    <#if showAssetTitle?has_content && showAssetTitle>  38		<div class="portlet-title-wrapper">  39			<div class="portlet-title h3">${title}</div>	  40		</div>  41	<#else>  42		<div class="portlet-title-wrapper">  43			<div class="portlet-title h3">${title}</div>	  44		</div>  45	</#if>  46  47    <section class="row flex-row-reverse mt-4">  48		<#if validator.isNotNull(smallImageUrl)>  49			<div class="col-sm-3 col-12">  50					<a href="${smallImageUrl}" title="Imagen ${title}" class="image-wrapper image-wrapper-cover image-wrapper-style lightbox" style="background-image: url('${dlTool.getThumbnail(smallImageUrl, 3)}');">  51						<img src="${dlTool.getThumbnail(smallImageUrl, 3)}" alt="Imagen ${title}" />  52					</a>  53			</div>  54		</#if>  55		<div class="<#if validator.isNotNull(smallImageUrl)> col-sm-9 </#if> col-12">  56		 <div class="text-metadata mt-4 mt-sm-0">  57				<span id="share-${articleId}" class="need-share-button-default need-share-button"   58					data-share-icon-style="box"   59					data-share-networks="Mailto,Twitter,Whatsapp,Telegram,Facebook"  60					data-share-url="${urlDecoderTool.decodeURL(htmlUtil.escape(httpTool.toUnicode(themeDisplay.getPortalURL())))}${urlDecoderTool.decodeURL(htmlUtil.escape(httpTool.toUnicode(themeDisplay.getURLCurrent())))}"  61					data-share-title="${htmlUtil.escape(title)}"><!--share--></span>  62					<span><a href="https://api.whatsapp.com/send?text=${title} - ${urlDecoderTool.decodeURL(htmlUtil.escape(httpTool.toUnicode(themeDisplay.getPortalURL())))}${urlDecoderTool.decodeURL(htmlUtil.escape(httpTool.toUnicode(themeDisplay.getURLCurrent())))}" target="_blank"><i class="fab fa-whatsapp"></i><span class="hide-accessible">Whatsapp: ${title}</span></a></span>  63  64  65				<script src="${themeDisplay.getPathThemeRoot()}/js/needsharebutton/needsharebutton.min.js"></script>  66				<script src="${themeDisplay.getPathThemeRoot()}/js/needsharebutton/needsharebutton.js"></script>  67				<script type="text/javascript">  68					new needShareDropdown(document.getElementById('share-${articleId}'));  69				</script>  70			  71			  72  73		  74            <div class="date-wrapper text-metadata mb-3">  75				<span class="icon-calendar"><span class="hide-accessible"><@liferay.language key="date" /></span> </span><span class="date">${dateFormatted}</span>  76			</div>	  77			<#if validator.isNotNull(description)>     78				<p class="text-abstract">${description}</p>  79			</#if>  80			<#if validator.isNotNull(Descripcion.data)>  81				<p class="text-abstract">${Descripcion.data}</p>  82			</#if>  83        </div>  84    </section>  85	  86	<#assign htmlDocuments = journalTool.getHTMLDocuments(Documentos.Documento.getSiblings()) />  87	<#if validator.isNotNull(htmlDocuments)>     88		<section class="documents">  89		<div class="h5">${languageUtil.get(locale, "documents")}</div>  90		${htmlDocuments}  91		</section>  92	</#if>  93	  94  95	<#assign htmlGallery = journalTool.getHTMLGallery(Galeria.Imagen.getSiblings(), 3, "gallery-thumbs") />  96	<#if validator.isNotNull(htmlGallery)>     97		<section class="image-gallery">  98		<div class="h5">${languageUtil.get(locale, "image-gallery")}</div>  99		${htmlGallery}  100		</section>  101	</#if>  102      103	  104	<#assign htmlLinks = journalTool.getHTMLLinks(getterUtil.getLong(groupId), locale, Enlaces.Enlace.getSiblings(), Enlaces.EnlaceInterno.getSiblings()) />		  105	<#if validator.isNotNull(htmlLinks)>     106		<section class="links">  107			<div class="h5">${languageUtil.get(locale, "links")}</div>  108			${htmlLinks}  109		</section>  110	</#if>  111	<#if validator.isNotNull(Podcasts.Podcast.getData()) && validator.isNotNull(Podcasts.Podcast.getSiblings()) && Podcasts.Podcast.getSiblings()?size gt 0>  112		<section class="audios mt-4">		  113			<div class="h5">Audios</div>  114			<#list Podcasts.Podcast.getSiblings() as podcast>  115				<#if validator.isNotNull(podcast.getData())>  116					<#assign dlFileEntry = dlTool.getDLFileEntryByPath(podcast.getData()?string)/>  117					<#assign ext = dlFileEntry.extension/>					  118					  119					<#if validator.isNotNull(podcast.PodcastNombre.getData())>  120						<#assign title = podcast.PodcastNombre.getData()/>  121					<#else>  122						<#assign title = dlFileEntry.getTitle()/>  123					</#if>  124					  125					<div class="audio-wrapper">  126						<div class="audio mb-4">  127							<div class="important mb-2">${title}</div>  128							<audio controls>  129								<source src="${podcast.getData()}" title="${title}" type="audio/mpeg">  130								Tu navegador no soporta el elemento de audio.  131							</audio>  132						</div>	  133					</div>  134				</#if>  135			</#list>  136		</section>  137	</#if>  138</article>  139  140<div class="hide">  141	<#assign cats = journalTool.getCategories(getterUtil.getLong(groupId),articleId) />  142	<#list cats as cat>  143		<p>cat: ${cat.getName()}, vaobulcary: ${cat.getVocabularyId()}</p>  144	</#list>  145</div>  146  147<style>  148	.template-news-detail .audio{  149		background: #fafafa;  150		padding: 5px 10px;  151	}  152</style>