<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
        <base href="https://shibboleth.atlassian.net">
        <title>Message Title</title>
    </head>
    <body class="jira" style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.429">
        <table id="background-table" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; background-color: #f5f5f5; border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0" bgcolor="#f5f5f5"><!-- header here -->
            <tbody>
                <tr>
                    <td id="header-pattern-container" style="padding: 0; border-collapse: collapse; padding: 10px 20px">
                        <table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0">
                            <tbody>
                              <tr>
                              <td id="header-avatar-image-container" valign="top" style="padding: 0; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px" width="32"><img id="header-avatar-image" class="image_fix" src="https://secure.gravatar.com/avatar/cdfb1e8ecac35899943ab75dcf9c3e9e?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FMS-5.png" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top"></td>
                              <td id="header-text-container" valign="middle" style="padding: 0; border-collapse: collapse; vertical-align: middle; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"><a class="user-hover" rel="5c45da4b23f5bf67262143c7" style="color:#3b73af;; color: #3b73af; text-decoration: none" id="email_5c45da4b23f5bf67262143c7" href="https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=5c45da4b23f5bf67262143c7"> Matthew Slowe </a><strong>created</strong> an issue </td>
                              </tr>
                            </tbody>
                        </table></td>
                </tr>
                <tr>
                    <td id="email-content-container" style="padding: 0; border-collapse: collapse; padding: 0 20px">
                        <table id="email-content-table" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; border-spacing: 0; border-collapse: separate">
                            <tbody>
                              <tr><!-- there needs to be content in the cell for it to render in some clients -->
                              <td class="email-content-rounded-top mobile-expand" style="padding: 0; border-collapse: collapse; color: #ffffff; padding: 0 15px 0 16px; height: 15px; background-color: #ffffff; border-left: 1px solid #cccccc; border-top: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom: 0; border-top-right-radius: 5px; border-top-left-radius: 5px; height: 10px; line-height: 10px; padding: 0 15px 0 16px; mso-line-height-rule: exactly" height="10" bgcolor="#ffffff"> </td>
                              </tr>
                              <tr>
                              <td class="email-content-main mobile-expand " style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff" bgcolor="#ffffff">
                              <table class="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0">
                              <tbody>
                              <tr>
                              <td class="page-title-pattern-first-line " style="padding: 0; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; padding-top: 10px"><a href="https://shibboleth.atlassian.net/browse/IDP?atlOrigin=eyJpIjoiYjhjMzAwMzBjZDZiNGY3Zjg5ZGM3YTFmYzIxMDc2OWIiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none">Identity Provider</a> / <a href="https://shibboleth.atlassian.net/browse/IDP-2052?atlOrigin=eyJpIjoiYjhjMzAwMzBjZDZiNGY3Zjg5ZGM3YTFmYzIxMDc2OWIiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-avatar-4a9f1e77-501a-4fca-9547-1b612d368bbc" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom"></a> <a href="https://shibboleth.atlassian.net/browse/IDP-2052?atlOrigin=eyJpIjoiYjhjMzAwMzBjZDZiNGY3Zjg5ZGM3YTFmYzIxMDc2OWIiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none">IDP-2052</a></td>
                              </tr>
                              <tr>
                              <td style="vertical-align: top;; padding: 0; border-collapse: collapse; padding-right: 5px; font-size: 20px; line-height: 30px; mso-line-height-rule: exactly" class="page-title-pattern-header-container"><span class="page-title-pattern-header" style="font-family: Arial, sans-serif; padding: 0; font-size: 20px; line-height: 30px; mso-text-raise: 2px; mso-line-height-rule: exactly; vertical-align: middle"> <a href="https://shibboleth.atlassian.net/browse/IDP-2052?atlOrigin=eyJpIjoiYjhjMzAwMzBjZDZiNGY3Zjg5ZGM3YTFmYzIxMDc2OWIiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none">NPE when InputAttributeDefinition references nonexistant attribute</a> </span></td>
                              </tr>
                              </tbody>
                              </table></td>
                              </tr>
                              <tr>
                              <td class="email-content-main mobile-expand  wrapper-special-margin" style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff; padding-top: 10px; padding-bottom: 5px" bgcolor="#ffffff">
                              <table class="keyvalue-table" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0">
                              <tbody>
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Issue Type:</th>
                              <td class="has-icon" style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"><img src="cid:jira-generated-image-avatar-4a9f1e77-501a-4fca-9547-1b612d368bbc" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom"> Bug </td>
                              </tr> 
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Affects Versions:</th>
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> 4.2.1 </td>
                              </tr>
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Assignee:</th>
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <a class="user-hover" rel="59fb32bbc24efb3c4ed3c977" style="color:#3b73af;; color: #3b73af; text-decoration: none" id="email_59fb32bbc24efb3c4ed3c977" href="https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=59fb32bbc24efb3c4ed3c977"> Rod Widdowson </a></td>
                              </tr> 
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Components:</th>
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> Attribute Resolver </td>
                              </tr>
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Created:</th>
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> 09/Dec/22 10:43 AM </td>
                              </tr> 
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Environment:</th>
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                              <div class="preformatted panel" style="border-width: 1px;; border: 1px solid #cccccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #cccccc; -moz-border-radius: 3px; border-radius: 3px; margin: 9px 0">
                              <div class="preformattedContent panelContent" style="padding: 9px 12px">
                              <pre style="margin: 10px 0 0; margin-top: 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal; white-space: pre; word-break: normal; word-wrap: break-word; word-break: break-all; white-space: pre-wrap"># ./bin/version.sh
