An error occurred while processing the template.
The following has evaluated to null or missing:
==> imageSmallCard  [in template "20116#20152#GLOBAL.TEMPLATE.BLOG" at line 32, column 48]

----
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: ${getOptimImage(imageSmallCard.getDat...  [in template "20116#20152#GLOBAL.TEMPLATE.BLOG" at line 32, column 32]
----
1<#include "/ams-templates-bundle_SERVLET_CONTEXT_/global/application_display_template/templates/UtilityMacros.ftl" /> 
2 
3<style> 
4    .banner { 
5        display: none; 
6
7</style> 
8 
9<#assign 
10    journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
11    journalArticleResourceLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") 
12    assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") 
13    assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
14    baseSearchLocalService = serviceLocator.findService("at.dccs.liferay.search.BaseSearchLocalService") 
15 
16    journalArticleId = .vars['reserved-article-id'].data 
17    displayDate = .vars['reserved-article-display-date'].data 
18    articleResourcePrimaryKey = journalArticleResourceLocalService.getArticleResourcePrimKey(groupId, journalArticleId) 
19    assetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", articleResourcePrimaryKey) 
20 
21    assetCategories = assetEntry.getCategories() 
22    assetTags = assetEntry.getTagNames() 
23    assetLinks = assetLinkLocalService.getLinks(assetEntry.getEntryId()) 
24    hasFeatureImage = false 
25/> 
26 
27<#if imageSmallCard?? && imageSmallCard.getData()?? && imageSmallCard.getData() != ""> 
28    <#assign hasFeatureImage = true /> 
29</#if> 
30<style type="text/css"> 
31    .blog-entry-header .blog-entry-feature-image .blog-banner-container{ 
32        background-image: url('${getOptimImage(imageSmallCard.getData(), 5000)}'); 
33
34 
35    @media screen and (max-width: 375px) { 
36        .blog-entry-header .blog-entry-feature-image .blog-banner-container { 
37            background-image: url('${getOptimImage(imageSmallCard.getData(), 750)}'); 
38
39
40    @media screen and (min-width: 376px) and (max-width: 736px) { 
41        .blog-entry-header .blog-entry-feature-image .blog-banner-container { 
42            background-image: url('${getOptimImage(imageSmallCard.getData(), 1472)}'); 
43
44
45    @media screen and (min-width: 737px) and (max-width: 1200px) { 
46        .blog-entry-header .blog-entry-feature-image .blog-banner-container { 
47            background-image: url('${getOptimImage(imageSmallCard.getData(), 2400)}'); 
48
49
50    @media screen and (min-width: 1201px) and (max-width: 2500px) { 
51        .blog-entry-header .blog-entry-feature-image .blog-banner-container { 
52            background-image: url('${getOptimImage(imageSmallCard.getData(), 3500)}'); 
53
54
55 
56</style> 
57<header class="blog-entry-header<#if !hasFeatureImage> is-imageless</#if>"> 
58    <figure class="blog-entry-feature-image"> 
59        <div class="blog-banner-container"> 
60            <div class="fill-space banner__bg"></div> 
61            <div class="container" style="top: 0;  height: 100%;margin: 0 auto;"> 
62                <div class="row" style="height: 100%"> 
63                    <div class="col-lg-4 col-md-6 col-sm-8 col-xs-12 blog-banner-meta banner__bg"> 
64                        <div class="blog-categories"> 
65                          <#if themeDisplay.getScopeGroupId() == 20143> 
66                            <#list assetCategories as assetCategory> 
67                                <#if assetCategory?is_last> 
68                                    <a href="/sensor-blog/-/categories/${assetCategory.getCategoryId()}">${assetCategory.getTitle(locale)}</a> 
69                                <#else> 
70                                    <a href="/sensor-blog/-/categories/${assetCategory.getCategoryId()}">${assetCategory.getTitle(locale)}</a> | 
71                                </#if> 
72                            </#list> 
73                            &middot; 
74                          </#if> 
75                          ${displayDate?date("EEE, d MMM yyyy HH:mm:ss Z")?string["yyyy/MM/dd"]} 
76                        </div> 
77                       
78                        <div class="blog-entry-title-container"> 
79                            <h1 class="blog-entry-title"> 
80                                <#if title.getData()?length gt 100> 
81                                    ${title.getData()?substring(0, 100) + '...'} 
82                                <#else> 
83                                    ${title.getData()} 
84                                </#if> 
85                            </h1> 
86                        </div> 
87 
88                    </div> 
89                </div> 
90            </div> 
91            <div class="fill-space"></div> 
92        </div> 
93    </figure> 
94</header> 
95<div class="container"> 
96    <article class="blog-entry"> 
97        <div class="blog-entry-grid clearfix"> 
98            <div class="blog-entry-content"> 
99                <p class="blog-entry-abstract"> 
100                    ${abstract.getData()} 
101                </p> 
102 
103                ${textRightColumn.getData()} 
104                <#if assetLinks?? && assetLinks?has_content> 
105                  <nav class="blog-entry-related"> 
106                      <h4>Related articles</h4> 
107                      <div class="blog-entry-related-assets"> 
108                          <#list assetLinks as assetLink> 
109                              <#if assetLink.getEntryId1() == assetEntry.getEntryId()> 
110                                  <#assign 
111                                      currentEntryId = assetLink.getEntryId2() 
112                                      currentEntry = assetEntryLocalService.getEntry(currentEntryId) 
113                                      article = journalArticleLocalService.fetchLatestArticle(currentEntry.getClassPK()) 
114                                      xmldocument = saxReaderUtil.read(article.getContent()) 
115                                      relatedtitle = xmldocument.valueOf("//dynamic-element[@name='title']/dynamic-content[@language-id='en_US']/text()") 
116                                      relatedimage = xmldocument.valueOf("//dynamic-element[@name='imageSmallCard']/dynamic-content[@language-id='en_US']/text()") 
117
118                                  <a href="/-/${article.getUrlTitle()}"> 
119                                      <figure> 
120                                          <img src="${getOptimImage(relatedimage, 456)}" alt="${relatedtitle}" /> 
121                                      </figure> 
122                                      ${relatedtitle} 
123                                  </a> 
124                              </#if> 
125                          </#list> 
126                      </div> 
127                  </nav> 
128              </#if> 
129            </div> 
130            <aside class="blog-entry-info"> 
131                <div class="blog-entry-author"> 
132                    <#if authorImage?? && authorImage.getData()?? && authorImage.getData() != ""> 
133                        <span class="blog-entry-author-avatar"> 
134                            <img alt="${authorImage.getAttribute("alt")}" src="${getOptimImage(authorImage.getData(), 200)}" /> 
135                        </span> 
136                    </#if> 
137                    <span class="blog-entry-author-info"> 
138                          <strong>${authorName.getData()}</strong> 
139                          <#if author_descr?? && author_descr.getData()?? && author_descr.getData()?has_content> 
140                              ${author_descr.getData()} 
141                          </#if> 
142                      </span> 
143                </div> 
144                <#if leftColumnDownloadInfo?? && leftColumnDownloadInfo.getSiblings()?has_content> 
145                    <#list leftColumnDownloadInfo.getSiblings() as downloadInfo> 
146                        <#assign 
147                        linkExist = downloadInfo.DocumentsAndMedia.getData()?has_content 
148                        labelExist = downloadInfo.leftColumnDownloadLabel.getData()?has_content 
149                        isGatedContent = false 
150                        /> 
151                        <#if linkExist && labelExist> 
152                            <#assign 
153                            url = downloadInfo.DocumentsAndMedia.getData() 
154                            fileEntryMap = getDLFileEntry(url) 
155                            /> 
156 
157                            <#if fileEntryMap?? 
158                            && fileEntryMap['fileEntryTypeName']?? 
159                            && fileEntryMap['fileEntryTypeName']=='Gated Content' 
160                            && fileEntryMap['fileEntryId']??> 
161                                <#assign isGatedContent = true/> 
162                            </#if> 
163 
164                            <div class="blog-entry-download"> 
165                                ${downloadInfo.getData()} 
166                                <#if isGatedContent> 
167                                    <a class="button button--primary" href="#" 
168                                       data-document-id="${fileEntryMap['fileEntryId']}" 
169                                       data-dlfileentry-type-name="${fileEntryMap['fileEntryTypeName']}" 
170                                       data-request-document-download> 
171                                        ${downloadInfo.leftColumnDownloadLabel.getData()} 
172                                    </a> 
173                                <#else> 
174                                    <a class="button button--primary" href="${downloadInfo.DocumentsAndMedia.getData()}" 
175                                       target="_blank"> 
176                                        ${downloadInfo.leftColumnDownloadLabel.getData()} 
177                                    </a> 
178                                </#if> 
179 
180                            </div> 
181                        </#if> 
182                    </#list> 
183                </#if> 
184                <#if leftColumnTitle?? && leftColumnTitle.getSiblings()?has_content> 
185                    <#list leftColumnTitle.getSiblings() as cur_leftColumnTitle> 
186                        <#if cur_leftColumnTitle.leftColumnText.getData()?has_content> 
187                            <div class="info-detail__left-card"> 
188                                <h3>${cur_leftColumnTitle.getData()}</h3> 
189                                <p>${cur_leftColumnTitle.leftColumnText.getData()}</p> 
190                                <#if cur_leftColumnTitle.leftColumnImage.getData()?has_content> 
191                                    <div class="info-detail__left-image" 
192                                         style="background-image: url('${cur_leftColumnTitle.leftColumnImage.getData()}')"></div> 
193                                <#elseif cur_leftColumnTitle.leftColumnYoutubeLink.getData()?has_content> 
194                                    <object class="info-detail__left-video" 
195                                            data="${cur_leftColumnTitle.leftColumnYoutubeLink.getData()}"></object> 
196                                </#if> 
197 
198                                <#if cur_leftColumnTitle.leftColumnLinkText?has_content> 
199                                    <#assign 
200                                    linkToPage = cur_leftColumnTitle.leftColumnLinkText.leftColumnLinkToPage 
201                                    linkToSite = cur_leftColumnTitle.leftColumnLinkText.leftColumnLinkToSite 
202                                    isButton = cur_leftColumnTitle.leftColumnLinkText.isButton 
203                                    url = (linkToPage.data?has_content && linkToPage.getFriendlyUrl()?has_content)?then(linkToPage.getFriendlyUrl(), linkToSite.data) 
204                                    buttonStyle = getterUtil.getBoolean(isButton.getData())?then('button--primary', 'button--link') 
205                                    /> 
206                                    <div class="info-detail__card-footer"> 
207                                        <a class="button ${buttonStyle}" href="${url}"> 
208                                            ${cur_leftColumnTitle.leftColumnLinkText.data} 
209                                        </a> 
210                                    </div> 
211                                </#if> 
212                            </div> 
213                        </#if> 
214                        <#if cur_leftColumnTitle.leftColumnImage.getData()?has_content || cur_leftColumnTitle.leftColumnYoutubeLink.getData()?has_content> 
215                            <figure class="blog-entry-figure"> 
216                                <#if cur_leftColumnTitle.leftColumnImage.getData()?has_content> 
217                                    <img alt="${cur_leftColumnTitle.getData()}" src="${getOptimImage(cur_leftColumnTitle.leftColumnImage.getData(), 420)}" /> 
218                                <#elseif cur_leftColumnTitle.leftColumnYoutubeLink.getData()?has_content> 
219                                    <object class="info-detail__left-video" 
220                                            data="${cur_leftColumnTitle.leftColumnYoutubeLink.getData()}" 
221                                    ></object> 
222                                </#if> 
223                            </figure> 
224                        </#if> 
225                    </#list> 
226                </#if> 
227 
228                <footer class="blog-entry-footer"> 
229                    <div class="blog-entry-hashtags"> 
230                      <#if themeDisplay.getScopeGroupId() == 20143> 
231                        <#list assetTags as assetTag> 
232                            <a href="/sensor-blog/-/tag/${assetTag?replace(" ", "+")}">#${assetTag}</a> 
233                        </#list> 
234                      </#if> 
235                    </div> 
236                    <#assign currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() /> 
237                    <div class="blog-entry-share-links"> 
238                        <a href="https://www.facebook.com/sharer/sharer.php?u=${currentUrl?url('utf-8')}" target="_blank"> 
239                            <span class="icon"> 
240                                <svg enable-background="new 0 0 28.3 28.3" viewBox="0 0 28.3 28.3" xmlns="http://www.w3.org/2000/svg" width="28px" height="28px"> 
241                                    <path d="m0 0h28.4v28.4h-28.4z" fill="currentColor"/> 
242                                    <path d="m10.8 11.8h1.5v-1.4c0-.6 0-1.6.5-2.2s1.1-1.1 2.3-1.1c1.9 0 2.6.3 2.6.3l-.4 2.2s-.6-.2-1.2-.2-1.1.2-1.1.8v1.7h2.3l-.2 2.1h-2.1v7.4h-2.7v-7.4h-1.5z" fill="#fff"/> 
243                                </svg> 
244                            </span> 
245                        </a> 
246                        <a href="https://twitter.com/intent/tweet?text=${title.getData()?url('utf-8')}&url=${currentUrl?url('utf-8')}" target="_blank"> 
247                            <span class="icon"> 
248                                <svg enable-background="new 0 0 28.3 28.3" viewBox="0 0 28.3 28.3" xmlns="http://www.w3.org/2000/svg" width="28px" height="28px"> 
249                                    <path d="m.1 0h28.4v28.4h-28.4z" fill="currentColor"/> 
250                                    <path d="m21.4 10.5c-.5.2-1.1.4-1.7.5.6-.4 1.1-.9 1.3-1.6-.6.3-1.2.6-1.9.7-.5-.6-1.3-.9-2.1-.9-1.6 0-2.9 1.3-2.9 2.9 0 .2 0 .5.1.7-2.4-.1-4.6-1.3-6-3-.3.4-.4.9-.4 1.5 0 1 .5 1.9 1.3 2.4-.5 0-.9-.1-1.3-.4 0 1.4 1 2.6 2.3 2.9-.2.1-.5.1-.8.1-.2 0-.4 0-.5-.1.4 1.2 1.4 2 2.7 2-1 .8-2.3 1.2-3.6 1.2-.2 0-.5 0-.7 0 1.3.8 2.8 1.3 4.5 1.3 5.4 0 8.3-4.4 8.3-8.3 0-.1 0-.3 0-.4.5-.4 1-.9 1.4-1.5" fill="#fff"/> 
251                                </svg> 
252                            </span> 
253                        </a> 
254                        <a href="https://www.linkedin.com/shareArticle?mini=true&url=${currentUrl?url('utf-8')}&title=${title.getData()?url('utf-8')}&description=${abstract.getData()?url('utf-8')}&source=ams.com" target="_blank"> 
255                            <span class="icon"> 
256                                <svg enable-background="new 0 0 28.3 28.3" viewBox="0 0 28.3 28.3" xmlns="http://www.w3.org/2000/svg" width="28px" height="28px"> 
257                                    <path d="m0 0h28.4v28.4h-28.4z" fill="currentColor"/> 
258                                    <path d="m10.2 20.1h-2.8v-8.9h2.8zm-1.5-9.9c-1 0-1.7-.7-1.7-1.5 0-.9.7-1.5 1.7-1.5s1.6.7 1.7 1.5c0 .8-.6 1.5-1.7 1.5zm12.6 9.9h-3.1v-4.6c0-1.2-.5-2-1.6-2-.8 0-1.3.6-1.5 1.1-.1.2-.1.5-.1.7v4.8h-3.1s0-8.1 0-8.9h3.1v1.4c.2-.6 1.2-1.5 2.8-1.5 2 0 3.5 1.3 3.5 4z" fill="#fff"/> 
259                                </svg> 
260                            </span> 
261                        </a> 
262                        <a href="mailto:?subject=${title.getData()?url('utf-8')}&body=${currentUrl?url('utf-8')}"> 
263                            <span class="icon"> 
264                                <svg enable-background="new 0 0 28.3 28.3" viewBox="0 0 28.3 28.3" xmlns="http://www.w3.org/2000/svg" width="28px" height="28px"> 
265                                    <path d="m0 0h28.4v28.4h-28.4z" fill="currentColor"/> 
266                                    <path d="m21.1 8.6h-13.9c-.8 0-1.4.6-1.4 1.4v8.3c0 .8.6 1.4 1.4 1.4h13.9c.8 0 1.4-.6 1.4-1.4v-8.3c0-.7-.6-1.4-1.4-1.4zm-1.3 1.4-5.6 3.4-5.6-3.4zm-12.6 8.4v-7.5l6.6 4c.1.1.2.1.4.1s.2 0 .4-.1l6.6-4v7.5z" fill="#fff"/> 
267                                </svg> 
268                            </span> 
269                        </a> 
270                    </div> 
271                </footer> 
272            </aside> 
273        </div> 
274    </article> 
275</div> 
276<style> 
277.osram-theme .blog-entry-title { 
278  font-size: 44px !important; 
279  overflow: inherit; 
280
281</style>