Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> productLayout.getLayoutSet  [in template "20115#20151#196977" at line 11, column 67]

----
Tip: It's the step after the last dot 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: #assign docsDownloadURL = portalUtil...  [in template "20115#20151#196977" at line 11, column 9]
----
1<@leonardo.articleInfo .vars "SP-Product-complete"/> 
2<#assign rndNamespace = randomNamespace> 
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
4 
5<#assign jArticle = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) > 
6 
7<#assign productLayout = (jArticle.getLayout()!)> 
8 
9<#assign docsDownloadURL = ''> 
10<#if (layout.getGroup().getGroupId()) != (jArticle.getGroupId())> 
11	<#assign docsDownloadURL = portalUtil.getVirtualHostname (productLayout.getLayoutSet())> 
12	<#if (docsDownloadURL)?has_content && (docsDownloadURL?lower_case != 'localhost')> 
13		<#assign docsDownloadURL = 'https://' + docsDownloadURL > 
14	<#else> 
15		<#assign docsDownloadURL = ''> 
16	</#if> 
17</#if> 
18<#assign currentGroupExpandoBridge = themeDisplay.getScopeGroup().getExpandoBridge()> 
19<#assign isDarkTheme = false> 
20<#if currentGroupExpandoBridge.hasAttribute("dark-theme")> 
21    <#assign isDarkTheme = currentGroupExpandoBridge.getAttribute("dark-theme", false)> 
22</#if> 
23 
24<#if isDarkTheme && !(hasDetailPage?? && getterUtil.getBoolean(hasDetailPage.getData())) > 
25<#assign scalingDetails = { 
26		 "desktop": {"alternateImage": {}, "key": "w_317"}, 
27		 "tl": {"alternateImage": SeparatorOverview.OverviewImage.ImageTl!, "key": "w_317"}, 
28		 "tp": {"alternateImage": SeparatorOverview.OverviewImage.ImageTp!, "key": "w_317"}, 
29		 "mobile": {"alternateImage": SeparatorOverview.OverviewImage.ImageM!, "key": "w_317"} 
30	}> 
31 
32 
33<#assign dataImg = leonardo.adaptImage(SeparatorOverview.OverviewImage!, scalingDetails )> 
34    <div class="product-page-hero-card product-card-modal-container product-base section-hero-card--smallerVersion section-hero-card--wider-page-padding"> 
35        <div class="product-card-modal"> 
36            <div class="product-card-modal-text"> 
37                <div class="modal-title-container"> 
38                    <h1 class="modal-title"> 
39                        ${SeparatorOverview.ProductName.getData()} 
40                    </h1> 
41                </div> 
42                <div class="product-card--graphic-container"> 
43                    <img class="product-card--graphic" alt="${SeparatorOverview.ProductName.getData()!}" title="${SeparatorOverview.ProductName.getData()!}" src="${themeDisplay.pathThemeImages}/blank.png" 
44                        data-src-url-d="${dataImg.desktop!}" 
45                        data-src-url-tl="${dataImg.tablet_landscape!}" 
46                        data-src-url-tp="${dataImg.tablet_portrait!}" 
47                        data-src-url-m="${dataImg.mobile!}"/> 
48                </div> 
49                <div class="modal-description"> 
50                    ${SeparatorOverview.OverviewText.getData()} 
51                </div> 
52 
53               <#if SeparatorOverview.OverviewFileUrl??> 
54                    <#assign docsDownloadURL = ''> 
55 
56                    <ul class="js-ul-overview"> 
57                        <#list SeparatorOverview.OverviewFileUrl.getSiblings() as itemList> 
58                            <#assign file_info = leonardo.findFileEntryInfo(itemList.getData()) > 
59                            <#if itemList.OverviewFileLabel.getData()!= '' && file_info.downloadUrl != ''> 
60                            <li class="list-item"> 
61                                <a href="${docsDownloadURL}${file_info.downloadUrl}" target="_blank"> 
62                                    ${itemList.OverviewFileLabel.getData()!} 
63                                </a> 
64                            </li> 
65                            </#if> 
66                        </#list> 
67                    </ul> 
68               </#if> 
69 
70               <#if SeparatorDownloads.DownloadFileURL.getSiblings()?has_content> 
71                   <ul class="js-ul-download"> 
72                       	<#list SeparatorDownloads.DownloadFileURL.getSiblings() as cur_SeparatorDownloads_DownloadFileURL> 
73                       		<#if cur_SeparatorDownloads_DownloadFileURL.DownloadFileLabel.getData()!= '' && cur_SeparatorDownloads_DownloadFileURL.getData() != ''> 
74                           		<li class="list-item"> 
75                               		<a href="${cur_SeparatorDownloads_DownloadFileURL.getData()}" target="_blank"> 
76                               			${languageUtil.format(locale, "download-x", cur_SeparatorDownloads_DownloadFileURL.DownloadFileLabel.getData(), false)} 
77                               		</a> 
78                           		</li> 
79                       		</#if> 
80                        </#list> 
81                    </ul> 
82               </#if> 
83            </div> 
84        </div> 
85    </div> 
86<#else> 
87<#macro downloadIcon> 
88	<svg xmlns="http://www.w3.org/2000/svg" width="14" height="18" viewBox="0 0 14 18"> 
89		<path fill="#000" fill-rule="nonzero" d="M6.61 12.763l-2.145-2.24a.58.58 0 0 1 0-.796c.211-.22.551-.22.762 0l1.235 1.29V6.75c0-.31.24-.563.538-.563.297 0 .538.252.538.563v4.267l1.235-1.29c.21-.22.551-.22.762 0a.58.58 0 0 1 0 .796l-2.145 2.24a.526.526 0 0 1-.78 0zM12.62 18H1.383C.62 18 0 17.368 0 16.592V5.037c0-.49.19-.968.52-1.314L3.565.544A1.728 1.728 0 0 1 4.82 0h7.797C13.38 0 14 .631 14 1.407v15.186C14 17.37 13.38 18 12.619 18zM4.82 1.125a.682.682 0 0 0-.496.214L1.282 4.52a.755.755 0 0 0-.205.518v11.555c0 .156.137.283.306.283h11.235c.168 0 .305-.127.305-.282V1.407c0-.155-.137-.282-.305-.282H4.821zm-.783 4.5H2.154a.551.551 0 0 1-.539-.563c0-.31.242-.562.539-.562h1.884c.15 0 .27-.126.27-.281V2.25c0-.31.24-.563.538-.563.297 0 .539.252.539.563v1.969c0 .775-.605 1.406-1.347 1.406zm6.193 9.563H3.769a.55.55 0 0 1-.538-.563.55.55 0 0 1 .538-.563h6.462a.55.55 0 0 1 .538.563.55.55 0 0 1-.538.563z"/> 
90	</svg> 
91</#macro> 
92 
93 
94<#macro displayDownloadLinks fileUrlElms> 
95	<div class="section-content--action-items"> 
96	<#list fileUrlElms as cur_file> 
97		<#if cur_file.getData()?? && cur_file.getData() != ""> 
98			<#assign defLabel = languageUtil.get(locale, "download-brochure")> 
99			<div class="section-content--action-items--download"> 
100				<#assign file_info = leonardo.findFileEntryInfo(cur_file.getData()) > 
101 
102				<a class="section-content--action-items--download--link" 
103				   target="_blank" 
104				   href="${docsDownloadURL}${file_info.downloadUrl}" 
105				   title='${(file_info.title)!cur_file.OverviewFileLabel.getData()!defLabel}'> 
106					<@downloadIcon /> 
107					<span class="section-content--action-items--download--link--filename"> 
108						${(cur_file.OverviewFileLabel.getData())!(file_info.title)!defLabel} 
109					</span> 
110				</a> 
111			</div> 
112		 </#if> 
113	</#list> 
114	</div> 
115</#macro> 
116 
117<!-- default number of visible technical data boxes  --> 
118<#assign maxTechnicalBoxes = 12> 
119 
120<#assign languageId = languageUtil.getLanguageId(locale) /> 
121 
122<#assign sectionOFound = false> 
123<#assign sectionOHtmlFound = false> 
124<#assign sectionFreeArea1 = false> 
125<#assign sectionFreeArea2 = false> 
126<#assign sectionTDFound = false> 
127<#assign sectionMFFound = false> 
128<#assign sectionDownloadFound = false> 
129 
130<!--FREE AREA 1 --> 
131<#if SeparatorMainFeatures?? && SeparatorMainFeatures.getSiblings()?has_content> 
132    <#list SeparatorMainFeatures.getSiblings() as cur_sectionMF> 
133	    <#if (cur_sectionMF.MFSectionTitle.getData())?has_content || 
134		     (cur_sectionMF.MFText.getData())?has_content || 
135			 (cur_sectionMF.FreeWebContent.getData())?has_content> 
136	        <#assign sectionFreeArea1 = true> 
137	        <#break> 
138	    </#if> 
139	</#list> 
140</#if> 
141<!--FREE AREA 2 --> 
142<#if SeparatorFreeArea2?? && SeparatorFreeArea2.getSiblings()?has_content> 
143    <#list SeparatorFreeArea2.getSiblings() as cur_sectionFA2> 
144	    <#if (cur_sectionFA2.Fa2Text.getData())?has_content || 
145		     (cur_sectionFA2.Fa2SectionTitle.getData())?has_content || 
146			 (cur_sectionFA2.Fa2WebContent.getData())?has_content> 
147	        <#assign sectionFreeArea2 = true> 
148	        <#break> 
149	    </#if> 
150	</#list> 
151</#if> 
152<!--TECHNICAL DATA--> 
153<#if SeparatorTechnicalData.TDTitle.getSiblings()?has_content> 
154	<#list SeparatorTechnicalData.TDTitle.getSiblings() as cur_sectionTD> 
155	    <#if cur_sectionTD.getData() != ""> 
156	        <#assign sectionTDFound = true> 
157	        <#break> 
158	    </#if> 
159	</#list> 
160</#if> 
161<!--OVERVIEW LAUNCH--> 
162<#if (SeparatorOverview.OverviewText.getData())?has_content || 
163     (SeparatorOverview.OverviewTitle.getData())?has_content> 
164     <#assign sectionOFound = true> 
165</#if> 
166<#if SeparatorOverview.ContentHtml?? && 
167     SeparatorOverview.ContentHtml.getData() != "" > 
168     <#assign sectionOHtmlFound = true> 
169</#if> 
170<#if SeparatorOverview.OverviewFileUrl??> 
171	<#assign overviewFileUrlElms = SeparatorOverview.OverviewFileUrl.getSiblings()> 
172</#if> 
173<!--MAIN FEATURES--> 
174<#if (SeparatorMainFeaturesWall.SeparatorWallGroup)??> 
175	<#assign sectionMFFound = false> 
176    <#list SeparatorMainFeaturesWall.SeparatorWallGroup.getSiblings() as cur_sectionMF> 
177		<#if (cur_sectionMF.SeparatorWallGroupPoster)??> 
178			<#list cur_sectionMF.SeparatorWallGroupPoster.getSiblings() as cur_sectionMFPoster> 
179				<#if (cur_sectionMFPoster.Row1.Row1BackgroundImage.getData())?has_content || 
180					  (cur_sectionMFPoster.Row1.Row1Title.getData())?has_content || 
181					  (cur_sectionMFPoster.Row1.Row1Abstract.getData())?has_content> 
182					<#assign sectionMFFound = true> 
183				</#if> 
184				<#break> 
185			</#list> 
186			<#if sectionMFFound> 
187				<#break> 
188			</#if> 
189		</#if> 
190	</#list> 
191</#if> 
192<!--DOWNLOADS--> 
193<#if SeparatorDownloads.DownloadFileURL.getSiblings()?has_content> 
194    <#list SeparatorDownloads.DownloadFileURL.getSiblings() as cur_sectionDownload> 
195	    <#if (cur_sectionDownload.getData())?has_content> 
196	        <#assign sectionDownloadFound = true> 
197			<#break> 
198	    </#if> 
199	</#list> 
200</#if> 
201<div class="product-wrapper product-complete"> 
202	<!--START MODULE: HERO BANNER--> 
203	<#if SeparatorHero?? && ((SeparatorHero.HeroImage.getData())?has_content || (SeparatorHero.CantoHeroUrl.getData())?has_content)> 
204	<div class="section-container section-container--fluid"> 
205 
206		<#assign scalingDetails = { 
207			 "desktop": {"alternateImage": {}, "key": "w_1440"}, 
208			 "tl": {"alternateImage": (SeparatorHero.HeroImage.HeroImageTl)!, "key": "h_703"}, 
209			 "tp": {"alternateImage": (SeparatorHero.HeroImage.HeroImageTp)!, "key": "h_959"}, 
210			 "mobile": {"alternateImage": (SeparatorHero.HeroImage.HeroImageM)!, "key": "h_602"} 
211		}> 
212		<#assign heroImg = leonardo.adaptImage(SeparatorHero.HeroImage!, scalingDetails )> 
213 
214		<style> 
215			.slide1{background-image: url("${heroImg.desktop!}");} 
216			@media all and (min-width: 1024px) and (max-width: 1279px) { 
217			.slide1{background-image: url("${heroImg.tablet_landscape!}");} 
218
219			@media all and (min-width: 768px) and (max-width: 1023px) { 
220			.slide1{background-image: url("${heroImg.tablet_portrait!}");} 
221
222			@media all and (max-width: 767px) { 
223			.slide1{background-image: url("${heroImg.mobile!}");} 
224
225		</style> 
226		<noscript> 
227			<img src="${heroImg.desktop!}" alt='${heroImg.alt_desktop!}'> 
228			<img src="${heroImg.tablet_landscape!}" alt='${heroImg.alt_tablet_landscape!}'> 
229			<img src="${heroImg.tablet_portrait!}" alt='${heroImg.alt_tablet_portrait!}'> 
230			<img src="${heroImg.mobile!}" alt='${heroImg.alt_mobile!}'> 
231		</noscript> 
232 
233		<div class="hero"> 
234			<#if (SeparatorHero.CantoHeroUrl.getData())?has_content> 
235				<!--Start Module: Hero Banner--> 
236				<div class="leo-video canto-video" 
237				data-video-data='{ 
238					&quot;type&quot;:&quot;video&quot;, 
239					&quot;showControls&quot;:${(getterUtil.getBoolean(SeparatorHero.CantoHeroUrl.CantoControlBar.getData()))?then("1","0")}, 
240					&quot;videoSources&quot;:[ 
241						"${SeparatorHero.CantoHeroUrl.getData()!}" 
242					], 
243					&quot;posters&quot;:{ 
244						&quot;desktop&quot;:&quot;${heroImg.desktop!}&quot;, 
245						&quot;tabletLandscape&quot;:&quot;${heroImg.tablet_landscape!}&quot;, 
246						&quot;tabletPortrait&quot;:&quot;${heroImg.tablet_portrait!}&quot;, 
247						&quot;mobile&quot;:&quot;${heroImg.mobile!}&quot; 
248					}, 
249					&quot;content&quot;:{ 
250						&quot;heading&quot;:&quot;${((SeparatorOverview.ProductName.getData())!"")?html?html} <br> <@leonardo.escapeTitle title=((SeparatorHero.HeroTitle.getData())!"Product")?html/>&quot; 
251						,&quot;descriptions&quot;:[&quot;${((SeparatorHero.HeroSubtitle1.getData())!"")?html?html}&quot;, &quot;${((SeparatorHero.HeroSubtitle2.getData())!"")?html?html}&quot;] 
252					}}' 
253					<#if (SeparatorHero.CantoHeroUrl.CantoAutoPlay.getData())?has_content> 
254							data-autoplay="${(getterUtil.getBoolean(SeparatorHero.CantoHeroUrl.CantoAutoPlay.getData()))?then('1','0')}", 
255					</#if> 
256					<#if (SeparatorHero.CantoHeroUrl.CantoLoop.getData())?has_content> 
257							data-loop="${(getterUtil.getBoolean(SeparatorHero.CantoHeroUrl.CantoLoop.getData()))?then('1','0')}", 
258					</#if> 
259					data-title-tag="h1"> 
260				</div> 
261				<!--End Module: Hero Banner--> 
262			<#else> 
263				<!--Start Module: Hero Slide--> 
264				<div class="hero-slide swiper-slide slide1"> 
265					<div class="hero-slide--content"> 
266						<#assign h1Found = true> 
267						<#if (!isDarkTheme) && (SeparatorHero.HeroTitle.getData())?has_content> 
268							<h1 class="hero-slide--content--title"> 
269								${(SeparatorOverview.ProductName.getData())!""}<br> 
270								<#assign escVar = (SeparatorHero.HeroTitle.getData())!"Product"> 
271								<@leonardo.escapeTitle title=escVar /> 
272							</h1> 
273						<#elseif (SeparatorOverview.ProductName.getData())?has_content> 
274							<h1 class="hero-slide--content--title"> 
275								${(SeparatorOverview.ProductName.getData())!""} 
276							</h1> 
277						<#else> 
278							<#assign h1Found = false> 
279						</#if> 
280						<#if (!isDarkTheme) && ((SeparatorHero.HeroSubtitle1.getData())?has_content || (SeparatorHero.HeroSubtitle2.getData())?has_content)> 
281						<div class="hero-slide--content--descriptions"> 
282							<#if (SeparatorHero.HeroSubtitle1.getData())?has_content> 
283							<div class="hero-slide--content--description"> 
284								${(!h1Found)?then("<h1>","")} 
285								<#assign escVar = (SeparatorHero.HeroSubtitle1.getData())!> 
286								<@leonardo.escapeTitle title=escVar /> 
287								${(!h1Found)?then("</h1>","")} 
288								<#assign h1Found = true> 
289							</div> 
290							</#if> 
291							<#if (SeparatorHero.HeroSubtitle2.getData())?has_content> 
292							<div class="hero-slide--content--description"> 
293								${(!h1Found)?then("<h1>","")} 
294								<#assign escVar = (SeparatorHero.HeroSubtitle2.getData())!> 
295								<@leonardo.escapeTitle title=escVar /> 
296								${(!h1Found)?then("</h1>","")} 
297							</div> 
298							</#if> 
299						</div> 
300						</#if> 
301					</div> 
302				</div> 
303				<!--End Module: Hero Slide--> 
304			</#if> 
305			<!--Start Mixin: Icon Share Primary--> 
306			<@leonardo.shareLinkHero/> 
307			<!--End Mixin: Icon Share Primary--> 
308		</div> 
309	</div> 
310	</#if> 
311	<!--END MODULE: HERO BANNER--> 
312	<!--Start Module: Section Navigator Anchor bar product complete--> 
313	<div class="section-container section-container--fluid"> 
314		<div class="section-navigator"> 
315			<#if sectionOFound> 
316			<div class="section-navigator--list"> 
317				<div class="section-container swiper-container--sectionNavigator section-container--fixed"> 
318					<div class="section-navigator--list--item-wrap swiper-wrapper"> 
319						<!--Overview--> 
320						<#assign defaultValue=languageUtil.get(locale, "section-overview-default")> 
321						<a class="section-navigator--list--item swiper-slide active" href="javascript:void(0);" 
322							title="${(SeparatorOverview.OverviewTitle.getData())!defaultValue}" 
323							data-target=".section-hero-card"> 
324							${((SeparatorOverview.OverviewTitle.getData())?has_content)?then(SeparatorOverview.OverviewTitle.getData(),defaultValue)}</a> 
325						<!--Main Features--> 
326						<#if sectionMFFound && (SeparatorMainFeaturesWall.WallSectionTitle.data)?has_content> 
327							<a class="section-navigator--list--item swiper-slide" href="javascript:void(0);" 
328								title='${(SeparatorMainFeaturesWall.WallSectionTitle.data)}' 
329								data-target=".product-missions-and-features"> 
330								${SeparatorMainFeaturesWall.WallSectionTitle.data}</a> 
331						</#if> 
332						<!--Free Area 1 --> 
333						<#if sectionFreeArea1  && SeparatorMainFeatures??> 
334							<#list SeparatorMainFeatures.getSiblings() as cur_section> 
335								<#if (cur_section.Fa1AnchorBarText.getData())?has_content > 
336									<a class="section-navigator--list--item swiper-slide" href="javascript:void(0);" 
337										title='${(cur_section.Fa1AnchorBarText.getData())}' 
338										data-target=".section-content--features-${cur_section?index}"> 
339										${(cur_section.Fa1AnchorBarText.getData())!}</a> 
340								</#if> 
341							</#list> 
342						</#if> 
343						<!--Technical data--> 
344						<#if sectionTDFound = true > 
345							<#assign defaultValue=languageUtil.get(locale, "section-techdata-default")> 
346							<a class="section-navigator--list--item swiper-slide" href="javascript:void(0)" 
347								title='${(SeparatorTechnicalData.TDSectionTitle.getData())!defaultValue}' 
348								data-target=".products-technical-data"> 
349								${((SeparatorTechnicalData.TDSectionTitle.getData())?has_content)?then(SeparatorTechnicalData.TDSectionTitle.getData(),defaultValue)}</a> 
350						</#if> 
351						<!--Free Area 2 --> 
352						<#if sectionFreeArea2  && SeparatorFreeArea2??> 
353							<#list SeparatorFreeArea2.getSiblings() as cur_section> 
354								<#if (cur_section.Fa2AnchorBarText.getData())?has_content > 
355									 <a class="section-navigator--list--item swiper-slide" href="javascript:void(0)" 
356										title='${(cur_section.Fa2AnchorBarText.getData())!}' 
357										data-target=".section-content--features-fa2-${cur_section?index}"> 
358										${(cur_section.Fa2AnchorBarText.getData())!}</a> 
359								</#if> 
360							</#list> 
361						</#if> 
362						<!--Contacts--> 
363						<a class="section-navigator--list--item anchorbar_products_contacts swiper-slide"  href="javascript:void(0)" 
364							title='${languageUtil.get(locale, "anchor-contacts")}' 
365							data-target=".section-contacts"> 
366							${languageUtil.get(locale, "anchor-contacts")}</a> 
367						<!--Related Products--> 
368						<a class="section-navigator--list--item anchorbar_products_related swiper-slide" href="javascript:void(0)" 
369							title='${languageUtil.get(locale, "related-products")}' 
370							data-target=".related-products"> 
371							${languageUtil.get(locale, "related-products")}</a> 
372					</div> 
373				</div> 
374				<div class="swiper-button-prev section-navigator--scroll--left"><span class="section-navigator--scroll--left--icon"></span></div> 
375				<div class="swiper-button-next section-navigator--scroll--right"><span class="section-navigator--scroll--right--icon"></span></div> 
376			</div> 
377			<div class="section-navigator--spacer"></div> 
378		</div> 
379		</#if> 
380	</div> 
381	<!--End Module: Section Navigator--> 
382 
383	<!--START MODULE: LAUNCH SECTION --> 
384	<#if sectionOFound  || sectionOHtmlFound > 
385		<style> 
386		/*Desktop and tablet landscape viewport*/ 
387		@media all and (min-width: 1024px) { 
388			.section-hero-card .section-grid .section-hero-card--content .section-hero-card--title.${rndNamespace}forced-style-200 { 
389				margin-left: -200px !important; 
390
391			.section-hero-card .section-grid .section-hero-card--content .section-hero-card--title.${rndNamespace}forced-style-0 { 
392				margin-left: 0 !important; 
393
394
395		</style> 
396		<div class="section-container section-container--fixed"> 
397			<div class="product-page-hero-card section-hero-card"> 
398				<div class="section-grid layout--tp-col layout--m-col"> 
399 
400					<#if (SeparatorOverview.ProductTitle.getData())?has_content> 
401						<#assign isMiddle = leonardo.isRadioButtonValue(SeparatorOverview.ProductTitle.ProductTitlePosition, "middle")> 
402						<#if (isMiddle=="true")> 
403							<#assign forcedStyle = rndNamespace + "forced-style-200"> 
404						<#else> 
405							<#assign forcedStyle = rndNamespace + "forced-style-0"> 
406						</#if> 
407					</#if> 
408 
409					<div class="grid grid--tp100p grid--m100p grid--d50p grid--tl50p hidden-on-dark-theme"> 
410 
411						<#assign scalingDetails = { 
412							 "desktop": {"alternateImage": {}, "key": "w_720"}, 
413							 "tl": {"alternateImage": (SeparatorOverview.OverviewImage.ImageTl)!, "key": "h_695"}, 
414							 "tp": {"alternateImage": (SeparatorOverview.OverviewImage.ImageTp)!, "key": "w_768"}, 
415							 "mobile": {"alternateImage": (SeparatorOverview.OverviewImage.ImageM)!, "key": "w_375"} 
416						}> 
417						<#assign overviewImg = leonardo.adaptImage((SeparatorOverview.OverviewImage)!, scalingDetails )> 
418						<#if (SeparatorAdditionalOverview.CantoUrl)?has_content && SeparatorAdditionalOverview.CantoUrl.getData() != ""> 
419							<#assign video = SeparatorAdditionalOverview.CantoUrl.getData()> 
420							<div class="leo-video canto-video section-hero-card--graphic" 
421								data-video-data='{ 
422									&quot;showControls&quot;:true, 
423									&quot;videoSources&quot;:[ 
424										"${video}" 
425									], 
426									&quot;posters&quot;:{ 
427										&quot;desktop&quot;:&quot;${overviewImg.desktop!}&quot;, 
428										&quot;tabletLandscape&quot;:&quot;${overviewImg.tablet_landscape!}&quot;, 
429										&quot;tabletPortrait&quot;:&quot;${overviewImg.tablet_portrait!}&quot;, 
430										&quot;mobile&quot;:&quot;${overviewImg.mobile!}&quot; 
431									}}' 
432								data-img-url-d="${overviewImg.desktop!}" 
433								data-img-url-tl="${overviewImg.tablet_landscape!}" 
434								data-img-url-tp="${overviewImg.tablet_portrait!}" 
435								data-img-url-m="${overviewImg.mobile!}"> 
436							</div> 
437						<#else> 
438							<div class="section-hero-card--graphic" 
439								data-img-url-d="${overviewImg.desktop!}" 
440								data-img-url-tl="${overviewImg.tablet_landscape!}" 
441								data-img-url-tp="${overviewImg.tablet_portrait!}" 
442								data-img-url-m="${overviewImg.mobile!}"> 
443								<noscript> 
444									<img src="${overviewImg.desktop!}" alt='${overviewImg.alt_desktop!}'> 
445									<img src="${overviewImg.tablet_landscape!}" alt='${overviewImg.alt_tablet_landscape!}'> 
446									<img src="${overviewImg.tablet_portrait!}" alt='${overviewImg.alt_tablet_portrait!}'> 
447									<img src="${overviewImg.mobile!}" alt='${overviewImg.alt_mobile!}'> 
448								</noscript> 
449							</div> 
450						</#if> 
451					</div> 
452					<div class="grid grid--tp100p grid--m100p grid--d50p grid--tl50p"> 
453						<div class="section-hero-card--content"> 
454							<#if (SeparatorOverview.ProductTitle.getData())?has_content> 
455							<h2 class="section-hero-card--title section-hero-card--title-alwayson ${forcedStyle}">${(SeparatorOverview.ProductTitle.getData())}</h2> 
456							</#if> 
457							<#if (SeparatorOverview.OverviewText.getData())?has_content> 
458							<h3 class="section-hero-card--description">${SeparatorOverview.OverviewText.getData()}</h3> 
459							</#if> 
460							<!--download section--> 
461							<#if sectionOHtmlFound = false && overviewFileUrlElms??> 
462								<@displayDownloadLinks fileUrlElms=overviewFileUrlElms /> 
463							</#if> 
464						</div> 
465					</div> 
466				</div> 
467			</div> 
468		</div> 
469		<#if SeparatorOverview.ContentHtml.getData() != ""> 
470			<div class="section-container section-container--fixed"> 
471				<div class="section-content"> 
472					<div class="section-content--content"> 
473						${SeparatorOverview.ContentHtml.getData()} 
474					</div> 
475					<#if sectionOHtmlFound  && overviewFileUrlElms??> 
476						<@displayDownloadLinks fileUrlElms=overviewFileUrlElms /> 
477					</#if> 
478				</div> 
479			</div> 
480        </#if> 
481	</#if> 
482	<!--END MODULE: LAUNCH SECTION--> 
483 
484	<!--START MODULE: MAIN FEATURES--> 
485	<#if sectionMFFound > 
486		<div class="section-container section-container--fixed"> 
487			<div class="products-and-services-features product-missions-and-features"> 
488				<#if (SeparatorMainFeaturesWall.WallSectionTitle.data)?has_content> 
489				<h2 class="products-and-services-features--heading section-heading section-heading--center"> 
490					<#assign escVar = (SeparatorMainFeaturesWall.WallSectionTitle.data)!""> 
491					<@leonardo.escapeTitle title=escVar /> 
492				</h2> 
493				</#if> 
494				<div class="products-and-services-features--content"> 
495					<#assign ulPresent = false> 
496 
497					<#list SeparatorMainFeaturesWall.SeparatorWallGroup.getSiblings() as cur_GroupMF> 
498						<#if (cur_GroupMF.MenuLabel.data)?has_content> 
499							<#if !ulPresent> 
500								<ul class="nav nav-tabs" role="tablist"> 
501								<#assign ulPresent = true> 
502							</#if> 
503							<li class='${(cur_GroupMF?index == 0)?then("active","")}' role="presentation"> 
504								<a href="#features-${cur_GroupMF?index}" aria-controls="features-${cur_GroupMF?index}-0" 
505									role="tab" data-toggle="tab">${(cur_GroupMF.MenuLabel.data)!}</a> 
506							</li> 
507						</#if> 
508					</#list> 
509					<#if ulPresent> 
510						</ul> 
511					</#if> 
512					<div class="tab-content"> 
513						<#list SeparatorMainFeaturesWall.SeparatorWallGroup.getSiblings() as cur_GroupMFWrap> 
514							<div class='tab-pane ${(cur_GroupMFWrap?index == 0)?then("active","")}' id="features-${cur_GroupMFWrap?index}" role="tabpanel"> 
515								<#list cur_GroupMFWrap.SeparatorWallGroupPoster.getSiblings() as cur_GroupMF> 
516									<!--POSTER ${cur_GroupMF?index}"--> 
517									<!--ROW 1--> 
518									<#if (cur_GroupMF.Row1.Row1BackgroundImage.getData())?has_content || 
519										  (cur_GroupMF.Row1.Row1Title.getData())?has_content || 
520										  (cur_GroupMF.Row1.Row1Abstract.getData())?has_content> 
521										<div class="section-grid layout--d-row-reverse layout--tp-col layout--m-col"> 
522											<div class="grid grid--d67p grid--tl67p grid--tp100p grid--m100p"> 
523 
524												<#assign scalingDetails = { 
525													 "desktop": {"alternateImage": {}, "key": "w_960"}, 
526													 "tl": {"alternateImage": (cur_GroupMF.Row1.Row1BackgroundImage.ImageTl)!, "key": "w_960"}, 
527													 "tp": {"alternateImage": (cur_GroupMF.Row1.Row1BackgroundImage.ImageTp)!, "key": "h_335"}, 
528													 "mobile": {"alternateImage": (cur_GroupMF.Row1.Row1BackgroundImage.ImageM)!, "key": "h_335"} 
529												}> 
530												<#assign rowImage = leonardo.adaptImage((cur_GroupMF.Row1.Row1BackgroundImage)!, scalingDetails )> 
531												<div class="products-and-services-features--content--graphic" 
532														data-img-url-d="${rowImage.desktop!}" 
533														data-img-url-tl="${rowImage.tablet_landscape!}" 
534														data-img-url-tp="${rowImage.tablet_portrait!}" 
535														data-img-url-m="${rowImage.mobile!}"> 
536												</div> 
537												<noscript> 
538													<img src="${rowImage.desktop!}" alt='${rowImage.alt_desktop!}'> 
539													<img src="${rowImage.tablet_landscape!}" alt='${rowImage.alt_tablet_landscape!}'> 
540													<img src="${rowImage.tablet_portrait!}" alt='${rowImage.alt_tablet_portrait!}'> 
541													<img src="${rowImage.mobile!}" alt='${rowImage.alt_mobile!}'> 
542												</noscript> 
543											</div> 
544											<div class="grid grid--d33p grid--tl33p grid--tp100p grid--m100p"> 
545												<div class="products-and-services-features--content--text"> 
546													<div class="products-and-services-features--content--text--wrap"> 
547														<h3 class="products-and-services-features--content--text--title"> 
548															<#assign escVar = (cur_GroupMF.Row1.Row1Title.data)!> 
549															<@leonardo.escapeTitle title=escVar /> 
550														</h3> 
551														<div class="products-and-services-features--content--text--desc"> 
552															${(cur_GroupMF.Row1.Row1Abstract.data)!} 
553														</div> 
554													</div> 
555												</div> 
556											</div> 
557										</div> 
558									</#if> 
559									<!--ROW 2--> 
560									<#if (cur_GroupMF.Row2.Row2BackgroundImage.getData())?has_content || 
561										  (cur_GroupMF.Row2.Row2Title.getData())?has_content || 
562										  (cur_GroupMF.Row2.Row2Abstract.getData())?has_content> 
563										<div class="section-grid layout--tp-col layout--m-col"> 
564											<div class="grid grid--d67p grid--tl67p grid--tp100p grid--m100p"> 
565 
566												<#assign scalingDetails = { 
567													 "desktop": {"alternateImage": {}, "key": "w_960"}, 
568													 "tl": {"alternateImage": (cur_GroupMF.Row2.Row2BackgroundImage.Row2ImageTl)!, "key": "w_960"}, 
569													 "tp": {"alternateImage": (cur_GroupMF.Row2.Row2BackgroundImage.Row2ImageTp)!, "key": "h_335"}, 
570													 "mobile": {"alternateImage": (cur_GroupMF.Row2.Row2BackgroundImage.Row2ImageM)!, "key": "h_335"} 
571												}> 
572												<#assign rowImage = leonardo.adaptImage((cur_GroupMF.Row2.Row2BackgroundImage)!, scalingDetails )> 
573												<div class="products-and-services-features--content--graphic" 
574														data-img-url-d="${rowImage.desktop!}" 
575														data-img-url-tl="${rowImage.tablet_landscape!}" 
576														data-img-url-tp="${rowImage.tablet_portrait!}" 
577														data-img-url-m="${rowImage.mobile!}"> 
578												</div> 
579												<noscript> 
580													<img src="${rowImage.desktop!}" alt='${rowImage.alt_desktop!}'> 
581													<img src="${rowImage.tablet_landscape!}" alt='${rowImage.alt_tablet_landscape!}'> 
582													<img src="${rowImage.tablet_portrait!}" alt='${rowImage.alt_tablet_portrait!}'> 
583													<img src="${rowImage.mobile!}" alt='${rowImage.alt_mobile!}'> 
584												</noscript> 
585											</div> 
586											<div class="grid grid--d33p grid--tl33p grid--tp100p grid--m100p"> 
587												<div class="products-and-services-features--content--text"> 
588													<div class="products-and-services-features--content--text--wrap"> 
589														<h3 class="products-and-services-features--content--text--title"> 
590														<#assign escVar = (cur_GroupMF.Row2.Row2Title.data)!> 
591														<@leonardo.escapeTitle title=escVar /> 
592														</h3> 
593														<div class="products-and-services-features--content--text--desc"> 
594															${(cur_GroupMF.Row2.Row2Abstract.data)!} 
595														</div> 
596													</div> 
597												</div> 
598											</div> 
599										</div> 
600									</#if> 
601									<!--ROW 3--> 
602									<#if (cur_GroupMF.Row3.Row3BackgroundImageLeft.getData())?has_content || 
603										  (cur_GroupMF.Row3.Row3BackgroundImageRight.getData())?has_content || 
604										  (cur_GroupMF.Row3.Row3Title.getData())?has_content || 
605										  (cur_GroupMF.Row3.Row3Abstract.getData())?has_content> 
606										<div class="section-grid layout--m-col layout--tp-wrap"> 
607											<div class="grid grid--d25p grid--tl25p grid--tp50p grid--m100p"> 
608												<#assign scalingDetails = { 
609													 "desktop": {"alternateImage": {}, "key": "h_400"}, 
610													 "tl": {"alternateImage": (cur_GroupMF.Row3.Row3BackgroundImageLeft.Row3LeftImageTl)!, "key": "w_366"}, 
611													 "tp": {"alternateImage": (cur_GroupMF.Row3.Row3BackgroundImageLeft.Row3LeftImageTp)!, "key": "w_335"}, 
612													 "mobile": {"alternateImage": (cur_GroupMF.Row3.Row3BackgroundImageLeft.Row3LeftImageM)!, "key": "h_335"} 
613												}> 
614												<#assign rowImage = leonardo.adaptImage((cur_GroupMF.Row3.Row3BackgroundImageLeft)!, scalingDetails )> 
615												<div class="products-and-services-features--content--graphic" 
616														data-img-url-d="${rowImage.desktop!}" 
617														data-img-url-tl="${rowImage.tablet_landscape!}" 
618														data-img-url-tp="${rowImage.tablet_portrait!}" 
619														data-img-url-m="${rowImage.mobile!}"> 
620												</div> 
621												<noscript> 
622													<img src="${rowImage.desktop!}" alt='${rowImage.alt_desktop!}'> 
623													<img src="${rowImage.tablet_landscape!}" alt='${rowImage.alt_tablet_landscape!}'> 
624													<img src="${rowImage.tablet_portrait!}" alt='${rowImage.alt_tablet_portrait!}'> 
625													<img src="${rowImage.mobile!}" alt='${rowImage.alt_mobile!}'> 
626												</noscript> 
627											</div> 
628											<div class="grid grid--d35p grid--tl35p grid--tp100p grid--m100p"> 
629												<div class="products-and-services-features--content--text"> 
630													<div class="products-and-services-features--content--text--wrap"> 
631														<h3 class="products-and-services-features--content--text--title"> 
632															<#assign escVar = (cur_GroupMF.Row3.Row3Title.data)!> 
633															<@leonardo.escapeTitle title=escVar /> 
634														</h3> 
635														<div class="products-and-services-features--content--text--desc"> 
636															${(cur_GroupMF.Row3.Row3Abstract.data)!} 
637														</div> 
638													</div> 
639												</div> 
640											</div> 
641											<div class="grid grid--d40p grid--tl40p grid--tp50p m-hidden"> 
642												<#assign scalingDetails = { 
643													 "desktop": {"alternateImage": {}, "key": "w_596"}, 
644													 "tl": {"alternateImage": (cur_GroupMF.Row3.Row3BackgroundImageRight.Row3RightImageTl)!, "key": "w_596"}, 
645													 "tp": {"alternateImage": (cur_GroupMF.Row3.Row3BackgroundImageRight.Row3RightImageTp)!, "key": "h_335"}, 
646													 "mobile": {"alternateImage": (cur_GroupMF.Row3.Row3BackgroundImageRight.Row3RightImageM)!, "key": "h_335"} 
647												}> 
648												<#assign rowImage = leonardo.adaptImage((cur_GroupMF.Row3.Row3BackgroundImageRight)!, scalingDetails )> 
649												<div class="products-and-services-features--content--graphic" 
650														data-img-url-d="${rowImage.desktop!}" 
651														data-img-url-tl="${rowImage.tablet_landscape!}" 
652														data-img-url-tp="${rowImage.tablet_portrait!}" 
653														data-img-url-m="${rowImage.mobile!}"> 
654												</div> 
655												<noscript> 
656													<img src="${rowImage.desktop!}" alt='${rowImage.alt_desktop!}'> 
657													<img src="${rowImage.tablet_landscape!}" alt='${rowImage.alt_tablet_landscape!}'> 
658													<img src="${rowImage.tablet_portrait!}" alt='${rowImage.alt_tablet_portrait!}'> 
659													<img src="${rowImage.mobile!}" alt='${rowImage.alt_mobile!}'> 
660												</noscript> 
661											</div> 
662										</div> 
663									</#if> 
664								</#list> 
665							</div> 
666						</#list> 
667					</div> 
668				</div> 
669			</div> 
670		</div> 
671	</#if> 
672	<!--END MODULE: MAIN FEATURES--> 
673 
674	<!--START MODULE: FREE AREA 1--> 
675    <#if sectionFreeArea1 > 
676		<#list SeparatorMainFeatures.getSiblings() as cur_sectionMF> 
677			<!--Start Module: Section Content--> 
678			<#assign showTitleOrText = false> 
679			<#if (cur_sectionMF.MFSectionTitle.getData())?has_content || 
680				 (cur_sectionMF.MFText.getData())?has_content> 
681				<#assign showTitleOrText = true> 
682			</#if> 
683			<#if showTitleOrText> 
684				<div class="section-container section-container--fixed generic-content-body"> 
685					<div class="section-content"> 
686						<div class="section-content--content section-content--features-${cur_sectionMF?index}"> 
687							<#if (cur_sectionMF.MFSectionTitle.getData())?has_content> 
688								<div class="section-content--features--heading section-heading section-heading--center"> 
689									${cur_sectionMF.MFSectionTitle.getData()} 
690								</div> 
691							</#if> 
692							<#if cur_sectionMF.MFText.getData() != ""> 
693								<#assign htmlFormatted = leonardo.expandElementsInPage(cur_sectionMF.MFText.getData())> 
694								<div class="check-html-content">${htmlFormatted}</div> 
695							</#if> 
696						</div> 
697					</div> 
698				</div> 
699			</#if> 
700			<#if (cur_sectionMF.FreeWebContent.getData())?has_content> 
701				<!--Start Module: Free Web Content --> 
702				<div ${(showTitleOrText)?then('','class="section-content--features-'+ cur_sectionMF?index + '"')}> 
703					<#assign data = cur_sectionMF.FreeWebContent.getData()/> 
704					<#assign json = jsonFactoryUtil.createJSONObject(data) /> 
705					<#assign classPK = json.getLong("classPK") /> 
706					<#if (classPK >0) > 
707						<#assign ja = journalArticleLocalService.getLatestArticle(classPK) /> 
708						<#assign jad = journalArticleLocalService.getArticleDisplay(ja, ja.getTemplateId(), "", languageId, 1, null, themeDisplay) /> 
709						${jad.getContent()} 
710					</#if> 
711				</div> 
712				<!--End Module: Free Web Content--> 
713			</#if> 
714			<!--End Module: Section Content--> 
715		</#list> 
716    </#if> 
717	<!--END MODULE: FREE AREA 1--> 
718 
719	<!--START MODULE: PRODUCTS TECHNICAL DATA--> 
720	<#if sectionTDFound  > 
721		<div class="section-container section-container--fixed"> 
722			<div class="products-technical-data" data-expandable="true" data-lazy-load="12"> 
723				<#if SeparatorTechnicalData.TDSectionTitle.getData() != ""> 
724					<h2 class="products-technical-data--heading section-heading section-heading--center"> 
725						${SeparatorTechnicalData.TDSectionTitle.getData()} 
726					</h2> 
727				</#if> 
728				<div class="products-technical-data--specifications"> 
729					<#if SeparatorTechnicalData.TDTitle.getSiblings()?has_content> 
730						<#list SeparatorTechnicalData.TDTitle.getSiblings() as cur_TDTitle> 
731							<div class='products-technical-data--spec invisible'> 
732								<#if cur_TDTitle.getData() != ""> 
733									<div class="products-technical-data--spec--label">${cur_TDTitle.getData()}</div> 
734								</#if> 
735        						<#if cur_TDTitle.TDText.getData() != ""> 
736									<div class="products-technical-data--spec--value"> 
737										${cur_TDTitle.TDText.getData()} 
738									</div> 
739								</#if> 
740							</div> 
741 
742						</#list> 
743					</#if> 
744				</div> 
745				<#if SeparatorTechnicalData.TDButtonLabel.getData() != ""> 
746					<div class="products-technical-data--action-items"> 
747						<div class="" style="text-align: center;"> 
748							<button class="btn btn-leo see-more" type="button">${SeparatorTechnicalData.TDButtonLabel.getData()}</button> 
749						</div> 
750					</div> 
751        		</#if> 
752			</div> 
753		</div> 
754	</#if> 
755	<!--END MODULE: PRODUCTS TECHNICAL DATA--> 
756 
757	<!--START MODULE: FREE AREA 2 --> 
758    <#if sectionFreeArea2 > 
759		<#list SeparatorFreeArea2.getSiblings() as cur_sectionFA2> 
760			<!--Start Module: Section Content--> 
761			<#assign showTitleOrText = false> 
762			<#if (cur_sectionFA2.Fa2SectionTitle.getData())?has_content || 
763				 (cur_sectionFA2.Fa2Text.getData())?has_content> 
764				<#assign showTitleOrText = true> 
765			</#if> 
766			<#if showTitleOrText> 
767				<div class="section-container section-container--fixed generic-content-body"> 
768					<div class="section-content"> 
769						<div class="section-content--content section-content--features-fa2-${cur_sectionFA2?index}"> 
770							<#if (cur_sectionFA2.Fa2SectionTitle.getData())?has_content> 
771								<div class="section-content--features--heading section-heading section-heading--center"> 
772									${cur_sectionFA2.Fa2SectionTitle.getData()} 
773								</div> 
774							</#if> 
775							<#if cur_sectionFA2.Fa2Text.getData() != ""> 
776								<#assign htmlFormatted = leonardo.expandElementsInPage(cur_sectionFA2.Fa2Text.getData())> 
777								<div class="check-html-content">${htmlFormatted}</div> 
778							</#if> 
779						</div> 
780					</div> 
781				</div> 
782			</#if> 
783			<#if (cur_sectionFA2.Fa2WebContent.getData())?has_content> 
784				<!--Start Module: Free Web Content --> 
785				<div ${(showTitleOrText)?then('','class="section-content--features-fa2-'+ cur_sectionFA2?index + '"')}> 
786					<#assign data = cur_sectionFA2.Fa2WebContent.getData()/> 
787					<#assign json = jsonFactoryUtil.createJSONObject(data) /> 
788					<#assign classPK = json.getLong("classPK") /> 
789					<#if (classPK >0) > 
790						<#assign ja = journalArticleLocalService.getLatestArticle(classPK) /> 
791						<#assign jad = journalArticleLocalService.getArticleDisplay(ja, ja.getTemplateId(), "", languageId, 1, null, themeDisplay) /> 
792						${jad.getContent()} 
793					</#if> 
794				</div> 
795				<!--End Module: Free Web Content--> 
796			</#if> 
797			<!--End Module: Section Content--> 
798		</#list> 
799    </#if> 
800	<!--END MODULE: FREE AREA 2 --> 
801 
802	<!--START MODULE: DOWNLOAD --> 
803	<#if sectionDownloadFound> 
804 
805    <div class="section-container section-container--fixed"> 
806		<div class="section-content"> 
807			<div class="products-technical-data--action-items--downloads" style="margin-top: 0px;"> 
808				<#if (SeparatorDownloads.DownloadsSectionTitle.getData())?has_content> 
809					<div class="products-technical-data--action-items--downloads--title"> 
810						${SeparatorDownloads.DownloadsSectionTitle.getData()} 
811					</div> 
812				</#if> 
813				<#if SeparatorDownloads.DownloadFileURL.getSiblings()?has_content> 
814					<div class="products-technical-data--action-items--downloads--items"> 
815						<#list SeparatorDownloads.DownloadFileURL.getSiblings() as cur_DownloadFileURL> 
816							<#if cur_DownloadFileURL.getData()?? && cur_DownloadFileURL.getData() != ""> 
817								<div class="products-technical-data--action-items--downloads--item"> 
818									<#assign file_info = leonardo.findFileEntryInfo(cur_DownloadFileURL.getData()) > 
819 
820									<a class="products-technical-data--action-items--downloads--item--link" 
821										href="${docsDownloadURL}${file_info.downloadUrl}" 
822										title='${(file_info.title)!cur_DownloadFileURL.DownloadFileLabel.getData()!}' 
823										target="_blank"> 
824										<svg xmlns="http://www.w3.org/2000/svg" width="14" height="18" viewBox="0 0 14 18"> 
825											<path fill="#000" fill-rule="nonzero" d="M6.61 12.763l-2.145-2.24a.58.58 0 0 1 0-.796c.211-.22.551-.22.762 0l1.235 1.29V6.75c0-.31.24-.563.538-.563.297 0 .538.252.538.563v4.267l1.235-1.29c.21-.22.551-.22.762 0a.58.58 0 0 1 0 .796l-2.145 2.24a.526.526 0 0 1-.78 0zM12.62 18H1.383C.62 18 0 17.368 0 16.592V5.037c0-.49.19-.968.52-1.314L3.565.544A1.728 1.728 0 0 1 4.82 0h7.797C13.38 0 14 .631 14 1.407v15.186C14 17.37 13.38 18 12.619 18zM4.82 1.125a.682.682 0 0 0-.496.214L1.282 4.52a.755.755 0 0 0-.205.518v11.555c0 .156.137.283.306.283h11.235c.168 0 .305-.127.305-.282V1.407c0-.155-.137-.282-.305-.282H4.821zm-.783 4.5H2.154a.551.551 0 0 1-.539-.563c0-.31.242-.562.539-.562h1.884c.15 0 .27-.126.27-.281V2.25c0-.31.24-.563.538-.563.297 0 .539.252.539.563v1.969c0 .775-.605 1.406-1.347 1.406zm6.193 9.563H3.769a.55.55 0 0 1-.538-.563.55.55 0 0 1 .538-.563h6.462a.55.55 0 0 1 .538.563.55.55 0 0 1-.538.563z"/> 
826										</svg> 
827										<span class="products-technical-data--action-items--downloads--item--link--title"> 
828											${(cur_DownloadFileURL.DownloadFileLabel.getData())!(file_info.title)!} 
829										</span> 
830									</a> 
831								</div> 
832							</#if> 
833						</#list> 
834					</div> 
835				</#if> 
836			</div> 
837		</div> 
838	</div> 
839	</#if> 
840	<!--END MODULE: DOWNLOAD --> 
841</div> 
842<#assign metaDesc = ""> 
843<!-- Meta description --> 
844<#if (layout.getDescription(themeDisplay.locale))?has_content> 
845	<#assign metaDesc = layout.getDescription(themeDisplay.locale)> 
846<#elseif (.vars['reserved-article-description'].data)?has_content> 
847	<#assign metaDesc = .vars['reserved-article-description'].data> 
848</#if> 
849<#if metaDesc?has_content> 
850	${layout.setDescription(metaDesc)} 
851</#if> 
852<#if SeparatorHero?? && (SeparatorHero.HeroImage.getData())?has_content> 
853	<!-- Social Sharing --> 
854	<#if (heroImg.desktop)?has_content> 
855		<#assign imageFileName = heroImg.desktop!"" > 
856	<#elseif (overviewImg.desktop)?has_content> 
857		<#assign imageFileName = overviewImg.desktop!"" > 
858	<#else> 
859		<#assign imageFileName = "" > 
860	</#if> 
861 
862	<#if (SeparatorHero.HeroTitle.getData())?has_content> 
863		<#assign shareDescription = (htmlUtil.escape(SeparatorHero.HeroTitle.getData())!"")/> 
864		<#assign shareDescription = (shareDescription?replace("\n", " "))/> 
865	</#if> 
866 
867	<#assign ogType='product'> 
868 
869	<#assign twitterVia = "Leonardo_live"> 
870	<@leonardo.socialShareMetaAndLinks shareDescription=shareDescription imageFileName=imageFileName ogType=ogType twitterVia=twitterVia/> 
871</#if> 
872</#if>