4.2.1

# java -version 
openjdk version "11.0.16.1" 2022-08-12
OpenJDK Runtime Environment (build 11.0.16.1+1-alpine-r0)
OpenJDK 64-Bit Server VM (build 11.0.16.1+1-alpine-r0, mixed mode)</pre>
                              </div>
                              </div></td>
                              </tr>
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Priority:</th>
                              <td class="has-icon" style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"><img src="cid:jira-generated-image-static-trivial-7574f9e5-fbc8-4947-9138-bae89825c74a" height="16" width="16" border="0" align="absmiddle" alt="Trivial" style="vertical-align: text-bottom"> Trivial </td>
                              </tr>
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Reporter:</th>
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"><a class="user-hover" rel="5c45da4b23f5bf67262143c7" style="color:#3b73af;; color: #3b73af; text-decoration: none" id="email_5c45da4b23f5bf67262143c7" href="https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=5c45da4b23f5bf67262143c7"> Matthew Slowe </a></td>
                              </tr> 
                              </tbody>
                              </table></td>
                              </tr>
                              <tr>
                              <td class="email-content-main mobile-expand  issue-description-container" style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff; padding-top: 5px; padding-bottom: 10px" bgcolor="#ffffff">
                              <table class="text-paragraph-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 2px">
                              <tbody>
                              <tr>
                              <td class="text-paragraph-pattern-container mobile-resize-text " style="padding: 0; border-collapse: collapse; padding: 0 0 10px"><p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0; margin-top: 0">I was unable to reproduce this. The lead up was while I was restructuring an existing (loaded) Attribute Resolver - renaming attributes… I had forgotten to update one of the depending <tt>InputAttributeDefinition</tt> refs. The resolver reloaded fine but <tt>aacli</tt> triggered a <tt>NullPointerException</tt></p><p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">Roughly, start with:</p>
                              <div class="code panel" style="border-width: 1px;; border: 1px solid #cccccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #cccccc; -moz-border-radius: 3px; border-radius: 3px; margin: 9px 0">
                              <div class="codeContent panelContent" style="padding: 9px 12px">
                              <pre class="code-xml" style="margin: 10px 0 0; margin-top: 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal"><span class="code-tag" style="color: #000091"><AttributeDefinition xsi:type=<span class="code-quote" style="color: #009100">"Simple"</span> id=<span class="code-quote" style="color: #009100">"undef"</span> dependencyOnly=<span class="code-quote" style="color: #009100">"true"</span>></span><span class="code-tag" style="color: #000091"><InputAttributeDefinition ref=<span class="code-quote" style="color: #009100">"eduPersonEntitlement"</span> /></span><span class="code-tag" style="color: #000091"></AttributeDefinition></span><span class="code-tag" style="color: #000091"><AttributeDefinition xsi:type=<span class="code-quote" style="color: #009100">"Simple"</span> id=<span class="code-quote" style="color: #009100">"setup-to-fail"</span>></span><span class="code-tag" style="color: #000091"><InputAttributeDefinition ref=<span class="code-quote" style="color: #009100">"undef"</span> /></span><span class="code-tag" style="color: #000091"></AttributeDefinition></span></pre>
                              </div>
                              </div><p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">Then rename <tt>undef</tt> to something else and reload.</p><p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">In practice I had two existing attributes which were previously combined into one later on. I was trying to abstract these two existing attributes to provide a default value using a <tt>Mapped</tt> with a default and a bogus map as per diff. I had neg</p>
                              <div class="preformatted panel" style="border-width: 1px;; border: 1px solid #cccccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #cccccc; -moz-border-radius: 3px; border-radius: 3px; margin: 9px 0">
                              <div class="preformattedContent panelContent" style="padding: 9px 12px">
                              <pre style="margin: 10px 0 0; margin-top: 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal; white-space: pre; word-break: normal; word-wrap: break-word; word-break: break-all; white-space: pre-wrap">@@ -127,7 +131,7 @@
     </AttributeDefinition>

     <!-- Get EBLib Entitlement from campus -->
