<#import "/common/inline-edit.ftl" as editor/> <#import "/common/product-pages/functions.ftl" as fn/> <#import "/components/vi16-content/common/call-to-action.ftl" as cta/> <#import "/components/vi16-content/common/utils.ftl" as utils/> <#assign dateFormat><@message bundle="common" i18nKey="vi16.relatedMaterials.dateFormat" message="dd MMMM yyyy"/> <@component id="relatedMaterials" class="vi16 related-materials"> <#if dcr?has_content><@editor.showEditor dcr=dcr/> <#if dcr.header?has_content>

${dcr.header}

<#if dcr.introduction?has_content>

${dcr.introduction}

<#if tiles?has_content>
<#list tiles as tile> <#assign tileType = tile.tileType! /> <#if tileType == "page">
<#assign pageLink = tile.links[0].callToAction /> <#assign pageCategory = tile.pageCategory! /> <#assign pageMetaData = tile.pageMetaData! /> <#if (pageLink.linkTitle)?has_content> <#assign pageTitle = pageLink.linkTitle! /> <#elseif pageMetaData?has_content> <#assign pageTitle = pageMetaData.pageTitle! /> <#if tile.eyebrow?has_content>

${tile.eyebrow}

<#elseif pageCategory?has_content && pageCategory.pageTopicList?has_content>

<#list pageCategory.pageTopicList as topic> ${topicTranslations[topic]}<#if topic_has_next>,

<#if tile.hideDate?has_content && !tile.hideDate> <#if tile.date?has_content>

${tile.date?date?string(dateFormat)}

<#elseif pageCategory?has_content && pageCategory.publicationDate?has_content>

${pageCategory.publicationDate?date?string(dateFormat)}

<#if tile.title?has_content>

<@utils.truncateText (tile.title) 75 />

<#elseif pageMetaData?has_content && pageMetaData.articleTitle?has_content>

<@utils.truncateText (pageMetaData.articleTitle) 75 />

<#elseif tileType == "linkList">
<#if tile.eyebrow??>

${tile.eyebrow!}

<#elseif tileType == "product" && tile.fundData?has_content>
<#assign fundUrl><@productPageUrl portfolioId="${tile.fundData.id?c}" portfolioName="${tile.fundData.fundName!}" href=r"$productOverviewPage"/> <#assign fundLinkEvent><@message bundle="common" i18nKey="analytics.fund.more" message="Learn more about "/>${tile.fundData.fundName!} <#assign ticker = (tile.fundData.ticker)! /> <#assign fundName = (context.locale == "ja_JP")?then('${tile.fundData.fundSeriesName!}', '${tile.fundData.fundName!}') />

${tile.fundData.assetClass!}

${ticker!}

${fundName!}

<#if tile.fundData.morningStarRating?has_content && tile.fundData.morningStarRating.ratingCode??> <#assign shareClass><@formatData name="fundHeader.investorClassCode" value=tile.fundData.investorClassCode! /> <#assign mstarAnalyticValue=tile.fundData.morningStarAnalytics.analyticValue! /> <#assign mStarAsOf><@formatData name="asOfDate" value=tile.fundData.morningStarAnalytics.asOfDate /> <#assign mstarCatDescription=tile.fundData.morningStarClasification.description! /> <#assign labelsArgs=[tile.fundData.fundName, shareClass, mStarAsOf!, (mstarAnalyticValue)!"-", (mstarCatDescription)!"-"] />

<@message bundle="common" i18nKey="vi16.relatedMaterials.morningStarRating" message="Morningstar Rating"/> <#if tile.fundData.investorClassCode?has_content> <#assign disclaimer><@message bundle="productlabels" i18nKey="ratingsAndAwards.mstarRatingOverall.disclaimer" args=labelsArgs /> <#else> <#assign disclaimer><@message bundle="productlabels" i18nKey="ratingsAndAwards.mstarRatingOverall.disclaimer.noShareClass" args=labelsArgs /> <#assign mstars = (tile.fundData.morningStarRating.ratingCode)?number /> <#list 1..5 as starCount>

<#if "false" == (hideData!"false")>
<#if (tile.activeDataPoints??) && (tile.activeDataPoints == "buy") > <#if tile.fundData.buyPrice??>
<@renderData "relatedTiles.price" tile.fundData.buyPrice tile.fundData.navAsOfDate />

<@message bundle="common" i18nKey="vi16.relatedMaterials.buyPrice" message="Buy Price"/> (${tile.fundData.fundCurrencySymbol!})

<#if tile.fundData.sellPrice??>
<@renderData "relatedTiles.price" tile.fundData.sellPrice tile.fundData.navAsOfDate />

<@message bundle="common" i18nKey="vi16.relatedMaterials.sellPrice" message="Sell Price"/> (${tile.fundData.fundCurrencySymbol!})

<#elseif (tile.activeDataPoints??) && (tile.activeDataPoints == "net") > <#if tile.fundData.navAmount??>
<@renderData "relatedTiles.nav" tile.fundData.navAmount tile.fundData.navAsOfDate />

<@message bundle="common" i18nKey="vi16.relatedMaterials.netAssetValue" message="Net Asset Value"/> (${tile.fundData.fundCurrencySymbol!})

<#if tile.fundData.navAmountChange??>

<#if tile.fundData.navAmountChange gt 0> <#else> <@formatData name="relatedTiles.amountChange" value=tile.fundData.navAmountChange substituteSymbols="true" />

<@message bundle="common" i18nKey="vi16.relatedMaterials.navAmountChange" message="Day change in Net Worth"/>

<#else> <#if tile.fundData.navAmount??>
<@renderData "relatedTiles.nav" tile.fundData.navAmount tile.fundData.navAsOfDate />

<@message bundle="common" i18nKey="vi16.relatedMaterials.netAssetValue" message="Net Asset Value"/> (${tile.fundData.fundCurrencySymbol!})

<#if tile.fundData.yearToDate??>

<#if tile.fundData.yearToDate gt 0> <#else> <@formatData name="relatedTiles.nav" value=tile.fundData.yearToDate substituteSymbols="true" /> <@message bundle="common" i18nKey="vi16.relatedMaterials.totalReturnsDisclaimer" message="Click the tile to see standardized returns."/>" aria-hidden="true">

<@message bundle="common" i18nKey="vi16.relatedMaterials.totalReturns" message="Total Returns"/> (%)

<#macro renderData dataPointName DataPointValue navAsOfDateValue >

<@formatData name=dataPointName value=DataPointValue substituteSymbols="true" /> <@formatData name="asOfDate" value=navAsOfDateValue />" aria-hidden="true">