. 
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> cur_contenido.textoContenido.getData()?matches("(?i)Recuadro\\s\\d+(\\.\\d+)?")[0]  [in template "33501#33537#8342711" at line 18, column 65]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to 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: ${cur_contenido.textoContenido.getDat...  [in template "33501#33537#8342711" at line 18, column 63]
----
1<#assign tituloContenido = .vars["reserved-article-title"].data> 
2<#assign idTitulo = friendlyURL?keep_after_last("/")?lower_case> 
3 
4<#if contenido.getSiblings()?has_content> 
5    <article class="bc-vdcn-c-article col-12 col-md border-md px-0"> 
6        <h3 class="bc-vdcn-o-article-titulo" id="${idTitulo}"> 
7            ${tituloContenido} 
8        </h3> 
9				<br> 
10				 
11    <!-- LOOP CONTENIDO --> 
12    <#list contenido.getSiblings() as cur_contenido> 
13        <#if !getterUtil.getBoolean(cur_contenido.ocultarContenido.getData())> 
14            <#assign divDescargable = getterUtil.getBoolean(cur_contenido.contenidoDescargable.getData())?then('div-descargable', '')> 
15 
16                <!-- ELEMENTOS SI ES DESCARGABLE --> 
17                <#if getterUtil.getBoolean(cur_contenido.contenidoDescargable.getData())> 
18                <div class="div-descargable bg-light p-5" id="${cur_contenido.textoContenido.getData()?matches("(?i)Recuadro\\s\\d+(\\.\\d+)?")[0]?replace(" ", "-")}"> 
19                </#if> 
20                <!-- FIN ELEMENTOS SI ES DESCARGABLE --> 
21 
22                <!-- IMAGEN --> 
23                <#assign mostrarModal = false> 
24                <#if (cur_contenido.grupoImagenContenido.descripcionImagen.getData())?? && cur_contenido.grupoImagenContenido.descripcionImagen.getData() != ""> 
25                    <#assign mostrarModal = true>     
26                </#if> 
27 
28                <#if (cur_contenido.grupoImagenContenido.ImagenContenido.getData())?? && cur_contenido.grupoImagenContenido.ImagenContenido.getData() != ""> 
29                    <#if mostrarModal> 
30                        <#assign descripcionImagenPersonalizada = cur_contenido.grupoImagenContenido.descripcionImagen.getData()/> 
31                        <#assign descripcionData = 'data-descripcion-imagen="' + descripcionImagenPersonalizada + '"'/> 
32                    </#if> 
33                    <div class="bc-vdcn-o-contenido-imagen"> 
34                        <#if mostrarModal> 
35                            <#assign idImagen = cur_contenido.grupoImagenContenido.ImagenContenido.getAttribute("fileEntryId")> 
36                            <#assign idTarget = idImagen + "-modal"> 
37                        </#if> 
38                        <img alt="${cur_contenido.grupoImagenContenido.ImagenContenido.getAttribute("alt")}" 
39                            class="img-fluid w-100" 
40                            <#if mostrarModal> 
41                            data-toggle="modal" 
42                            data-imgtarget="#${cur_contenido.grupoImagenContenido.ImagenContenido.getAttribute("fileEntryId")}" 
43                            </#if> 
44                            data-fileentryid="${cur_contenido.grupoImagenContenido.ImagenContenido.getAttribute("fileEntryId")}" 
45                            src="${cur_contenido.grupoImagenContenido.ImagenContenido.getData()}" /> 
46                    </div> 
47                    <#if mostrarModal> 
48                    <div class="custom-modal hiden" id="${idTarget}"> 
49                        <div class="modal-dialog modal-dialog-centered"> 
50                          <div class="modal-content"> 
51                            <div class="modal-header d-flex justify-content-end"> 
52                                <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 
53                                    <span aria-hidden="true">&times;</span> 
54                                </button> 
55                            </div> 
56                            <div class="modal-body"> 
57                                <p> 
58                                    ${descripcionImagenPersonalizada} 
59                                </p> 
60                            </div> 
61                            <div class="modal-footer d-flex justify-content-end"> 
62                                <button type="button" class="btn btn-info" data-dismiss="modal">Cerrar</button> 
63                            </div> 
64                          </div> 
65                        </div> 
66                    </div> 
67                    </#if> 
68                </#if> 
69 
70                <!-- FIN IMAGEN --> 
71 
72                <!-- TEXTO ENRIQUECIDO --> 
73                <#if (cur_contenido.textoContenido.getData())??> 
74                    <div class="bc-vdcn-c-article-contenido"> 
75                        ${cur_contenido.textoContenido.getData()} 
76                    </div> 
77                </#if> 
78                <!-- FIN TEXTO ENRIQUECIDO --> 
79                 
80                <!-- GRÁFICOS --> 
81                <#if (cur_contenido.graficos.tituloDelGrafico.getData())??> 
82                    <div class="bc-vdcn-c-article-contenido bc-vdcn-c-article-contenido__iframe-titulo"> 
83                        <h5> 
84                            ${cur_contenido.graficos.tituloDelGrafico.getData()} 
85                        </h5> 
86                        <#if (cur_contenido.graficos.enlaceGrafico.getData())??> 
87                            <div class="bc-vdcn-c-article-contenido bc-vdcn-c-article-contenido__iframe"> 
88                                ${cur_contenido.graficos.enlaceGrafico.getData()} 
89                            </div> 
90                        </#if> 
91                    </div> 
92                </#if> 
93                <!-- FIN GRÁFICOS --> 
94                 
95                <!-- SUBINDICES --> 
96                <#assign webContentData = jsonFactoryUtil.createJSONObject(cur_contenido.subIndices.getData())/> 
97                <#if webContentData?? && webContentData.title??> 
98                    <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
99                    <#assign journalEmbed = JournalArticleLocalService.getLatestArticle(webContentData.classPK?number) /> 
100                    <div class="bc-vdcn-c-article-contenido bc-vdcn-c-article-contenido__embed"> 
101                        <@liferay_journal["journal-article"] articleId=journalEmbed.getArticleId() groupId=journalEmbed.getGroupId()/>   
102                    </div> 
103                </#if> 
104                <!-- FIN SUBINDICES --> 
105 
106                <!-- ELEMENTOS SI ES DESCARGABLE --> 
107                <#if getterUtil.getBoolean(cur_contenido.contenidoDescargable.getData())> 
108								<#if cur_contenido.archivosDescargables.getSiblings()?has_content> 
109                </div> 
110                <div class="d-flex bg-light p-5 pt-0"> 
111            
112                 
113<#list cur_contenido.archivosDescargables.getSiblings() as cur_archivosDescargables> 
114                            <#if cur_archivosDescargables.archivoDescargable?has_content> 
115                                <#list cur_archivosDescargables.archivoDescargable.getSiblings() as cur_archivoDescargable> 
116                                    <#if (cur_archivoDescargable.getData())?? && cur_archivoDescargable.getData() != ""> 
117                                        <#assign archivoUrl = cur_archivoDescargable.getData()> 
118                                        <#assign archivoNombreConQuery = archivoUrl?substring(archivoUrl?last_index_of("/") + 1)> 
119                                        <a class="btn btn-info ml-auto mr-0" href="${archivoUrl}" download="${cur_contenido.archivosDescargables.tituloArchivo.getData()}"> 
120                                            <i class="la la-download"></i> <span class="extension-archivo">PDF</span> 
121                                        </a> 
122                                    </#if> 
123                                </#list> 
124                            </#if> 
125                        </#list> 
126                  
127                </div> 
128 
129 
130 
131 
132 
133 
134								<#else> 
135								<div class="bc-vdcn-c-contenido-btn-descargar d-flex bg-light p-5 pt-0"> 
136                    <div class="descargar-seccion btn btn-info ml-auto mr-0"> 
137                        <i class="la la-download"></i> <span class="extension-archivo">PDF</span> 
138                    </div> 
139								 
140                </#if> 
141								</#if> 
142                <!-- FIN ELEMENTOS SI ES DESCARGABLE --> 
143                                 
144                <!-- ARCHIVOS DESCARGABLES --> 
145 
146 
147 
148 
149 
150                <#if cur_contenido.archivosDescargables.getSiblings()?has_content> 
151                <div class="bc-vdcn-c-descargables d-flex flex-wrap align-items-center"> 
152                    <#if (cur_contenido.archivosDescargables.tituloArchivo.getData())??> 
153                    <h6 class="titulo-descargable col m-0 p-0"> 
154                        ${cur_contenido.archivosDescargables.tituloArchivo.getData()} 
155                    </h6> 
156                    </#if> 
157 
158 
159 
160 
161										<#if getterUtil.getBoolean(cur_contenido.contenidoDescargable.getData())> 
162									  
163										<#else> 
164											<div class="botones-descargar col col-md-6 d-flex flex-wrap justify-content-end"> 
165                        <#list cur_contenido.archivosDescargables.getSiblings() as cur_archivosDescargables> 
166                            <#if cur_archivosDescargables.archivoDescargable?has_content> 
167                                <#list cur_archivosDescargables.archivoDescargable.getSiblings() as cur_archivoDescargable> 
168                                    <#if (cur_archivoDescargable.getData())?? && cur_archivoDescargable.getData() != ""> 
169                                        <#assign archivoUrl = cur_archivoDescargable.getData()> 
170                                        <#assign archivoNombreConQuery = archivoUrl?substring(archivoUrl?last_index_of("/") + 1)> 
171                                        <a class="link-archivo-descargable btn btn-info" href="${archivoUrl}" download="${cur_contenido.archivosDescargables.tituloArchivo.getData()}"> 
172                                            <i class="la la-download"></i> <span class="extension-archivo">Cargando...</span> 
173                                        </a> 
174                                    </#if> 
175                                </#list> 
176                            </#if> 
177                        </#list> 
178                    </div>           
179										</#if> 
180 
181 
182                       
183                </div> 
184                </#if> 
185                <!-- FIN ARCHIVOS DESCARGABLES --> 
186            </#if> 
187        </#list> 
188        <!-- FIN LOOP CONTENIDO --> 
189         
190        <!-- NOTAS AL PIE --> 
191        <#if getterUtil.getBoolean(notasAlPie.mostrarNotasAlPie.getData())> 
192        <#if (notasAlPie.contenidoNotasAlPie.getData())??> 
193 
194        <div class="bc-vdcn-c-notas-al-pie d-flex flex-column bg-gray border-0"> 
195            <div class="p-2"> 
196                <button class="btn bc-o-boton-toggler w-100 bc-c-notas-al-pie-titulo d-flex flex-row justify-content-between align-items-center bc-j-btn-toggle p-2" 
197                        data-toggler="notas-al-pie"> 
198                    <p class="m-0">Notas al pie</p> 
199                    <i class="la la-angle-down"></i> 
200                </button> 
201                <div class="bc-vdcn-c-notas-al-pie-contenido pt-2 pb-4 px-4" 
202                    data-toggle="notas-al-pie" 
203                    style="display: none;"> 
204                    <div class="d-flex flex-column"> 
205                        ${notasAlPie.contenidoNotasAlPie.getData()} 
206                    </div> 
207                </div> 
208            </div> 
209        </div> 
210        <!-- FIND NOTAS AL PIE --> 
211 
212        </#if> 
213        </#if> 
214    </article> 
215</#if> 
216 
217<style> 
218.bc-vdcn-c-descargables{ 
219	background: none !important; 
220} 
221 
222.bc-vdcn-c-article-contenido ul, 
223.bc-vdcn-c-article-contenido ol, 
224.bc-vdcn-c-article-contenido li, 
225.bc-vdcn-c-article-contenido li p, 
226.bc-vdcn-c-article-contenido li strong, 
227.bc-vdcn-c-article-contenido li b { 
228	color: #51545d; 
229} 
230 
231/* Textos Justificados*/ 
232.bc-vdcn-c-article-contenido p, 
233.bc-vdcn-c-article-contenido li { 
234	text-align: justify; 
235} 
236 
237/* Lista específica con guiones */ 
238.lista-guiones, 
239.lista-guiones ul { 
240	list-style-type: none !important; 
241} 
242 
243.lista-guiones li { 
244	position: relative; 
245} 
246 
247.lista-guiones li::before { 
248	content: "-"; 
249	position: absolute; 
250	left: -1em; 
251	color: #51545d; 
252} 
253 
254/* Sangria a contenidos */ 
255.bc-vdcn-c-article-contenido .contenido-nivel-2 { 
256    margin-left: 1rem; 
257} 
258 
259.bc-vdcn-c-article-contenido .contenido-nivel-3 { 
260    margin-left: 1rem; 
261} 
262 
263/* ol personalizado (i) */ 
264.lista-romana-parentesis { 
265	list-style: none !important; 
266	counter-reset: romano; 
267	padding-left: 1.5rem; 
268} 
269 
270.lista-romana-parentesis > li { 
271	counter-increment: romano; 
272	position: relative; 
273	padding-left: 2rem; 
274} 
275 
276.lista-romana-parentesis > li::before { 
277	content: "(" counter(romano, lower-roman) ")"; 
278	position: absolute; 
279	left: 0; 
280	width: 1.5rem; 
281	text-align: left; 
282	color: #51545d; 
283} 
284 
285.lista-letras-parentesis { 
286	list-style: none !important; 
287	counter-reset: letra; 
288	padding-left: 1.5rem; 
289} 
290 
291.lista-letras-parentesis > li { 
292	counter-increment: letra; 
293	position: relative; 
294	padding-left: 2rem; 
295} 
296 
297.lista-letras-parentesis > li::before { 
298	content: counter(letra, lower-alpha) ")"; 
299	position: absolute; 
300	left: 0; 
301	width: 1.5rem; 
302	text-align: left; 
303	color: #51545d; 
304} 
305 
306.notas-referencias { 
307	font-size: 0.8rem; 
308	line-height: 1.35; 
309} 
310 
311.bc-vdcn-c-article-contenido .notas-referencias p { 
312	font-size: inherit; 
313	line-height: inherit; 
314	margin: 0 !important; 
315	padding: 0 !important; 
316	text-align: left !important; 
317} 
318 
319.notas-referencias sup { 
320	font-size: 0.75em; 
321	vertical-align: baseline; 
322	position: relative; 
323	top: -0.35em; 
324	margin-right: 0.25rem; 
325} 
326 
327.imagen-ancho-contenido { 
328  display: block; 
329	width: 100% !important; 
330	max-width: 100% !important; 
331	height: auto !important; 
332} 
333</style>