-    <AttributeDefinition xsi:type="Mapped" id="eduPersonEntitlement_EBLib" dependencyOnly="true">
+    <AttributeDefinition xsi:type="Mapped" id="eduPersonEntitlement_EBLib_campus" dependencyOnly="true">
         <InputDataConnector ref="myLDAP" attributeNames="redactedcampus"/>
         <!-- no default value -->
         <ValueMap>
@@ -139,7 +143,7 @@
     </AttributeDefinition>

     <!-- Get EBLib Entitlement from adminresource -->
-    <AttributeDefinition xsi:type="Mapped" id="eduPersonEntitlement_EBLib_2" dependencyOnly="true">
+    <AttributeDefinition xsi:type="Mapped" id="eduPersonEntitlement_EBLib_resource" dependencyOnly="true">
         <InputDataConnector ref="myLDAP" attributeNames="redactedadminresource"/>
         <!-- no default value -->
         <ValueMap>
@@ -149,6 +153,16 @@
         </ValueMap>
     </AttributeDefinition>

+    <AttributeDefinition xsi:type="Mapped" id="eduPersonEntitlement_EBLib" dependencyOnly="true">
+           <InputAttributeDefinition ref="eduPersonEntitlement_EBLib_campus" />
+           <InputAttributeDefinition ref="eduPersonEntitlement_EBLib_resource" />
+           <DefaultValue>default</DefaultValue>
+           <ValueMap>
+                   <ReturnValue>bogus_value</ReturnValue>
+                   <SourceValue>bogus_value</SourceValue>
+           </ValueMap>
+    </AttributeDefinition>
+
     <!-- get redactedaspirerole from LDAP -->
     <AttributeDefinition xsi:type="Simple" id="redactedaspirerole" dependencyOnly="true">
         <InputDataConnector ref="myLDAP" attributeNames="redactedaspirerole"/></pre>
                              </div>
                              </div><p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">I had neglected to update the combining {{AttributeDefinition}}which remained as:</p>
                              <div class="code panel" style="border-width: 1px;; border: 1px solid #cccccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #cccccc; -moz-border-radius: 3px; border-radius: 3px; margin: 9px 0">
                              <div class="codeContent panelContent" style="padding: 9px 12px">
                              <pre class="code-xml" style="margin: 10px 0 0; margin-top: 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal"><span class="code-tag" style="color: #000091"><AttributeDefinition xsi:type=<span class="code-quote" style="color: #009100">"Simple"</span> id=<span class="code-quote" style="color: #009100">"eduPersonEntitlement"</span>></span><span class="code-tag" style="color: #000091"><InputDataConnector ref=<span class="code-quote" style="color: #009100">"myLDAP"</span> attributeNames=<span class="code-quote" style="color: #009100">"eduPersonEntitlement"</span>/></span><span class="code-tag" style="color: #000091"><InputAttributeDefinition ref=<span class="code-quote" style="color: #009100">"eduPersonEntitlement_adminresource"</span> /></span><span class="code-tag" style="color: #000091"><InputAttributeDefinition ref=<span class="code-quote" style="color: #009100">"eduPersonEntitlement_EBLib"</span> /></span><span class="code-tag" style="color: #000091"><InputAttributeDefinition ref=<span class="code-quote" style="color: #009100">"eduPersonEntitlement_EBLib_2"</span> /></span><span class="code-tag" style="color: #000091"><InputAttributeDefinition ref=<span class="code-quote" style="color: #009100">"unikentaspirerole"</span> /></span><span class="code-tag" style="color: #000091"><InputAttributeDefinition ref=<span class="code-quote" style="color: #009100">"overleafEntitlement"</span> /></span><span class="code-tag" style="color: #000091"></AttributeDefinition></span></pre>
                              </div>
                              </div><p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">The Resolver appeared to reload ok but testing returned:</p>
                              <div class="preformatted panel" style="border-width: 1px;; border: 1px solid #cccccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #cccccc; -moz-border-radius: 3px; border-radius: 3px; margin: 9px 0">
                              <div class="preformattedContent panelContent" style="padding: 9px 12px">
                              <pre style="margin: 10px 0 0; margin-top: 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal; white-space: pre; word-break: normal; word-wrap: break-word; word-break: break-all; white-space: pre-wrap">2022-12-09 15:06:33,610 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:474] - Attribute Resolver 'ShibbolethAttributeResolver': Finished resolving dependencies for 'eduPersonEntitlement'
