An unexpected error has occured.
System.Exception:
Error processing template
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Message: The given key was not present in the dictionary.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
StackTrace: at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Source: mscorlib
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TargetSite: Void ThrowKeyNotFoundException()
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
001: #set($hasText = false)
002: #set($hasLink = false)
003:
004: #if ("$!{Text}" != "" || $IsEditor)
005: #set($hasText = true)
006: #end
007:
008: #set($Href = "$!{Href}")
009: #if ("$!{Href}" != "" && ($Href.StartsWith("http://") || $Href.StartsWith("https://")))
010: #set($isExternal = true)
011: #else
012: #set($isExternal = false)
013: #end
014:
015: #set($imageContainerTag = "div")
016: #if ("$!{Href}" != "")
017: #set($hasLink = true)
018: #set($imageContainerTag = "a")
019: #end
020:
021: #set($hasVideo = false)
022: #if ("$!{VideoURL}" != "")
023: #set($hasVideo = true)
024: #end
025:
026: #set($variant = "$!{Variant}")
027: #if ($variant == "article")
028: #set($CssClass = "$!{CssClass} widget--article")
029: #end
030:
031: #set($innerBgClass = "")
032: #if ($variant.Contains("default"))
033: #if("$!{BackgroundColor}" == "white")
034: #set($innerBgColor = "primary-50")
035: #else
036: #set($innerBgColor = "white")
037: #end
038: #set($innerBgClass = "bg-$!{innerBgColor} text-on-$!{innerBgColor}")
039: #end
040:
041: #set($alt = "")
042: #if(!$IsEditor)
043: #set($LinkText = "$!{LinkText}")
044:
045: #if ("$!{Variant}" == "article")
046: #if ($Tools.ToBool($ArticleImage))
047: #set($srcArticle = "${ArticleImage.Src}")
048: #set($alt = "${ArticleImage.Alt}")
049: #else
050: #set($srcArticle = "${ArticleImage}")
051: #end
052: #elseif ("$!{Variant}" == "list")
053: #if ($Tools.ToBool($ListImage))
054: #set($srcList = "${ListImage.Src}")
055: #set($alt = "${ListImage.Alt}")
056: #else
057: #set($srcList = "${ListImage}")
058: #end
059: #elseif ($variant.Contains("bleed"))
060: #if ($Tools.ToBool($BleedImage))
061: #set($src = "${BleedImage.Src}")
062: #set($alt = "${BleedImage.Alt}")
063: #else
064: #set($src = "${BleedImage}")
065: #end
066: #else
067: #if ($Tools.ToBool($Image))
068: #set($src = "${Image.Src}")
069: #set($alt = "$!{Image.Alt}")
070: #else
071: #set($src = "${Image}")
072: #end
073: #end
074: #end
075:
076: #if($hasText && $alt == "")
077: #set($plainText = $Tools.StripTags("$!{Text}"))
078: #set($firstSentenceEnd = $plainText.indexOf("."))
079: #if($firstSentenceEnd != -1)
080: #set($firstSentence = $plainText.substring(0, $firstSentenceEnd))
081: #else
082: #set($firstSentence = $plainText)
083: #end
084: #set($alt = $Tools.Truncate($firstSentence, 120))
085: #end
086:
087: #if ("$!{HasContainer}" == "true")
088: #set($hasContainer = true)
089: #else
090: #set($hasContainer = false)
091: #end
092:
093: #set($bgClass = "bg-$!{BackgroundColor} text-on-$!{BackgroundColor}")
094:
095: #if ("$!{Attributes}" != "")
096: #set($Attributes = "$!{Attributes}")
097: #if ($Attributes.contains("data-script"))
098: #set($CssClass = "$!{CssClass} lazyload")
099: #end
100:
101: #if ($Attributes.contains("data-eager"))
102: #set($CssClass = "$!{CssClass} lazyload-eager")
103: #end
104: #end
105:
106: #if ($IsEditor && "$!{TitleTag}" == "p")
107: #set( $TitleTag = "div" )
108: #end
109:
110: #if ($hasContainer)
111: <section
112: #if("$!{Anchor}" != "")
113: id="$!{Anchor}"
114: #end
115: class="widget widget--title-text-media $!{bgClass} $!{CssClass}"
116: $!{Attributes}
117: >
118: #end
119:
120: #if ("$!{Variant}" == "article")
121: <div class="container container--small">
122: <div class="text title-text title-text-media title-text-media--article text--${Variant}">
123: <figure class="text-text-media__fig">
124: <$!{imageContainerTag}
125: #set($linkCssClass = "")
126: #if ($hasLink && !$hasVideo)
127: href="$!{Href}"
128: #if($isExternal)
129: target="_blank"
130: rel="nofollow noopener"
131: #elseif("$!{NewTab}" == "True")
132: target="_blank"
133: #end
134: tabindex="-1"
135: #set($linkCssClass = "hover-image hover-image--scale")
136: #if (!$HasAlt)
137: aria-hidden="true"
138: #end
139: #end
140: #if ($hasVideo)
141: #if (!$IsEditor)
142: #set($sources = $Tools.GetVideoSourcesString("$!{VideoURL}"))
143: data-sources='$!{sources}'
144: data-poster-srcset="
145: $Tools.ResizeImage($Poster, 600, 0) 600w,
146: $Tools.ResizeImage($Poster, 800, 0) 800w,
147: $Tools.ResizeImage($Poster, 1280, 0) 1280w
148: "
149: data-poster-src="$Tools.ResizeImage($Poster, 1280, 0)"
150: data-width="1920"
151: data-height="1080"
152: data-autoplay="true"
153: aria-label="Play $!{Tools.ToHtmlAttribute($Title)} video"
154: role="button"
155: tabindex="0"
156: #set($linkCssClass = "open-video-modal hover-image hover-image--scale")
157: #else
158: #set($linkCssClass = "hover-image hover-image--scale")
159: #end
160: #end
161: class="title-text-media-wrap relative z-1 $!{linkCssClass}"
162: >
163: <img
164: class="title-text-media__img"
165: #if (!$IsEditor)
166: #set($srcArticle = $srcArticle.Replace("/media/", "/compress/media/" ).Replace(".png", ".jpg"))
167: sizes="(min-width: 1440px) 842px, (min-width: 768px) 58.46vw, calc(100vw - 40px)"
168: srcset="
169: $Tools.ResizeImage($srcArticle, 374, 0) 374w,
170: $Tools.ResizeImage($srcArticle, 449, 0) 449w,
171: $Tools.ResizeImage($srcArticle, 600, 0) 600w,
172: $Tools.ResizeImage($srcArticle, 727, 0) 727w,
173: $Tools.ResizeImage($srcArticle, 842, 0) 842w
174: "
175: src="$Tools.ResizeImage($srcArticle, 842, 0)"
176: alt="$!{Tools.ToHtmlAttribute($alt)}"
177: #else
178: src="${ArticleImage.Src}"
179: #end
180: width="842"
181: height="474"
182: loading="lazy"
183: />
184: #if ($hasVideo)
185: <span class="absolute-center" aria-hidden="true">
186: <span class="btn btn--icon btn--play btn--white-solid"></span>
187: </span>
188: #end
189: </$!{imageContainerTag}>
190: #if("$!{ArticleImage.Caption}" != "")
191: <figcaption class="title-text-media__caption text-sm text-center">
192: $!{ArticleImage.Caption}
193: </figcaption>
194: #end
195: </figure>
196: #if($hasText)
197: <div class="text__text">${Text}</div>
198: #end
199: </div>
200: </div>
201: #elseif("$!{Variant}" == "list")
202: <div class="text title-text title-text-media--list text--${Variant}">
203: <$!{imageContainerTag}
204: #set($linkCssClass = "")
205: #if ($hasLink && !$hasVideo)
206: href="$!{Href}"
207: #if($isExternal)
208: target="_blank"
209: rel="nofollow noopener"
210: #elseif("$!{NewTab}" == "True")
211: target="_blank"
212: #end
213: tabindex="-1"
214: #set($linkCssClass = "hover-image hover-image--scale")
215: #if (!$HasAlt)
216: aria-hidden="true"
217: #end
218: #end
219: #if ($hasVideo)
220: #if (!$IsEditor)
221: #set($sources = $Tools.GetVideoSourcesString("$!{VideoURL}"))
222: data-sources='$!{sources}'
223: data-poster-srcset="
224: $Tools.ResizeImage($Poster, 600, 0) 600w,
225: $Tools.ResizeImage($Poster, 800, 0) 800w,
226: $Tools.ResizeImage($Poster, 1280, 0) 1280w
227: "
228: data-poster-src="$Tools.ResizeImage($Poster, 1280, 0)"
229: data-width="1920"
230: data-height="1080"
231: data-autoplay="true"
232: aria-label="Play $!{Tools.ToHtmlAttribute($Title)} video"
233: role="button"
234: tabindex="0"
235: #set($linkCssClass = "open-video-modal hover-image hover-image--scale")
236: #else
237: #set($linkCssClass = "hover-image hover-image--scale")
238: #end
239: #end
240: class="title-text-media-wrap relative z-1 $!{linkCssClass}"
241: >
242: <img
243: class="title-text-media__img"
244: #if (!$IsEditor)
245: #set($srcList = $srcList.Replace("/media/", "/compress/media/" ).Replace(".png", ".jpg"))
246: sizes="(min-width: 1680px) 744px, (min-width: 1440px) calc(48.75vw - 160px), (min-width: 992px) calc(48.75vw - 110px), (min-width: 768px) calc(48.68vw - 85px), calc(100vw - 40px)"
247: srcset="
248: $Tools.ResizeImage($srcList, 332, 0) 332w,
249: $Tools.ResizeImage($srcList, 374, 0) 374w,
250: $Tools.ResizeImage($srcList, 430, 0) 430w,
251: $Tools.ResizeImage($srcList, 560, 0) 560w,
252: $Tools.ResizeImage($srcList, 600, 0) 600w,
253: $Tools.ResizeImage($srcList, 624, 0) 624w,
254: $Tools.ResizeImage($srcList, 727, 0) 727w,
255: $Tools.ResizeImage($srcList, 744, 0) 744w
256: "
257: src="$Tools.ResizeImage($srcList, 744, 0)"
258: alt="$!{Tools.ToHtmlAttribute($alt)}"
259: #else
260: src="${ListImage.Src}"
261: #end
262: height="744"
263: width="495"
264: loading="lazy"
265: />
266: #if ($hasVideo)
267: <span class="absolute-center" aria-hidden="true">
268: <span class="btn btn--icon btn--play btn--white-solid"></span>
269: </span>
270: #end
271: </$!{imageContainerTag}>
272: #if($hasText)
273: <div class="text__text text-center">${Text}</div>
274: #end
275: #if($hasLink || ($IsEditor && $hasLink))
276: <div
277: class="title-text-media__cta text-center"
278: >
279: <a
280: class="link link--bold link--caret-right"
281: href="$!{Href}"
282: #if($isExternal || "$!{NewTab}" == "True")target="_blank"#end
283: >
284: #if(!$IsEditor && ("$!{LinkText.ToLower()}" == "learn more" || "$!{LinkText.ToLower()}" == "read more"))
285: $!{Tools.AddSpanLastWord($LinkText)}<span class="sr-only"> about $!{Title}</span>
286: #elseif (!$IsEditor)
287: $!{Tools.AddSpanLastWord($LinkText)}
288: #else
289: $!{LinkText}
290: #end
291: </a>
292: </div>
293: #end
294: </div>
295: #else
296: #if ($hasContainer)
297: <div class="container $!{ContainerSize}">
298: #end
299: <div class="title-text-media title-text-media--${Variant} $!{innerBgClass}">
300: <$!{imageContainerTag}
301: #set($linkCssClass = "")
302: #if ($hasLink && !$hasVideo)
303: href="$!{Href}"
304: #if($isExternal)
305: target="_blank"
306: rel="nofollow noopener"
307: #elseif("$!{NewTab}" == "True")
308: target="_blank"
309: #end
310: tabindex="-1"
311: #set($linkCssClass = "hover-image hover-image--scale")
312: #if (!$HasAlt)
313: aria-hidden="true"
314: #end
315: #end
316: #if ($hasVideo)
317: #if (!$IsEditor)
318: #set($sources = $Tools.GetVideoSourcesString("$!{VideoURL}"))
319: data-sources='$!{sources}'
320: data-poster-srcset="
321: $Tools.ResizeImage($Poster, 600, 0) 600w,
322: $Tools.ResizeImage($Poster, 800, 0) 800w,
323: $Tools.ResizeImage($Poster, 1280, 0) 1280w
324: "
325: data-poster-src="$Tools.ResizeImage($Poster, 1280, 0)"
326: data-width="1920"
327: data-height="1080"
328: data-autoplay="true"
329: aria-label="Play $!{Tools.ToHtmlAttribute($Title)} video"
330: role="button"
331: tabindex="0"
332: #set($linkCssClass = "open-video-modal hover-image hover-image--scale")
333: #else
334: #set($linkCssClass = "hover-image hover-image--scale")
335: #end
336: #end
337: class="title-text-media-wrap relative z-1 $!{linkCssClass}"
338: >
339: <img
340: class="title-text-media__img d-block"
341: #if ($variant.Contains("default"))
342: #if (!$IsEditor)
343: #set($src = $src.Replace("/media/", "/compress/media/" ).Replace(".png", ".jpg"))
344: sizes="(min-width: 1680px) 760px, (min-width: 1440px) calc(50vw - 160px), (min-width: 992px) calc(50vw - 110px), (min-width: 768px) calc(49.93vw - 85px), calc(100vw - 40px)"
345: srcset="
346: $Tools.ResizeImage($src, 374, 0) 374w,
347: $Tools.ResizeImage($src, 341, 0) 341w,
348: $Tools.ResizeImage($src, 440, 0) 440w,
349: $Tools.ResizeImage($src, 455, 0) 455w,
350: $Tools.ResizeImage($src, 569, 0) 569w,
351: $Tools.ResizeImage($src, 600, 0) 600w,
352: $Tools.ResizeImage($src, 640, 0) 640w,
353: $Tools.ResizeImage($src, 727, 0) 727w,
354: $Tools.ResizeImage($src, 760, 0) 760w
355: "
356: src="$Tools.ResizeImage($src, 760, 0)"
357: alt="$!{Tools.ToHtmlAttribute($alt)}"
358: #else
359: #if ($Tools.ToBool($Image))
360: src="${Image.Src}"
361: #else
362: src="${Image}"
363: #end
364: #end
365: height="760"
366: width="760"
367: #else
368: #if (!$IsEditor)
369: #set($src = $src.Replace("/media/", "/compress/media/" ).Replace(".png", ".jpg"))
370: sizes="(min-width: 1680px) 800px, (min-width: 1440px) calc(50vw - 80px), (min-width: 992px) calc(50.05vw - 55px), (min-width: 768px) calc(49.93vw - 42px), calc(100vw - 20px)"
371: srcset="
372: $Tools.ResizeImage($src, 362, 0) 362w,
373: $Tools.ResizeImage($src, 398, 0) 398w,
374: $Tools.ResizeImage($src, 468, 0) 468w,
375: $Tools.ResizeImage($src, 604, 0) 604w,
376: $Tools.ResizeImage($src, 620, 0) 620w,
377: $Tools.ResizeImage($src, 680, 0) 680w,
378: $Tools.ResizeImage($src, 747, 0) 747w,
379: $Tools.ResizeImage($src, 800, 0) 800w
380: "
381: src="$Tools.ResizeImage($src, 800, 0)"
382: alt="$!{Tools.ToHtmlAttribute($alt)}"
383: #else
384: #if ($Tools.ToBool($BleedImage))
385: src="${BleedImage.Src}"
386: #else
387: src="${BleedImage}"
388: #end
389: #end
390: width="800"
391: height="597"
392: #end
393: loading="lazy"
394: />
395: #if ($hasVideo)
396: <span class="absolute-center" aria-hidden="true">
397: <span class="btn btn--icon btn--play btn--white-solid"></span>
398: </span>
399: #end
400: </$!{imageContainerTag}>
401:
402: <div class="title-text-media__content">
403: <div class="heading-group heading-group--default">
404: #set($titleClass = "tp-heading4")
405: #if ($variant.Contains("bleed"))
406: #set($titleClass = "tp-heading2")
407: #end
408:
409: #set($textClass = "")
410: #if ($variant.Contains("bleed"))
411: #set($textClass = "text-lg")
412: #end
413: #if($hasText)
414: <div
415: class="heading-group__text $!{textClass}"
416: >
417: ${Text}
418: </div>
419: #end
420: #if($hasLink || $IsEditor)
421: <div
422: class="heading-group__cta"
423: >
424: <a
425: class="link link--bold link--caret-right"
426: href="$!{Href}"
427: #if($isExternal || "$!{NewTab}" == "True")target="_blank"#end
428: >
429: #if(!$IsEditor && ("$!{LinkText.ToLower()}" == "learn more" || "$!{LinkText.ToLower()}" == "read more"))
430: $!{Tools.AddSpanLastWord($LinkText)}<span class="sr-only"> about $!{Title}</span>
431: #elseif(!$IsEditor)
432: $!{Tools.AddSpanLastWord($LinkText)}
433: #else
434: ${LinkText}
435: #end
436: </a>
437: </div>
438: #end
439: </div>
440: </div>
441: </div>
442: #if ($hasContainer)
443: </div>
444: #end
445: #end
446:
447: #if ($hasContainer)
448: </section>
449: #end
450:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
at funeralOne.WMS2.View.VelocityHelper.ProcessTemplate(String filename, String tplKey, String templateContent, VelocityContext context, Boolean ignoreException) in C:\azbuildagent\_work\368\s\funeralOne.WMS\WMS2\View\VelocityHelper.cs:line 207
at funeralOne.WMS2.View.VelocityHelper.ProcessTemplate(String tplKey, String templateContent, VelocityContext context, Boolean ignoreException) in C:\azbuildagent\_work\368\s\funeralOne.WMS\WMS2\View\VelocityHelper.cs:line 52
at funeralOne.WMS2.JsonConfig.InternalRenderWidget(RenderContext renderContext, VelocityContext context, Dictionary`2 widgetTypes, String widgetType, Dictionary`2 contents) in C:\azbuildagent\_work\368\s\funeralOne.WMS\WMS2\JsonConfig.cs:line 1313
at funeralOne.WMS2.JsonConfig.GetWidgetHtml(RenderContext renderContext, VelocityContext context, Dictionary`2 widgetTypes, String widgetType, Dictionary`2 contents) in C:\azbuildagent\_work\368\s\funeralOne.WMS\WMS2\JsonConfig.cs:line 1141
at funeralOne.WMS2.JsonConfig.<>c__DisplayClass21_1.<RenderWidgetAsync>b__0() in C:\azbuildagent\_work\368\s\funeralOne.WMS\WMS2\JsonConfig.cs:line 1205
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at funeralOne.WMS2.JsonConfig.<RenderWidgetAsync>d__21.MoveNext() in C:\azbuildagent\_work\368\s\funeralOne.WMS\WMS2\JsonConfig.cs:line 1201
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at funeralOne.WMS2.JsonConfig.<RenderAsync>d__15.MoveNext() in C:\azbuildagent\_work\368\s\funeralOne.WMS\WMS2\JsonConfig.cs:line 939
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at funeralOne.WMS2.JsonConfig.Render(RenderContext renderContext, String widgetGroupName) in C:\azbuildagent\_work\368\s\funeralOne.WMS\WMS2\JsonConfig.cs:line 1072
at funeralOne.WMS2.View.Wms2Processor.RenderPage(Nullable`1 elementId, String designTemplateElementData, String pageContent, Page page, String pageName, String sectionName, Nullable`1 sectionId) in C:\azbuildagent\_work\368\s\funeralOne.WMS\WMS2\View\Wms2Processor.cs:line 1578
at funeralOne.WMS.Web.Handler.WmsPagesHandler.ProcessRequest(HttpRequest Request, HttpResponse Response, Int32 sectionId, Int32 pageId) in C:\azbuildagent\_work\368\s\funeralOne.WMS\Web\Handler\WmsPagesHandler.cs:line 236
at funeralOne.WMS.Web.Handler.WmsPagesHandler.ProcessRequest(HttpContext context) in C:\azbuildagent\_work\368\s\funeralOne.WMS\Web\Handler\WmsPagesHandler.cs:line 45
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
- Please try refreshing the page and trying again.
- If the problem persists, please notify the website owner.
- The administrators of this website have been notified of this error.