2022-12-09 15:06:33,622 - 127.0.0.1 - ERROR [net.shibboleth.idp.profile:-2] - Uncaught runtime exception
java.lang.NullPointerException: null
        at net.shibboleth.idp.attribute.resolver.PluginDependencySupport.getMergedAttributeValues(PluginDependencySupport.java:87)
2022-12-09 15:06:33,637 - 127.0.0.1 - WARN [org.opensaml.profile.action.impl.LogEvent:101] - A non-proceed event occurred while processing the request: RuntimeException</pre>
                              </div>
                              </div><p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">Extracts from reload logs (of note is the reference to <tt>eduPersonEntitlement_EBLib_2</tt> which doesn’t exist at this point):</p>
                              <div class="preformatted panel" style="border-width: 1px;; border: 1px solid #cccccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #cccccc; -moz-border-radius: 3px; border-radius: 3px; margin: 9px 0">
                              <div class="preformattedContent panelContent" style="padding: 9px 12px">
                              <pre style="margin: 10px 0 0; margin-top: 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal; white-space: pre; word-break: normal; word-wrap: break-word; word-break: break-all; white-space: pre-wrap">2022-12-09 15:05:14,111 - 127.0.0.1 - DEBUG [net.shibboleth.idp.profile.impl.ReloadServiceConfiguration:123] - Profile Action ReloadServiceConfiguration: Reloading configuration for 'shibboleth.AttributeResolverService'
2022-12-09 15:05:14,112 - 127.0.0.1 - INFO [net.shibboleth.utilities.java.support.service.AbstractReloadableService:259] - Service 'shibboleth.AttributeResolverService': Reloading service configuration
2022-12-09 15:05:14,118 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: eduPersonPrincipalName
2022-12-09 15:05:14,118 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputDataConnector with pluginId: myLDAP
2022-12-09 15:05:14,118 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.impl.ScopedAttributeDefinitionParser:59] - Attribute Definition 'eduPersonPrincipalName': Setting scope to '%{idp.scope}'.
2022-12-09 15:05:14,118 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: uid
2022-12-09 15:05:14,118 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputDataConnector with pluginId: myLDAP
2022-12-09 15:05:14,118 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: samlSubjectID
2022-12-09 15:05:14,118 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputDataConnector with pluginId: myLDAP
2022-12-09 15:05:14,118 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.impl.ScopedAttributeDefinitionParser:59] - Attribute Definition 'samlSubjectID': Setting scope to '%{idp.scope}'.
2022-12-09 15:05:14,118 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: samlPairwiseID
2022-12-09 15:05:14,128 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputDataConnector with pluginId: computed
2022-12-09 15:05:14,128 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.impl.ScopedAttributeDefinitionParser:59] - Attribute Definition 'samlPairwiseID': Setting scope to '%{idp.scope}'.
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: mail-as-employeeID
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputDataConnector with pluginId: myLDAP
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: memberOf
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputDataConnector with pluginId: myLDAP
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: eduPersonAffiliation-library-walk-in
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputAttributeDefinition with pluginId: uid
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.SourceValueParser:87] - SourceValue value: genshib, caseSensitive: null, partialMatch: null
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.ValueMapParser:86] - AttributeDefinition(ValueMap): return value: library-walk-in, 1 source values
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.MappedAttributeDefinitionParser:97] - Unknown Plugin 'eduPersonAffiliation-library-walk-in': passThru = null, defaultValue = null, 1 value maps
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: eduPersonAffiliation
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputDataConnector with pluginId: myLDAP
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.SourceValueParser:87] - SourceValue value: shib-staff, caseSensitive: null, partialMatch: null
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.SourceValueParser:87] - SourceValue value: shib-student, caseSensitive: null, partialMatch: null
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.ValueMapParser:86] - AttributeDefinition(ValueMap): return value: member, 2 source values
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.SourceValueParser:87] - SourceValue value: shib-staff, caseSensitive: null, partialMatch: null
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.ValueMapParser:86] - AttributeDefinition(ValueMap): return value: staff, 1 source values
2022-12-09 15:05:14,129 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.SourceValueParser:87] - SourceValue value: shib-student, caseSensitive: null, partialMatch: null
2022-12-09 15:05:14,130 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.ValueMapParser:86] - AttributeDefinition(ValueMap): return value: student, 1 source values
2022-12-09 15:05:14,130 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.SourceValueParser:87] - SourceValue value: shib-alum, caseSensitive: null, partialMatch: null
2022-12-09 15:05:14,130 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.ValueMapParser:86] - AttributeDefinition(ValueMap): return value: alum, 1 source values
2022-12-09 15:05:14,130 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.MappedAttributeDefinitionParser:97] - Unknown Plugin 'eduPersonAffiliation': passThru = null, defaultValue = null, 4 value maps
2022-12-09 15:05:14,130 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: eduPersonEntitlement_adminresource
2022-12-09 15:05:14,130 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputDataConnector with pluginId: myLDAP
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.SourceValueParser:87] - SourceValue value: mimas-jusp-siterep, caseSensitive: null, partialMatch: null
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.ValueMapParser:86] - AttributeDefinition(ValueMap): return value: http://jusp.mimas.ac.uk/entitlements/siterep, 1 source values
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.MappedAttributeDefinitionParser:97] - Unknown Plugin 'eduPersonEntitlement_adminresource': passThru = null, defaultValue = null, 1 value maps
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: eduPersonScopedAffiliation
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputAttributeDefinition with pluginId: eduPersonAffiliation
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputAttributeDefinition with pluginId: eduPersonAffiliation-library-walk-in
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.impl.ScopedAttributeDefinitionParser:59] - Attribute Definition 'eduPersonScopedAffiliation': Setting scope to '%{idp.scope}'.
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: eduPersonEntitlement_EBLib_campus
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputDataConnector with pluginId: myLDAP
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.SourceValueParser:87] - SourceValue value: brussels-school, caseSensitive: null, partialMatch: null
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.SourceValueParser:87] - SourceValue value: athensaueb, caseSensitive: null, partialMatch: null
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.SourceValueParser:87] - SourceValue value: paris, caseSensitive: null, partialMatch: null
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.ValueMapParser:86] - AttributeDefinition(ValueMap): return value: https://eblib.com/saml2/eduPersonEntitlement/patrondrivenacquisition, 3 source values
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.MappedAttributeDefinitionParser:97] - Unknown Plugin 'eduPersonEntitlement_EBLib_campus': passThru = null, defaultValue = null, 1 value maps
2022-12-09 15:05:14,131 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: eduPersonEntitlement_EBLib_resource
2022-12-09 15:05:14,132 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputDataConnector with pluginId: myLDAP
2022-12-09 15:05:14,132 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.SourceValueParser:87] - SourceValue value: eblib-pda, caseSensitive: null, partialMatch: null
2022-12-09 15:05:14,132 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.SourceValueParser:87] - SourceValue value: eblib-pda-manual, caseSensitive: null, partialMatch: null
2022-12-09 15:05:14,132 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.ValueMapParser:86] - AttributeDefinition(ValueMap): return value: https://eblib.com/saml2/eduPersonEntitlement/patrondrivenacquisition, 2 source values
2022-12-09 15:05:14,133 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.MappedAttributeDefinitionParser:97] - Unknown Plugin 'eduPersonEntitlement_EBLib_resource': passThru = null, defaultValue = null, 1 value maps
2022-12-09 15:05:14,133 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: eduPersonEntitlement_EBLib
2022-12-09 15:05:14,133 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputAttributeDefinition with pluginId: eduPersonEntitlement_EBLib_campus
2022-12-09 15:05:14,133 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputAttributeDefinition with pluginId: eduPersonEntitlement_EBLib_resource
2022-12-09 15:05:14,133 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.SourceValueParser:87] - SourceValue value: bogus_value, caseSensitive: null, partialMatch: null
2022-12-09 15:05:14,133 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.ValueMapParser:86] - AttributeDefinition(ValueMap): return value: bogus_value, 1 source values
2022-12-09 15:05:14,133 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.MappedAttributeDefinitionParser:97] - Unknown Plugin 'eduPersonEntitlement_EBLib': passThru = null, defaultValue = default, 1 value maps
2022-12-09 15:05:14,133 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: redactedaspirerole
2022-12-09 15:05:14,133 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputDataConnector with pluginId: myLDAP
2022-12-09 15:05:14,134 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.BaseAttributeDefinitionParser:60] - Attribute Definition 'redactedaspirerole': Setting dependencyOnly true
2022-12-09 15:05:14,134 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: overleafEntitlement
2022-12-09 15:05:14,134 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputDataConnector with pluginId: myLDAP
2022-12-09 15:05:14,134 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.BaseAttributeDefinitionParser:60] - Attribute Definition 'overleafEntitlement': Setting dependencyOnly true
2022-12-09 15:05:14,134 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.ad.impl.ScriptedAttributeDefinitionParser:88] - Attribute Definition 'overleafEntitlement': Script:
2022-12-09 15:05:14,134 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for AttributeDefinition plugin with id: eduPersonEntitlement
2022-12-09 15:05:14,134 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputAttributeDefinition with pluginId: eduPersonEntitlement_adminresource
2022-12-09 15:05:14,134 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputAttributeDefinition with pluginId: eduPersonEntitlement_EBLib
2022-12-09 15:05:14,134 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputAttributeDefinition with pluginId: eduPersonEntitlement_EBLib_2
2022-12-09 15:05:14,134 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputAttributeDefinition with pluginId: redactedaspirerole
2022-12-09 15:05:14,134 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputAttributeDefinition with pluginId: overleafEntitlement
2022-12-09 15:05:14,134 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputDataConnector with pluginId: myLDAP
2022-12-09 15:05:14,134 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for DataConnector plugin with id: myLDAP
2022-12-09 15:05:14,135 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.dc.ldap.impl.LDAPDataConnectorParser:129] - Data Connector 'myLDAP': Parsing XML configuration [DataConnector: null]
2022-12-09 15:05:14,135 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser:67] - Parsing configuration for DataConnector plugin with id: computed
2022-12-09 15:05:14,135 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginDependencyParser:45] - Parsing configuration for InputDataConnector with pluginId: myLDAP
2022-12-09 15:05:14,135 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.spring.dc.impl.ComputedIdDataConnectorParser:97] - Data Connector 'computed': See TRACE log for the salt value</pre>
                              </div>
                              </div><p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">Then the <tt>aacli</tt> run includes:</p>
                              <div class="preformatted panel" style="border-width: 1px;; border: 1px solid #cccccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #cccccc; -moz-border-radius: 3px; border-radius: 3px; margin: 9px 0">
                              <div class="preformattedContent panelContent" style="padding: 9px 12px">
                              <pre style="margin: 10px 0 0; margin-top: 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal; white-space: pre; word-break: normal; word-wrap: break-word; word-break: break-all; white-space: pre-wrap">2022-12-09 15:06:33,568 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:348] - Attribute Resolver 'ShibbolethAttributeResolver': No attribute definition was registered with ID 'eduPersonEntitlement_EBLib_2', nothing to do</pre>
                              </div>
                              </div><p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">and terminates with:</p>
                              <div class="preformatted panel" style="border-width: 1px;; border: 1px solid #cccccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #cccccc; -moz-border-radius: 3px; border-radius: 3px; margin: 9px 0">
                              <div class="preformattedContent panelContent" style="padding: 9px 12px">
                              <pre style="margin: 10px 0 0; margin-top: 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal; white-space: pre; word-break: normal; word-wrap: break-word; word-break: break-all; white-space: pre-wrap">2022-12-09 15:06:33,610 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:474] - Attribute Resolver 'ShibbolethAttributeResolver': Finished resolving dependencies for 'eduPersonEntitlement'
2022-12-09 15:06:33,622 - 127.0.0.1 - ERROR [net.shibboleth.idp.profile:-2] - Uncaught runtime exception
2022-12-09 15:06:33,637 - 127.0.0.1 - WARN [org.opensaml.profile.action.impl.LogEvent:101] - A non-proceed event occurred while processing the request: RuntimeException
2022-12-09 15:06:33,643 - 127.0.0.1 - INFO [Shibboleth-Audit.ResolverTest:283] - 127.0.0.1||2022-12-09T15:06:33.643118Z||https://test.ukfederation.org.uk/entity||||||||||||RuntimeException||||Java/11.0.16.1||</pre>
                              </div>
                              </div><p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">Whole <tt>aacli</tt> run attached</p></td>
                              </tr>
                              </tbody>
                              </table></td>
                              </tr>
                              <tr>
                              <td class="email-content-main mobile-expand " style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff" bgcolor="#ffffff"><script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "description": "View Issue",
  "potentialAction": {
    "@type": "ViewAction",
        "target": "https://shibboleth.atlassian.net/browse/IDP-2052?inbox=true&",
    "name": "View Issue"
      },
  "publisher": {
    "@type": "Organization",
    "name": "Atlassian",
    "url": "https://www.atlassian.com"
  }
}
</script>
                              <table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px">
                              <tbody>
                              <tr>
                              <td id="actions-pattern-container" valign="middle" style="padding: 0; border-collapse: collapse; padding: 10px 0 10px 24px; vertical-align: middle; padding-left: 0">
                              <table align="left" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0">
                              <tbody>
                              <tr>
                              <td class="actions-pattern-action-icon-container" style="padding: 0; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0; vertical-align: middle"><a href="https://shibboleth.atlassian.net/browse/IDP-2052#add-comment?atlOrigin=eyJpIjoiYjhjMzAwMzBjZDZiNGY3Zjg5ZGM3YTFmYzIxMDc2OWIiLCJwIjoiaiJ9" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none"> <img class="actions-pattern-action-icon-image" src="cid:jira-generated-image-static-comment-icon-07bcece4-09f6-49e2-bfed-424ff5e5cee3" alt="Add Comment" title="Add Comment" height="16" width="16" border="0" style="vertical-align: middle"> </a></td>
                              <td class="actions-pattern-action-text-container" style="padding: 0; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px"><a href="https://shibboleth.atlassian.net/browse/IDP-2052#add-comment?atlOrigin=eyJpIjoiYjhjMzAwMzBjZDZiNGY3Zjg5ZGM3YTFmYzIxMDc2OWIiLCJwIjoiaiJ9" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none">Add Comment</a></td>
                              </tr>
                              </tbody>
                              </table></td>
                              </tr>
                              </tbody>
                              </table></td>
                              </tr><!-- there needs to be content in the cell for it to render in some clients -->
                              <tr>
                              <td class="email-content-rounded-bottom mobile-expand" style="padding: 0; border-collapse: collapse; color: #ffffff; padding: 0 15px 0 16px; height: 5px; line-height: 5px; background-color: #ffffff; border-top: 0; border-left: 1px solid #cccccc; border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; mso-line-height-rule: exactly" height="5" bgcolor="#ffffff"> </td>
                              </tr>
                            </tbody>
                        </table></td>
                </tr>
                <tr>
                    <td id="footer-pattern" style="padding: 0; border-collapse: collapse; padding: 12px 20px">
                        <table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0">
                            <tbody>
                              <tr>
                              <td id="footer-pattern-mobile-separated-links" class="mobile-resize-text" width="100%" colspan="2" style="padding: 0; border-collapse: collapse; color: #999999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px"> Get Jira notifications on your phone! Download the Jira Cloud app for <a href="https://play.google.com/store/apps/details?id=com.atlassian.android.jira.core&referrer=utm_source%3DNotificationLink%26utm_medium%3DEmail" style="color: #3b73af; text-decoration: none">Android</a> or <a href="https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailNotificationLink&mt=8" style="color: #3b73af; text-decoration: none">iOS</a>
                              <hr></td>
                              </tr>
                              <tr>
                              <td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0; border-collapse: collapse; color: #999999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px"> This message was sent by Atlassian Jira <span id="footer-build-information">(v1001.0.0-SNAPSHOT#100212-<span title="84509c41488e80d37a277ca93469b07f917e0839" data-commit-id="84509c41488e80d37a277ca93469b07f917e0839}">sha1:84509c4</span>)</span></td>
                              <td id="footer-pattern-logo-desktop-container" valign="top" style="padding: 0; border-collapse: collapse; padding-left: 20px; vertical-align: top">
                              <table style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0">
                              <tbody>
                              <tr>
                              <td id="footer-pattern-logo-desktop-padding" style="padding: 0; border-collapse: collapse; padding-top: 3px; opacity: 0.150"><img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-dfbba99d-0ec2-4ac3-8ab4-0eeda1545f8d" alt="Atlassian logo" title="Atlassian logo" width="192" height="24" class="image_fix"></td>
                              </tr>
                              </tbody>
                              </table></td>
                              </tr>
                            </tbody>
                        </table></td>
                </tr>
            </tbody>
        </table>
    </body>
</html>