<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>154299</bug_id>
          
          <creation_ts>2016-02-16 11:18:10 -0800</creation_ts>
          <short_desc>CSP: sandbox directive should be ignored when contained in a policy defined via a meta element</short_desc>
          <delta_ts>2016-02-21 21:09:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>154307</blocked>
    
    <blocked>154523</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mkwst</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1165203</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-02-16 11:18:10 -0800</bug_when>
    <thetext>The Content Security Policy sandbox directive should only be honored when enforcing a policy defined via a HTTP header as per section sandbox of the Content Security Policy 2.0 spec., &lt;https://www.w3.org/TR/CSP2/#directive-sandbox&gt; (21 July 2015):

[[
The sandbox directive will be ignored when monitoring a policy, and when contained in a policy defined via a meta element. Moreover, this directive has no effect when monitored, and has no reporting requirements.
]]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165205</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-02-16 11:18:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/24680433&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165250</commentid>
    <comment_count>2</comment_count>
      <attachid>271465</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-02-16 12:16:43 -0800</bug_when>
    <thetext>Created attachment 271465
Patch and Layout Tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165337</commentid>
    <comment_count>3</comment_count>
      <attachid>271465</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-02-16 14:54:58 -0800</bug_when>
    <thetext>Comment on attachment 271465
Patch and Layout Tests

Actually, we should teach ContentSecurityPolicyDirectiveList::parse() to ignore the sandbox directive when the policy is from a HTTP equiv meta tag. This will make us more closely match the algorithm defined in &lt;https://www.w3.org/TR/2015/CR-CSP2-20150721/#delivery-html-meta-element&gt; and will make it straightforward to also ignore the directive report-uri (bug #154307) and directive frame-ancestors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165402</commentid>
    <comment_count>4</comment_count>
      <attachid>271510</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-02-16 16:35:55 -0800</bug_when>
    <thetext>Created attachment 271510
Patch and Layout Tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166269</commentid>
    <comment_count>5</comment_count>
      <attachid>271510</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-02-18 17:33:26 -0800</bug_when>
    <thetext>Comment on attachment 271510
Patch and Layout Tests

View in context: https://bugs.webkit.org/attachment.cgi?id=271510&amp;action=review

r=me. I don&apos;t like to see &apos;goto&apos; being used, but this case seems to be well considered.

&gt; Source/WebCore/page/csp/ContentSecurityPolicy.cpp:462
&gt; +    logToConsole(&quot;The Content Security Policy directive &apos;&quot; + directiveName + &quot;&apos; is ignored when delivered via a HTML meta element.&quot;);

Shouldn&apos;t this be &quot;... when delivered via an HTML meta element.&quot; ?

&gt; Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.cpp:421
&gt;          skipExactly&lt;UChar&gt;(position, end, &apos;;&apos;);

You could make this a small method, then call it in the &quot;FIXME&quot; case above, followed by continue. This would avoid the use of a &apos;goto&apos;.

However, if you intend to include more cases above, handling the termination state properly might get complicated, so the &apos;goto&apos; might be the best choice.

&gt; LayoutTests/ChangeLog:14
&gt; +        create analogous tests for when the sandbox directive is delivered via a HTTP header.

I think this should say, &quot;.... delivered via an HTTP header.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166421</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-02-19 08:50:14 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; [...]
&gt; &gt; Source/WebCore/page/csp/ContentSecurityPolicy.cpp:462
&gt; &gt; +    logToConsole(&quot;The Content Security Policy directive &apos;&quot; + directiveName + &quot;&apos; is ignored when delivered via a HTML meta element.&quot;);
&gt; 
&gt; Shouldn&apos;t this be &quot;... when delivered via an HTML meta element.&quot; ?
&gt;

Will fix.
 
&gt; &gt; Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.cpp:421
&gt; &gt;          skipExactly&lt;UChar&gt;(position, end, &apos;;&apos;);
&gt; 
&gt; You could make this a small method, then call it in the &quot;FIXME&quot; case above,
&gt; followed by continue. This would avoid the use of a &apos;goto&apos;.
&gt; 
&gt; However, if you intend to include more cases above, handling the termination
&gt; state properly might get complicated, so the &apos;goto&apos; might be the best choice.
&gt; 

Another idea is use a switch block that breaks out of case ContentSecurityPolicy::PolicyFrom::HTTPEquivMeta for a directive that is not supported when delivered via a meta element. For all other cases, we would add the directive. This would look like:

...
while (position &lt; end) {
    ...
    if (parseDirective(directiveBegin, position, name, value)) {
        ASSERT(!name.isEmpty());
        switch (policyFrom) {
        case ContentSecurityPolicy::PolicyFrom::HTTPEquivMeta:
            // FIXME: We also need to ignore directive report-uri (https://bugs.webkit.org/show_bug.cgi?id=154307).
            if (equalLettersIgnoringASCIICase(name, sandbox)) {
                m_policy.reportInvalidDirectiveInHTTPEquivMeta(name);
                break;
            }
            FALLTHROUGH;
        default:
            addDirective(name, value);
            break;
        }
    }

    ASSERT(position == end || *position == &apos;;&apos;);
    skipExactly&lt;UChar&gt;(position, end, &apos;;&apos;);
}
...

What are your thoughts?

&gt; &gt; LayoutTests/ChangeLog:14
&gt; &gt; +        create analogous tests for when the sandbox directive is delivered via a HTTP header.
&gt; 
&gt; I think this should say, &quot;.... delivered via an HTTP header.&quot;

Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166845</commentid>
    <comment_count>7</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-02-21 10:47:06 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; [...]
&gt; &gt; &gt; Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.cpp:421
&gt; &gt; &gt;          skipExactly&lt;UChar&gt;(position, end, &apos;;&apos;);
&gt; &gt; 
&gt; &gt; You could make this a small method, then call it in the &quot;FIXME&quot; case above,
&gt; &gt; followed by continue. This would avoid the use of a &apos;goto&apos;.
&gt; &gt; 
&gt; &gt; However, if you intend to include more cases above, handling the termination
&gt; &gt; state properly might get complicated, so the &apos;goto&apos; might be the best choice.
&gt; &gt; 
&gt; 
&gt; Another idea is use a switch block that breaks out of case
&gt; ContentSecurityPolicy::PolicyFrom::HTTPEquivMeta for a directive that is not
&gt; supported when delivered via a meta element. For all other cases, we would
&gt; add the directive. This would look like:
&gt; 
&gt; ...
&gt; while (position &lt; end) {
&gt;     ...
&gt;     if (parseDirective(directiveBegin, position, name, value)) {
&gt;         ASSERT(!name.isEmpty());
&gt;         switch (policyFrom) {
&gt;         case ContentSecurityPolicy::PolicyFrom::HTTPEquivMeta:
&gt;             // FIXME: We also need to ignore directive report-uri
&gt; (https://bugs.webkit.org/show_bug.cgi?id=154307).
&gt;             if (equalLettersIgnoringASCIICase(name, sandbox)) {
&gt;                 m_policy.reportInvalidDirectiveInHTTPEquivMeta(name);
&gt;                 break;
&gt;             }
&gt;             FALLTHROUGH;
&gt;         default:
&gt;             addDirective(name, value);
&gt;             break;
&gt;         }
&gt;     }
&gt; 
&gt;     ASSERT(position == end || *position == &apos;;&apos;);
&gt;     skipExactly&lt;UChar&gt;(position, end, &apos;;&apos;);
&gt; }
&gt; ...
&gt; 
&gt; What are your thoughts?
&gt; 

Brent Fulgham liked the switch-statement approach, preferring it over the use of goto, from talking with him last Friday (02/19).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166846</commentid>
    <comment_count>8</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-02-21 10:52:50 -0800</bug_when>
    <thetext>Committed r196874: &lt;http://trac.webkit.org/changeset/196874&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166901</commentid>
    <comment_count>9</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-02-21 17:31:30 -0800</bug_when>
    <thetext>Added iOS Simulator-specific expected result for test LayoutTests/http/tests/security/contentSecurityPolicy/sandbox-empty-in-http-header-inherited-by-subframe.html in &lt;http://trac.webkit.org/changeset/196885&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271465</attachid>
            <date>2016-02-16 12:16:43 -0800</date>
            <delta_ts>2016-02-16 16:35:52 -0800</delta_ts>
            <desc>Patch and Layout Tests</desc>
            <filename>bug-154299-20160216121624.patch</filename>
            <type>text/plain</type>
            <size>21775</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2NjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmEyN2I1YmY5YjM5Yjdl
MGU5NmY0YzU4NzNkODIwMGE0ZDcwMzMxNi4uNmRhYjI4NTBhYTkzNmRkNzNlNjJkMTdiMjYwYzE4
NjMyZGNiOWM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDE2LTAyLTE2ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBDU1A6IHNhbmRib3ggZGly
ZWN0aXZlIHNob3VsZCBiZSBpZ25vcmVkIHdoZW4gY29udGFpbmVkIGluIGEgcG9saWN5IGRlZmlu
ZWQgdmlhIGEgbWV0YSBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTQyOTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI0NjgwNDMzPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBDb250
ZW50IFNlY3VyaXR5IFBvbGljeSBzYW5kYm94IGRpcmVjdGl2ZSBzaG91bGQgb25seSBiZSBob25v
cmVkIHdoZW4gZW5mb3JjaW5nIGEgcG9saWN5CisgICAgICAgIGRlZmluZWQgdmlhIGFuIEhUVFAg
aGVhZGVyIGFzIHBlciBzZWN0aW9uIHNhbmRib3ggb2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9s
aWN5IDIuMCBzcGVjLiwKKyAgICAgICAgPGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDE1L0NSLUNT
UDItMjAxNTA3MjEvPi4KKworICAgICAgICBDdXJyZW50bHkgd2UgaG9ub3IgdGhlIHNhbmRib3gg
ZGlyZWN0aXZlIHdoZW4gZW5mb3JjaW5nIGEgcG9saWN5IGRlZmluZWQgZWl0aGVyIHZpYSBhIEhU
TUwKKyAgICAgICAgbWV0YSBlbGVtZW50IG9yIGFuIEhUVFAgaGVhZGVyLiBJbnN0ZWFkIHdlIHNo
b3VsZCBvbmx5IGhvbm9yIHRoaXMgZGlyZWN0aXZlIHdoZW4gZGVmaW5lZAorICAgICAgICB2aWEg
YW4gSFRUUCBoZWFkZXIuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRlcjIu
cGhwCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9zYW5kYm94LWVtcHR5LWluLWh0dHAtaGVhZGVyLWluaGVyaXRlZC1ieS1zdWJmcmFtZS5w
aHAKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3NhbmRib3gtZW1wdHktaW4taHR0cC1oZWFkZXIucGhwCisgICAgICAgICAgICAgICBodHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLW1ldGEtdGFn
LWlnbm9yZWQuaHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50Ojpwcm9jZXNzSHR0cEVxdWl2KTogU3Vic3RpdHV0ZSBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OnByb2Nlc3NIVFRQRXF1aXYoKSBmb3IKKyAgICAgICAgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpkaWRSZWNlaXZlSGVhZGVyKCkgYXMgdGhlIGxhdHRlciB3YXMgbWFkZSBwcml2
YXRlLgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRpZFJlY2VpdmVIZWFkZXJzKTog
QXBwbHkgdGhlIHNhbmRib3ggZmxhZ3MgKGlmIGFwcGxpY2FibGUpLgorICAgICAgICAoV2ViQ29y
ZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjpkaWRSZWNlaXZlSGVhZGVyKTogTW9kaWZpZWQgdG8g
ZGlzYWJsZSBldmFsIChpZiBhcHBsaWNhYmxlKSBkaXJlY3RseSBpbnN0ZWFkCisgICAgICAgIG9m
IGNhbGxpbmcgQ29udGVudFNlY3VyaXR5UG9saWN5OjphcHBseVBvbGljeVRvU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpIGJlY2F1c2UgaXQgd2FzIHRoZSBvbmx5IGNhbGxlciBvZiB0aGlzCisgICAg
ICAgIG1lbWJlciBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBv
bGljeTo6YXBwbHlQb2xpY3lUb1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOiBEZWxldGVkLiBNb3Zl
ZCBsb2dpYyB0byBkaXNhYmxlIGV2YWwgYW5kCisgICAgICAgIGFwcGx5IHRoZSBzYW5kYm94IGZs
YWdzIHRvIENvbnRlbnRTZWN1cml0eVBvbGljeTo6ZGlkUmVjZWl2ZUhlYWRlcigpIGFuZCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OmRpZFJlY2VpdmVIZWFkZXJzKCksCisgICAgICAgIHJlc3BlY3Rp
dmVseS4KKyAgICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaDogTWFkZSBt
ZW1iZXIgZnVuY3Rpb24gQ29udGVudFNlY3VyaXR5UG9saWN5OjpkaWRSZWNlaXZlSGVhZGVyKCkg
cHJpdmF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6cHJvY2Vz
c0hUVFBFcXVpdik6IEFkZGVkOyB0dXJucyBhcm91bmQgYW5kIGNhbGxzIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6ZGlkUmVjZWl2ZUhlYWRlcigpLgorICAgICAgICBUaGUgbmFtZSBvZiB0aGlzIGZ1
bmN0aW9uIGJldHRlciBkZXNjcmliZXMgaXRzIHB1cnBvc2UgLSB0byBoYW5kbGUgdGhlIHByb2Nl
c3Npbmcgb2YgYSBDb250ZW50IFNlY3VyaXR5IFBvbGljeQorICAgICAgICBkZWxpdmVyZWQgdmlh
IDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSIuLi4i
Pi4KKworMjAxNi0wMi0xNiAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKICAg
ICAgICAgQ1NQOiBVcGRhdGUgdmlvbGF0aW9uIHJlcG9ydCAnQ29udGVudC1UeXBlJyBoZWFkZXIK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzE2Ngog
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQzODMzMjc+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApp
bmRleCBiYzQ3OTc3MzgwYjQ5ZjJkYWEwYWY5N2I3ZmQyYzQ0MjM4OTNkZWEzLi4yY2JhNmUxYjRh
OTQyY2I2NWZlMWRlOGVhZDAwZTczOGJiMmEwNGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
QEAgLTMyNzAsMTkgKzMyNzAsMTkgQEAgdm9pZCBEb2N1bWVudDo6cHJvY2Vzc0h0dHBFcXVpdihj
b25zdCBTdHJpbmcmIGVxdWl2LCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpCiAgICAgICAgIGJyZWFr
OwogCiAgICAgY2FzZSBIVFRQSGVhZGVyTmFtZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OgotICAg
ICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcihjb250ZW50LCBD
b250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBlOjpFbmZvcmNlKTsKKyAgICAgICAgY29udGVu
dFNlY3VyaXR5UG9saWN5KCktPnByb2Nlc3NIVFRQRXF1aXYoY29udGVudCwgQ29udGVudFNlY3Vy
aXR5UG9saWN5SGVhZGVyVHlwZTo6RW5mb3JjZSk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2Fz
ZSBIVFRQSGVhZGVyTmFtZTo6Q29udGVudFNlY3VyaXR5UG9saWN5UmVwb3J0T25seToKLSAgICAg
ICAgY29udGVudFNlY3VyaXR5UG9saWN5KCktPmRpZFJlY2VpdmVIZWFkZXIoY29udGVudCwgQ29u
dGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZTo6UmVwb3J0KTsKKyAgICAgICAgY29udGVudFNl
Y3VyaXR5UG9saWN5KCktPnByb2Nlc3NIVFRQRXF1aXYoY29udGVudCwgQ29udGVudFNlY3VyaXR5
UG9saWN5SGVhZGVyVHlwZTo6UmVwb3J0KTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEhU
VFBIZWFkZXJOYW1lOjpYV2ViS2l0Q1NQOgotICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3ko
KS0+ZGlkUmVjZWl2ZUhlYWRlcihjb250ZW50LCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJU
eXBlOjpQcmVmaXhlZEVuZm9yY2UpOworICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3koKS0+
cHJvY2Vzc0hUVFBFcXVpdihjb250ZW50LCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBl
OjpQcmVmaXhlZEVuZm9yY2UpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgSFRUUEhlYWRl
ck5hbWU6OlhXZWJLaXRDU1BSZXBvcnRPbmx5OgotICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xp
Y3koKS0+ZGlkUmVjZWl2ZUhlYWRlcihjb250ZW50LCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFk
ZXJUeXBlOjpQcmVmaXhlZFJlcG9ydCk7CisgICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeSgp
LT5wcm9jZXNzSFRUUEVxdWl2KGNvbnRlbnQsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5
cGU6OlByZWZpeGVkUmVwb3J0KTsKICAgICAgICAgYnJlYWs7CiAKICAgICBkZWZhdWx0OgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKaW5k
ZXggNDIzMGI4NmExY2E2NjVhZjE5OTFmYmI3NzJiMWZiNTBmMTAyMjFhOS4uNDU2OWM1ZDNmOGZi
ZjIwOTBjZmJhOTM0ZmI0ZTAzNzA1ODJmYzIyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCkBAIC05NCw2ICs5NCw4IEBAIHZvaWQg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpkaWRSZWNlaXZlSGVhZGVycyhjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zCiB7CiAgICAgZm9yIChhdXRvJiBoZWFkZXIgOiBoZWFkZXJzLm1f
aGVhZGVycykKICAgICAgICAgZGlkUmVjZWl2ZUhlYWRlcihoZWFkZXIuZmlyc3QsIGhlYWRlci5z
ZWNvbmQpOworICAgIGlmIChtX3NhbmRib3hGbGFncyAhPSBTYW5kYm94Tm9uZSAmJiBpczxEb2N1
bWVudD4obV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KSkKKyAgICAgICAgbV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0LT5lbmZvcmNlU2FuZGJveEZsYWdzKG1fc2FuZGJveEZsYWdzKTsKIH0KIAogdm9p
ZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRpZFJlY2VpdmVIZWFkZXIoY29uc3QgU3RyaW5nJiBo
ZWFkZXIsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGUgdHlwZSkKQEAgLTEyMiwxNyAr
MTI0LDggQEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRpZFJlY2VpdmVIZWFkZXIoY29u
c3QgU3RyaW5nJiBoZWFkZXIsIENvbnRlbnRTZWN1cmkKICAgICAgICAgYmVnaW4gPSBwb3NpdGlv
bjsKICAgICB9CiAKLSAgICBpZiAobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KQotICAgICAgICBh
cHBseVBvbGljeVRvU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotfQotCi12b2lkIENvbnRlbnRT
ZWN1cml0eVBvbGljeTo6YXBwbHlQb2xpY3lUb1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKQotewot
ICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwotICAgIGlmICghbV9sYXN0UG9s
aWN5RXZhbERpc2FibGVkRXJyb3JNZXNzYWdlLmlzTnVsbCgpKQorICAgIGlmIChtX3NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQgJiYgIW1fbGFzdFBvbGljeUV2YWxEaXNhYmxlZEVycm9yTWVzc2FnZS5p
c051bGwoKSkKICAgICAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5kaXNhYmxlRXZhbCht
X2xhc3RQb2xpY3lFdmFsRGlzYWJsZWRFcnJvck1lc3NhZ2UpOwotICAgIGlmIChtX3NhbmRib3hG
bGFncyAhPSBTYW5kYm94Tm9uZSAmJiBpczxEb2N1bWVudD4obV9zY3JpcHRFeGVjdXRpb25Db250
ZXh0KSkKLSAgICAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5lbmZvcmNlU2FuZGJveEZs
YWdzKG1fc2FuZGJveEZsYWdzKTsKIH0KIAogdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnNl
dE92ZXJyaWRlQWxsb3dJbmxpbmVTdHlsZShib29sIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaAppbmRleCBmYzg4NGZiOGIwN2ZhYzNm
Y2FkNzE5MDUyNzQwMTRkYTMwM2FiM2MyLi40ZmNjZmNlYzIzNTNjYzM2YzUxNDgxZmUxMWE0ZTk0
YTcyNjVjODMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJp
dHlQb2xpY3kuaApAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6CiAKICAgICBDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgcmVzcG9uc2VIZWFkZXJzKCkgY29uc3Q7CiAgICAgdm9p
ZCBkaWRSZWNlaXZlSGVhZGVycyhjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmKTsKLSAgICB2b2lkIGRpZFJlY2VpdmVIZWFkZXIoY29uc3QgU3RyaW5nJiwgQ29udGVu
dFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZSk7CisgICAgdm9pZCBwcm9jZXNzSFRUUEVxdWl2KGNv
bnN0IFN0cmluZyYgY29udGVudCwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZSB0eXBl
KSB7IGRpZFJlY2VpdmVIZWFkZXIoY29udGVudCwgdHlwZSk7IH0KIAogICAgIGVudW0gY2xhc3Mg
UmVwb3J0aW5nU3RhdHVzIHsKICAgICAgICAgU2VuZFJlcG9ydCwKQEAgLTEzNCw3ICsxMzQsOCBA
QCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgdm9pZCBsb2dUb0NvbnNvbGUoY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwgPSBTdHJpbmcoKSwgY29uc3QgV1RG
OjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSA9IFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3Jl
Rmlyc3QoKSwgSlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0cikgY29uc3Q7Ci0gICAgdm9pZCBhcHBs
eVBvbGljeVRvU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworCisgICAgdm9pZCBkaWRSZWNlaXZl
SGVhZGVyKGNvbnN0IFN0cmluZyYsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGUpOwog
CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0IHsg
bnVsbHB0ciB9OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxDb250ZW50U2VjdXJpdHlQb2xpY3lTb3Vy
Y2U+IG1fc2VsZlNvdXJjZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhMWU5OTA1MzQwODM1MWJjMzliOGEzYmM2ZGYyMjFj
ZTA4MzBkYzIxLi4xYmQxZTVjMWIzMjc4ZDZkNDg0MmRhZWU2ZTg1YmQwOGIxOGQzZDA2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDUgKzEsNDAgQEAKIDIwMTYtMDItMTYgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBw
bGUuY29tPgogCisgICAgICAgIENTUDogc2FuZGJveCBkaXJlY3RpdmUgc2hvdWxkIGJlIGlnbm9y
ZWQgd2hlbiBjb250YWluZWQgaW4gYSBwb2xpY3kgZGVmaW5lZCB2aWEgYSBtZXRhIGVsZW1lbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDI5OQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQ2ODA0MzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIyLWV4cGVj
dGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJv
eC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyMi5waHA6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFs
bG93LXNjcmlwdHMuaHRtbC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1zdWJmcmFtZS1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLXN1YmZyYW1lLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgIFRoaXMgdGVzdCBpcyBubyBsb25nZXIgbWVhbmluZ2Z1bCBub3cgdGhhdCB3ZSBpZ25v
cmUgdGhlIHNhbmRib3ggZGlyZWN0aXZlIHdoZW4gZGVsaXZlcmVkIHZpYSBhIEhUTUwgbWV0YSBl
bGVtZW50LgorICAgICAgICBBbiBhbmFsb2dvdXMgdGVzdCBmb3Igd2hlbiB0aGUgZGlyZWN0aXZl
IGlzIGRlbGl2ZXJlZCB2aWEgYSBIVFRQIGhlYWRlciBpcyBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8vc2FuZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVy
Lmh0bWwuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9zYW5kYm94LWVtcHR5LWluLWh0dHAtaGVhZGVyLWluaGVyaXRlZC1ieS1zdWJmcmFtZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHktaW4taHR0cC1oZWFkZXItaW5oZXJpdGVkLWJ5
LXN1YmZyYW1lLnBocDogQWRkZWQuIERlcml2ZWQgZnJvbSB0ZXN0IGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHktc3ViZnJhbWUuaHRtbC4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRi
b3gtZW1wdHktaW4taHR0cC1oZWFkZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LWlu
LWh0dHAtaGVhZGVyLnBocDogQWRkZWQuIERlcml2ZWQgZnJvbSB0ZXN0IGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHkuaHRtbC4KKworICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1w
dHktc3ViZnJhbWUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHktc3ViZnJhbWUuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgVGhpcyB0ZXN0IGlzIG5vIGxvbmdlciBtZWFuaW5nZnVsIG5v
dyB0aGF0IHdlIGlnbm9yZSB0aGUgc2FuZGJveCBkaXJlY3RpdmUgd2hlbiBkZWxpdmVyZWQgdmlh
IGEgSFRNTCBtZXRhIGVsZW1lbnQuCisgICAgICAgIFRoZSBhbmFsb2dvdXMgdGVzdCBmb3Igd2hl
biB0aGUgZGlyZWN0aXZlIGlzIGRlbGl2ZXJlZCB2aWEgYSBIVFRQIGhlYWRlciBpcyBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LWluLWh0dHAt
aGVhZGVyLWluaGVyaXRlZC1ieS1zdWJmcmFtZS5waHAuCisKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9zYW5kYm94LWVtcHR5Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgIFRoaXMgdGVzdCBp
cyBubyBsb25nZXIgbWVhbmluZ2Z1bCBub3cgdGhhdCB3ZSBpZ25vcmUgdGhlIHNhbmRib3ggZGly
ZWN0aXZlIHdoZW4gZGVsaXZlcmVkIHZpYSBhIEhUTUwgbWV0YSBlbGVtZW50LgorICAgICAgICBU
aGUgYW5hbG9nb3VzIHRlc3QgZm9yIHdoZW4gdGhlIGRpcmVjdGl2ZSBpcyBkZWxpdmVyZWQgdmlh
IGEgSFRUUCBoZWFkZXIgaXMgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvc2FuZGJveC1lbXB0eS1pbi1odHRwLWhlYWRlci5waHAuCisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLW1ldGEtdGFnLWln
bm9yZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLW1ldGEtdGFnLWlnbm9yZWQuaHRtbDog
QWRkZWQuCisKKzIwMTYtMDItMTYgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgor
CiAgICAgICAgIENTUDogVXBkYXRlIHZpb2xhdGlvbiByZXBvcnQgJ0NvbnRlbnQtVHlwZScgaGVh
ZGVyCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTMx
NjYKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI0MzgzMzI3PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1h
bGxvdy1zY3JpcHRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5ZWY0YzVmYzdkMTAwOWMwMDE2ZTY4
M2Q1MTE2ZDg1YjQ0Yzk4NjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDIgKzAsMCBAQAotQUxFUlQ6IFBBU1MKLVRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBh
bGVydCBwYXNzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVy
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40OWVmNGM1ZmM3ZDEwMDljMDAxNmU2ODNkNTExNmQ4NWI0NGM5
ODY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVy
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitBTEVSVDogUEFTUworVGhpcyB0ZXN0IHBh
c3NlcyBpZiBpdCBkb2VzIGFsZXJ0IHBhc3MuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlw
dHMtaW4taHR0cC1oZWFkZXIyLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRl
cjIucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA4ZDMwZWMxZmVlY2VhOWIyYzM5NWYzYzhiZmJiZmJhMWEyZGJl
ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIy
LnBocApAQCAtMCwwICsxLDE2IEBACis8P3BocAorICAgIGhlYWRlcigiQ29udGVudC1TZWN1cml0
eS1Qb2xpY3k6IHNhbmRib3ggYWxsb3ctc2NyaXB0cyIpOworPz4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KK1RoaXMgdGVzdCBwYXNzZXMgaWYgaXQg
ZG9lcyBhbGVydCBwYXNzLgorPHNjcmlwdD4KK2FsZXJ0KCdQQVNTJyk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1zdWJmcmFtZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtc3ViZnJhbWUtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NzUxMmI4ODAwZWVlN2FiOGVjYzVjNjFkYmE5
MDgwNGRjMDg0YTdjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1zdWJmcmFtZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwyICswLDAgQEAKLUFMRVJUOiBQQVNTCi1UaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRv
ZXMgYWxlcnQgcGFzcy4gCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtc3ViZnJhbWUu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1zdWJmcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2YmJhYzZkOWFjNWRlNzAwMzE2NmUwZjE1NTZjNGJlN2Y0ZWZhY2JhLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ct
c2NyaXB0cy1zdWJmcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi08c2Ny
aXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotPC9zY3JpcHQ+Ci08bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIg
Y29udGVudD0ic2FuZGJveCBhbGxvdy1zY3JpcHRzIj4KLVRoaXMgdGVzdCBwYXNzZXMgaWYgaXQg
ZG9lcyBhbGVydCBwYXNzLgotPGlmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxzY3JpcHQ+YWxl
cnQoJ1BBU1MnKTs8L3NjcmlwdD4iPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1z
Y3JpcHRzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYzE0OGQyZmMyM2Q5NzIwZDRlZjkxOTM0MjNiM2RiNGEwNDAyNDI1ZS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNj
cmlwdHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotPHNjcmlwdD4KLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLTwvc2NyaXB0
PgotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9InNh
bmRib3ggYWxsb3ctc2NyaXB0cyI+Ci1UaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgYWxlcnQg
cGFzcy4KLTxzY3JpcHQ+Ci1hbGVydCgnUEFTUycpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5k
Ym94LWVtcHR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHktZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDg5YzJlYTZmODgyZTAyZjk2OWUzNTYyNjAxZTA2OTky
NWY0YTZiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRi
b3gtZW1wdHktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1DT05T
T0xFIE1FU1NBR0U6IEJsb2NrZWQgc2NyaXB0IGV4ZWN1dGlvbiBpbiAnaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5Lmh0bWwn
IGJlY2F1c2UgdGhlIGRvY3VtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93
LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4KLVRoaXMgdGVzdCBwYXNzZXMgaWYgaXQg
ZG9lc24ndCBhbGVydCBmYWlsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1lbXB0eS1pbi1odHRwLWhlYWRl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LWluLWh0dHAtaGVhZGVyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wYWI1NzBkMzQ0ZjczMDcyNDhkMjIwY2U2YmNiZjY2MWVmZDJjMWYxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvc2FuZGJveC1lbXB0eS1pbi1odHRwLWhlYWRlci1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw2IEBACitDT05TT0xFIE1FU1NBR0U6IEJsb2NrZWQgc2NyaXB0IGV4ZWN1dGlvbiBp
biAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9z
YW5kYm94LWVtcHR5LWluLWh0dHAtaGVhZGVyLnBocCcgYmVjYXVzZSB0aGUgZG9jdW1lbnQncyBm
cmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBu
b3Qgc2V0LgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg4CisgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg4CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSA3ODR4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1lbXB0eS1pbi1odHRwLWhlYWRlci1pbmhl
cml0ZWQtYnktc3ViZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1lbXB0eS1pbi1odHRwLWhlYWRl
ci1pbmhlcml0ZWQtYnktc3ViZnJhbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiMzRkY2Ni
ZTdlNWZlMmMyMWE5ZDk5ZjQwMWMzYWM0YjE4OTdiYmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94
LWVtcHR5LWluLWh0dHAtaGVhZGVyLWluaGVyaXRlZC1ieS1zdWJmcmFtZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorQ09OU09MRSBNRVNTQUdFOiBCbG9ja2VkIHNjcmlwdCBleGVjdXRp
b24gaW4gJ2RhdGE6dGV4dC9odG1sLDxzY3JpcHQ+YWxlcnQoJ0ZBSUwnKTs8L3NjcmlwdD4nIGJl
Y2F1c2UgdGhlIGRvY3VtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNj
cmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4KK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4MTI0CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxMjQKKyAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgxMDgKKyAgICAgIFJlbmRlcklG
cmFtZSB7SUZSQU1FfSBhdCAoMCwwKSBzaXplIDEwNHgxMDQgW2JvcmRlcjogKDJweCBpbnNldCAj
MDAwMDAwKV0KKyAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAgICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICAgICAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSAxMDB4MTAwCisgICAgICAgICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
MTAweDEwMAorICAgICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA4NHg4
NAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9z
YW5kYm94LWVtcHR5LWluLWh0dHAtaGVhZGVyLWluaGVyaXRlZC1ieS1zdWJmcmFtZS5waHAgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5k
Ym94LWVtcHR5LWluLWh0dHAtaGVhZGVyLWluaGVyaXRlZC1ieS1zdWJmcmFtZS5waHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjZkOTgyMDI2Zjc0YmQxOGMwYWI0Yzk0OWQ0NzFiOWQzNDVmMTc0MQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3NhbmRib3gtZW1wdHktaW4taHR0cC1oZWFkZXItaW5oZXJpdGVkLWJ5LXN1YmZyYW1l
LnBocApAQCAtMCwwICsxLDEwIEBACis8P3BocAorICAgIGhlYWRlcigiQ29udGVudC1TZWN1cml0
eS1Qb2xpY3k6IHNhbmRib3giKTsKKz8+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+
Cis8IS0tIFRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBhbGVydCBGQUlMLiAtLT4KKzxp
ZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRtbCw8c2NyaXB0PmFsZXJ0KCdGQUlMJyk7PC9zY3JpcHQ+
IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9zYW5kYm94LWVtcHR5LWluLWh0dHAtaGVhZGVyLnBocCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHktaW4t
aHR0cC1oZWFkZXIucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2MzhjMTIwY2NiYzQyYzRkNmQ5ZWMzZGNiMzhi
N2NmYmY3ODg2NzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LWluLWh0dHAtaGVhZGVy
LnBocApAQCAtMCwwICsxLDEwIEBACis8P3BocAorICAgIGhlYWRlcigiQ29udGVudC1TZWN1cml0
eS1Qb2xpY3k6IHNhbmRib3giKTsKKz8+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+
Cis8IS0tIFRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBhbGVydCBGQUlMLiAtLT4KKzxz
Y3JpcHQ+YWxlcnQoJ0ZBSUwnKTwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
c2FuZGJveC1lbXB0eS1zdWJmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LXN1YmZyYW1l
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTYzODc1MmUyN2Iy
MjdlZDZiNTA0ODA1NDM0NzQ2MWJkNTVlYTY4ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LXN1YmZyYW1lLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBCbG9ja2VkIHNjcmlw
dCBleGVjdXRpb24gaW4gJ2RhdGE6dGV4dC9odG1sLDxzY3JpcHQ+YWxlcnQoJ0ZBSUwnKTs8L3Nj
cmlwdD4nIGJlY2F1c2UgdGhlIGRvY3VtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUg
J2FsbG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4KLVRoaXMgdGVzdCBwYXNzZXMg
aWYgaXQgZG9lc24ndCBhbGVydCBmYWlsLiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHktc3ViZnJh
bWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3NhbmRib3gtZW1wdHktc3ViZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNTFjM2UwM2U0OTQ2NWViZDAxNDJhODQ2NzhkZTBkZmM4N2NiZmFlYi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LXN1YmZy
YW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLTxzY3JpcHQ+Ci1pZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci08L3NjcmlwdD4K
LTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJzYW5k
Ym94Ij4KLVRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBhbGVydCBmYWlsLgotPGlmcmFt
ZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxzY3JpcHQ+YWxlcnQoJ0ZBSUwnKTs8L3NjcmlwdD4iPjwv
aWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1lbXB0eS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4M2E0YWIzZjUyYTRkNzlmMjliYzViYTVlNWRm
MDVmNmJhNGI1MmNiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3NhbmRib3gtZW1wdHkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotPHNjcmlw
dD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
LTwvc2NyaXB0PgotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNv
bnRlbnQ9InNhbmRib3giPgotVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGFsZXJ0IGZh
aWwuCi08c2NyaXB0PgotYWxlcnQoJ0ZBSUwnKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJv
eC1pbi1tZXRhLXRhZy1pZ25vcmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW4tbWV0YS10YWctaWdu
b3JlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODVjOTk3NThiNWU2ZTM0YmU3ZTYzODkwZjcy
NDgwY2M0NjU4Y2VhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW4tbWV0YS10YWctaWdub3Jl
ZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitBTEVSVDogUEFTUyBleGVjdXRlZCBzY3Jp
cHQuCitUaGlzIHRlc3RzIHRoYXQgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IHNhbmRib3gg
ZGlyZWN0aXZlIGlzIGlnbm9yZWQgd2hlbiBjb250YWluZWQgaW4gYSBwb2xpY3kgZGVmaW5lZCB2
aWEgYSBIVE1MIG1ldGEgZWxlbWVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW4tbWV0YS10YWctaWdu
b3JlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvc2FuZGJveC1pbi1tZXRhLXRhZy1pZ25vcmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGRl
OTIxZDE4M2U0OTllYTZhNGZiMWVkMDk3NjAwZGQ3NzVlYzVlZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Nh
bmRib3gtaW4tbWV0YS10YWctaWdub3JlZC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxtZXRhIGh0dHAtZXF1
aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJzYW5kYm94Ij4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0cyB0aGF0IHRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSA8
Y29kZT5zYW5kYm94PC9jb2RlPiBkaXJlY3RpdmUgaXMgaWdub3JlZCB3aGVuIGNvbnRhaW5lZCBp
biBhIHBvbGljeSBkZWZpbmVkIHZpYSBhIEhUTUwgbWV0YSBlbGVtZW50LjwvcD4KKzxzY3JpcHQ+
YWxlcnQoIlBBU1MgZXhlY3V0ZWQgc2NyaXB0LiIpPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271510</attachid>
            <date>2016-02-16 16:35:55 -0800</date>
            <delta_ts>2016-02-18 17:33:26 -0800</delta_ts>
            <desc>Patch and Layout Tests</desc>
            <filename>bug-154299-20160216163535.patch</filename>
            <type>text/plain</type>
            <size>30361</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2NjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmJjMzc0NmEyMDFlNzM4
MmNiY2JmNzU0NjdjZTI4Yjc0Y2YwOTVlMi4uY2VjNjY3NzYyOWYyNzRmZGE5MjkzZTA1MTc0OWRm
YzZjNzliMzQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUwIEBACiAyMDE2LTAyLTE2ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBDU1A6IHNhbmRib3ggZGly
ZWN0aXZlIHNob3VsZCBiZSBpZ25vcmVkIHdoZW4gY29udGFpbmVkIGluIGEgcG9saWN5IGRlZmlu
ZWQgdmlhIGEgbWV0YSBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTQyOTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI0NjgwNDMzPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBDb250
ZW50IFNlY3VyaXR5IFBvbGljeSBzYW5kYm94IGRpcmVjdGl2ZSBzaG91bGQgb25seSBiZSBob25v
cmVkIHdoZW4gZW5mb3JjaW5nIGEgcG9saWN5CisgICAgICAgIGRlZmluZWQgdmlhIGEgSFRUUCBo
ZWFkZXIgYXMgcGVyIHNlY3Rpb24gc2FuZGJveCBvZiB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xp
Y3kgMi4wIHNwZWMuLAorICAgICAgICA8aHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTUvQ1ItQ1NQ
Mi0yMDE1MDcyMS8+LgorCisgICAgICAgIEN1cnJlbnRseSB3ZSBob25vciB0aGUgc2FuZGJveCBk
aXJlY3RpdmUgd2hlbiBlbmZvcmNpbmcgYSBwb2xpY3kgZGVmaW5lZCBlaXRoZXIgdmlhIGEgSFRN
TAorICAgICAgICBtZXRhIGVsZW1lbnQgb3IgYSBIVFRQIGhlYWRlci4gSW5zdGVhZCB3ZSBzaG91
bGQgb25seSBob25vciB0aGlzIGRpcmVjdGl2ZSB3aGVuIGRlZmluZWQKKyAgICAgICAgdmlhIGEg
SFRUUCBoZWFkZXIgYW5kIGxvZyBhIG1lc3NhZ2UgdG8gdGhlIFdlYiBJbnNwZWN0b3IgY29uc29s
ZSB0byBleHBsYWluIHRoYXQgdGhlIGRpcmVjdGl2ZQorICAgICAgICB3YXMgaWdub3JlZCBhcyBz
dWdnZXN0ZWQgaW4gPGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDE1L0NSLUNTUDItMjAxNTA3MjEv
I2RlbGl2ZXJ5LWh0bWwtbWV0YS1lbGVtZW50Pi4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWlu
LWh0dHAtaGVhZGVyMi5waHAKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHktaW4taHR0cC1oZWFkZXItaW5oZXJpdGVk
LWJ5LXN1YmZyYW1lLnBocAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1lbXB0eS1pbi1odHRwLWhlYWRlci5waHAKKyAgICAg
ICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRi
b3gtaW4tbWV0YS10YWctaWdub3JlZC5odG1sCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYpOiBTdWJzdGl0
dXRlIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cHJvY2Vzc0hUVFBFcXVpdigpIGZvcgorICAgICAg
ICBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRpZFJlY2VpdmVIZWFkZXIoKSBhcyB0aGUgbGF0dGVy
IHdhcyBtYWRlIHByaXZhdGUuCisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9s
aWN5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6Y29weVN0
YXRlRnJvbSk6IFVwZGF0ZWQgYXMgbmVlZGVkIGJhc2VkIG9uIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6ZGlkUmVjZWl2ZUhlYWRlcigpIGNoYW5nZSBiZWxvdy4KKyAgICAgICAgKFdlYkNvcmU6OkNv
bnRlbnRTZWN1cml0eVBvbGljeTo6ZGlkUmVjZWl2ZUhlYWRlcnMpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6ZGlkUmVjZWl2ZUhlYWRlcik6IE1vZGlm
aWVkIHRvIHRha2UgYXJndW1lbnQgb2YgdHlwZSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlBvbGlj
eUZyb20KKyAgICAgICAgYW5kIHBhc3MgaXQgdGhyb3VnaCB0byBDb250ZW50U2VjdXJpdHlQb2xp
Y3lEaXJlY3RpdmVMaXN0OjpjcmVhdGUoKS4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1
cml0eVBvbGljeTo6cmVwb3J0SW52YWxpZERpcmVjdGl2ZUluSFRUUEVxdWl2TWV0YSk6IExvZ3Mg
YSBtZXNzYWdlIHRvIHRoZSBXZWIgSW5zcGVjdG9yIGNvbnNvbGUKKyAgICAgICAgdGhhdCB0aGUg
c3BlY2lmaWVkIGRpcmVjdGl2ZSB3YXMgaWdub3JlZCBiZWNhdXNlIGl0IHdhcyBkZWxpdmVyZWQg
dmlhIGEgSFRNTCBtZXRhIGVsZW1lbnQuCisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3Vy
aXR5UG9saWN5Lmg6IE1hZGUgbWVtYmVyIGZ1bmN0aW9uIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
ZGlkUmVjZWl2ZUhlYWRlcigpIHByaXZhdGUuIERlZmluZWQKKyAgICAgICAgZW51bSBjbGFzcyBQ
b2xpY3lGcm9tIHRvIHJlcHJlc2VudCB0aGUgc291cmNlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5
IFBvbGljeTogSFRUUCBlcXVpdiBtZXRhIGVsZW1lbnQsIEhUVFAgaGVhZGVyLCBvcgorICAgICAg
ICBpbmhlcml0ZWQgZnJvbSBhbm90aGVyIENvbnRlbnRTZWN1cml0eVBvbGljeSBvYmplY3QgKHRo
aXMgdmFsdWUgaXMgb25seSB1c2VkIGJ5IENvbnRlbnRTZWN1cml0eVBvbGljeTo6Y29weVN0YXRl
RnJvbSgpKS4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6cHJvY2Vz
c0hUVFBFcXVpdik6IEFkZGVkOyB0dXJucyBhcm91bmQgYW5kIGNhbGxzIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6ZGlkUmVjZWl2ZUhlYWRlcigpLgorICAgICAgICBUaGUgbmFtZSBvZiB0aGlzIGZ1
bmN0aW9uIGJldHRlciBkZXNjcmliZXMgaXRzIHB1cnBvc2UgLSB0byBoYW5kbGUgdGhlIHByb2Nl
c3Npbmcgb2YgYSBDb250ZW50IFNlY3VyaXR5IFBvbGljeQorICAgICAgICBkZWxpdmVyZWQgdmlh
IDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSIuLi4i
Pi4KKyAgICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxp
c3Q6OmNyZWF0ZSk6IE1vZGlmaWVkIHRvIHRha2UgYXJndW1lbnQgb2YgdHlwZSBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OlBvbGljeUZyb20KKyAgICAgICAgYXMgcGFzcyBpdCB0aHJvdWdoIHRvIENv
bnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OnBhcnNlKCkuCisgICAgICAgIChXZWJD
b3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0OjpwYXJzZSk6IE1vZGlmaWVk
IHRvIGlnbm9yZSB0aGUgZGlyZWN0aXZlIHNhbmRib3ggd2hlbiB0aGUgQ29udGVudCBTZWN1cml0
eQorICAgICAgICBQb2xpY3kgY2FtZSBmcm9tIGEgSFRNTCBtZXRhIGVsZW1lbnQuCisgICAgICAg
ICogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oOgorCisyMDE2
LTAyLTE2ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKwogICAgICAgICBDU1A6
IFVwZGF0ZSB2aW9sYXRpb24gcmVwb3J0ICdDb250ZW50LVR5cGUnIGhlYWRlcgogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzMTY2CiAgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8yNDM4MzMyNz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGFlMTM2
YzM0MjRhY2NiZGQ3MTc5YTNmMWE1NTQ5NTgwOTlkNGYxNmMuLjhkYTM1YzM0NTk4MTQ2OTQ5YTZk
NDVmZjc3OTBkOWMxNmQ5ZjMwYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMzI3MSwx
OSArMzI3MSwxOSBAQCB2b2lkIERvY3VtZW50Ojpwcm9jZXNzSHR0cEVxdWl2KGNvbnN0IFN0cmlu
ZyYgZXF1aXYsIGNvbnN0IFN0cmluZyYgY29udGVudCkKICAgICAgICAgYnJlYWs7CiAKICAgICBj
YXNlIEhUVFBIZWFkZXJOYW1lOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6Ci0gICAgICAgIGNvbnRl
bnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVhZGVyKGNvbnRlbnQsIENvbnRlbnRTZWN1
cml0eVBvbGljeUhlYWRlclR5cGU6OkVuZm9yY2UpOworICAgICAgICBjb250ZW50U2VjdXJpdHlQ
b2xpY3koKS0+cHJvY2Vzc0hUVFBFcXVpdihjb250ZW50LCBDb250ZW50U2VjdXJpdHlQb2xpY3lI
ZWFkZXJUeXBlOjpFbmZvcmNlKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEhUVFBIZWFk
ZXJOYW1lOjpDb250ZW50U2VjdXJpdHlQb2xpY3lSZXBvcnRPbmx5OgotICAgICAgICBjb250ZW50
U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcihjb250ZW50LCBDb250ZW50U2VjdXJp
dHlQb2xpY3lIZWFkZXJUeXBlOjpSZXBvcnQpOworICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xp
Y3koKS0+cHJvY2Vzc0hUVFBFcXVpdihjb250ZW50LCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFk
ZXJUeXBlOjpSZXBvcnQpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgSFRUUEhlYWRlck5h
bWU6OlhXZWJLaXRDU1A6Ci0gICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNl
aXZlSGVhZGVyKGNvbnRlbnQsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGU6OlByZWZp
eGVkRW5mb3JjZSk7CisgICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5wcm9jZXNzSFRU
UEVxdWl2KGNvbnRlbnQsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGU6OlByZWZpeGVk
RW5mb3JjZSk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBIVFRQSGVhZGVyTmFtZTo6WFdl
YktpdENTUFJlcG9ydE9ubHk6Ci0gICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRS
ZWNlaXZlSGVhZGVyKGNvbnRlbnQsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGU6OlBy
ZWZpeGVkUmVwb3J0KTsKKyAgICAgICAgY29udGVudFNlY3VyaXR5UG9saWN5KCktPnByb2Nlc3NI
VFRQRXF1aXYoY29udGVudCwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZTo6UHJlZml4
ZWRSZXBvcnQpOwogICAgICAgICBicmVhazsKIAogICAgIGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAppbmRleCA0MjMwYjg2
YTFjYTY2NWFmMTk5MWZiYjc3MmIxZmI1MGYxMDIyMWE5Li5mZDRkYTQzNDFmNDIyMzVkMzhiNzhi
ODc5ZGU0MWQxYTdmNWIyMGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9D
b250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0Nv
bnRlbnRTZWN1cml0eVBvbGljeS5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OmNvcHlTdGF0ZUZyb20oY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5KiBv
dGhlcikKIHsKICAgICBBU1NFUlQobV9wb2xpY2llcy5pc0VtcHR5KCkpOwogICAgIGZvciAoYXV0
byYgcG9saWN5IDogb3RoZXItPm1fcG9saWNpZXMpCi0gICAgICAgIGRpZFJlY2VpdmVIZWFkZXIo
cG9saWN5LT5oZWFkZXIoKSwgcG9saWN5LT5oZWFkZXJUeXBlKCkpOworICAgICAgICBkaWRSZWNl
aXZlSGVhZGVyKHBvbGljeS0+aGVhZGVyKCksIHBvbGljeS0+aGVhZGVyVHlwZSgpLCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OlBvbGljeUZyb206OkluaGVyaXRlZCk7CiB9CiAKIENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlc3BvbnNl
SGVhZGVycygpIGNvbnN0CkBAIC05MywxMCArOTMsMTAgQEAgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVzcG9uc2VIZWFkZXJzKCkg
Y28KIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpkaWRSZWNlaXZlSGVhZGVycyhjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGhlYWRlcnMpCiB7CiAgICAgZm9y
IChhdXRvJiBoZWFkZXIgOiBoZWFkZXJzLm1faGVhZGVycykKLSAgICAgICAgZGlkUmVjZWl2ZUhl
YWRlcihoZWFkZXIuZmlyc3QsIGhlYWRlci5zZWNvbmQpOworICAgICAgICBkaWRSZWNlaXZlSGVh
ZGVyKGhlYWRlci5maXJzdCwgaGVhZGVyLnNlY29uZCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpQ
b2xpY3lGcm9tOjpIVFRQSGVhZGVyKTsKIH0KIAotdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OmRpZFJlY2VpdmVIZWFkZXIoY29uc3QgU3RyaW5nJiBoZWFkZXIsIENvbnRlbnRTZWN1cml0eVBv
bGljeUhlYWRlclR5cGUgdHlwZSkKK3ZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpkaWRSZWNl
aXZlSGVhZGVyKGNvbnN0IFN0cmluZyYgaGVhZGVyLCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFk
ZXJUeXBlIHR5cGUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UG9saWN5RnJvbSBwb2xpY3lGcm9t
KQogewogICAgIC8vIFJGQzI2MTYsIHNlY3Rpb24gNC4yIHNwZWNpZmllcyB0aGF0IGhlYWRlcnMg
YXBwZWFyaW5nIG11bHRpcGxlIHRpbWVzIGNhbgogICAgIC8vIGJlIGNvbWJpbmVkIHdpdGggYSBj
b21tYS4gV2FsayB0aGUgaGVhZGVyIHN0cmluZywgYW5kIHBhcnNlIGVhY2ggY29tbWEKQEAgLTEx
MCw3ICsxMTAsNyBAQCB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6ZGlkUmVjZWl2ZUhlYWRl
cihjb25zdCBTdHJpbmcmIGhlYWRlciwgQ29udGVudFNlY3VyaQogCiAgICAgICAgIC8vIGhlYWRl
cjEsaGVhZGVyMiBPUiBoZWFkZXIxCiAgICAgICAgIC8vICAgICAgICBeICAgICAgICAgICAgICAg
ICAgXgotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0
aXZlTGlzdD4gcG9saWN5ID0gQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6Y3Jl
YXRlKCp0aGlzLCBTdHJpbmcoYmVnaW4sIHBvc2l0aW9uIC0gYmVnaW4pLCB0eXBlKTsKKyAgICAg
ICAgc3RkOjp1bmlxdWVfcHRyPENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q+IHBv
bGljeSA9IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OmNyZWF0ZSgqdGhpcywg
U3RyaW5nKGJlZ2luLCBwb3NpdGlvbiAtIGJlZ2luKSwgdHlwZSwgcG9saWN5RnJvbSk7CiAgICAg
ICAgIGlmICghcG9saWN5LT5hbGxvd0V2YWwoMCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBv
cnRpbmdTdGF0dXM6OlN1cHByZXNzUmVwb3J0KSkKICAgICAgICAgICAgIG1fbGFzdFBvbGljeUV2
YWxEaXNhYmxlZEVycm9yTWVzc2FnZSA9IHBvbGljeS0+ZXZhbERpc2FibGVkRXJyb3JNZXNzYWdl
KCk7CiAKQEAgLTQ1Nyw2ICs0NTcsMTEgQEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJl
cG9ydEludmFsaWREaXJlY3RpdmVJblJlcG9ydE9ubHlNb2RlKGNvbnN0IFN0cmluZyYKICAgICBs
b2dUb0NvbnNvbGUoIlRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmUgJyIgKyBk
aXJlY3RpdmVOYW1lICsgIicgaXMgaWdub3JlZCB3aGVuIGRlbGl2ZXJlZCBpbiBhIHJlcG9ydC1v
bmx5IHBvbGljeS4iKTsKIH0KIAordm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydElu
dmFsaWREaXJlY3RpdmVJbkhUVFBFcXVpdk1ldGEoY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVOYW1l
KSBjb25zdAoreworICAgIGxvZ1RvQ29uc29sZSgiVGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5
IGRpcmVjdGl2ZSAnIiArIGRpcmVjdGl2ZU5hbWUgKyAiJyBpcyBpZ25vcmVkIHdoZW4gZGVsaXZl
cmVkIHZpYSBhIEhUTUwgbWV0YSBlbGVtZW50LiIpOworfQorCiB2b2lkIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6cmVwb3J0SW52YWxpZERpcmVjdGl2ZVZhbHVlQ2hhcmFjdGVyKGNvbnN0IFN0cmlu
ZyYgZGlyZWN0aXZlTmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKIHsKICAgICBTdHJp
bmcgbWVzc2FnZSA9IG1ha2VTdHJpbmcoIlRoZSB2YWx1ZSBmb3IgQ29udGVudCBTZWN1cml0eSBQ
b2xpY3kgZGlyZWN0aXZlICciLCBkaXJlY3RpdmVOYW1lLCAiJyBjb250YWlucyBhbiBpbnZhbGlk
IGNoYXJhY3RlcjogJyIsIHZhbHVlLCAiJy4gTm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVycyBvdXRz
aWRlIEFTQ0lJIDB4MjEtMHg3RSBtdXN0IGJlIHBlcmNlbnQtZW5jb2RlZCwgYXMgZGVzY3JpYmVk
IGluIFJGQyAzOTg2LCBzZWN0aW9uIDIuMTogaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZj
Mzk4NiNzZWN0aW9uLTIuMS4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3Nw
L0NvbnRlbnRTZWN1cml0eVBvbGljeS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVu
dFNlY3VyaXR5UG9saWN5LmgKaW5kZXggZmM4ODRmYjhiMDdmYWMzZmNhZDcxOTA1Mjc0MDE0ZGEz
MDNhYjNjMi4uYmMwYzU4OTljZDRlZmJiY2M2OWY1NWQwODEyMjkwNjZhZDk4NjkyYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKQEAgLTY3
LDkgKzY3LDE0IEBAIHB1YmxpYzoKICAgICB9OwogICAgIFJlZmxlY3RlZFhTU0Rpc3Bvc2l0aW9u
IHJlZmxlY3RlZFhTU0Rpc3Bvc2l0aW9uKCkgY29uc3Q7CiAKKyAgICBlbnVtIGNsYXNzIFBvbGlj
eUZyb20geworICAgICAgICBIVFRQRXF1aXZNZXRhLAorICAgICAgICBIVFRQSGVhZGVyLAorICAg
ICAgICBJbmhlcml0ZWQsCisgICAgfTsKICAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMgcmVzcG9uc2VIZWFkZXJzKCkgY29uc3Q7CiAgICAgdm9pZCBkaWRSZWNlaXZlSGVh
ZGVycyhjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmKTsKLSAgICB2
b2lkIGRpZFJlY2VpdmVIZWFkZXIoY29uc3QgU3RyaW5nJiwgQ29udGVudFNlY3VyaXR5UG9saWN5
SGVhZGVyVHlwZSk7CisgICAgdm9pZCBwcm9jZXNzSFRUUEVxdWl2KGNvbnN0IFN0cmluZyYgY29u
dGVudCwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZSB0eXBlKSB7IGRpZFJlY2VpdmVI
ZWFkZXIoY29udGVudCwgdHlwZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpQb2xpY3lGcm9tOjpI
VFRQRXF1aXZNZXRhKTsgfQogCiAgICAgZW51bSBjbGFzcyBSZXBvcnRpbmdTdGF0dXMgewogICAg
ICAgICBTZW5kUmVwb3J0LApAQCAtMTIzLDYgKzEyOCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJl
cG9ydEludmFsaWRTYW5kYm94RmxhZ3MoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdm9pZCBy
ZXBvcnRJbnZhbGlkUmVmbGVjdGVkWFNTKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZvaWQg
cmVwb3J0SW52YWxpZERpcmVjdGl2ZUluUmVwb3J0T25seU1vZGUoY29uc3QgU3RyaW5nJikgY29u
c3Q7CisgICAgdm9pZCByZXBvcnRJbnZhbGlkRGlyZWN0aXZlSW5IVFRQRXF1aXZNZXRhKGNvbnN0
IFN0cmluZyYpIGNvbnN0OwogICAgIHZvaWQgcmVwb3J0TWlzc2luZ1JlcG9ydFVSSShjb25zdCBT
dHJpbmcmKSBjb25zdDsKICAgICB2b2lkIHJlcG9ydFVuc3VwcG9ydGVkRGlyZWN0aXZlKGNvbnN0
IFN0cmluZyYpIGNvbnN0OwogICAgIHZvaWQgcmVwb3J0VmlvbGF0aW9uKGNvbnN0IFN0cmluZyYg
ZGlyZWN0aXZlVGV4dCwgY29uc3QgU3RyaW5nJiBlZmZlY3RpdmVEaXJlY3RpdmUsIGNvbnN0IFN0
cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFVSTCYgYmxvY2tlZFVSTCwgY29uc3QgVmVjdG9y
PFN0cmluZz4mIHJlcG9ydFVSSXMsIGNvbnN0IFN0cmluZyYgaGVhZGVyLCBjb25zdCBTdHJpbmcm
IGNvbnRleHRVUkwgPSBTdHJpbmcoKSwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0
TGluZSA9IFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3QoKSwgSlNDOjpFeGVjU3RhdGUq
ID0gbnVsbHB0cikgY29uc3Q7CkBAIC0xMzYsNiArMTQyLDggQEAgcHJpdmF0ZToKICAgICB2b2lk
IGxvZ1RvQ29uc29sZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4
dFVSTCA9IFN0cmluZygpLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lID0g
V1RGOjpPcmRpbmFsTnVtYmVyOjpiZWZvcmVGaXJzdCgpLCBKU0M6OkV4ZWNTdGF0ZSogPSBudWxs
cHRyKSBjb25zdDsKICAgICB2b2lkIGFwcGx5UG9saWN5VG9TY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7CiAKKyAgICB2b2lkIGRpZFJlY2VpdmVIZWFkZXIoY29uc3QgU3RyaW5nJiwgQ29udGVudFNl
Y3VyaXR5UG9saWN5SGVhZGVyVHlwZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpQb2xpY3lGcm9t
KTsKKwogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCB7IG51bGxwdHIgfTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q29udGVudFNlY3VyaXR5UG9saWN5
U291cmNlPiBtX3NlbGZTb3VyY2U7CiAgICAgU3RyaW5nIG1fc2VsZlNvdXJjZVByb3RvY29sOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5
RGlyZWN0aXZlTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJp
dHlQb2xpY3lEaXJlY3RpdmVMaXN0LmNwcAppbmRleCA2ODFmZDg1ZjMzYzYzNTNlNTdlMDVjM2I5
NjNkZTIyNjQ0Y2NkMTk2Li5iMTkxOWI1NGI3M2M0NmVlOTI5ZGNkNTg2NGY0NjJlZGE3YTBlMTdm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xp
Y3lEaXJlY3RpdmVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50
U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmNwcApAQCAtMTE1LDEwICsxMTUsMTAgQEAgQ29u
dGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6Q29udGVudFNlY3VyaXR5UG9saWN5RGly
ZWN0aXZlTGlzdChDb250ZW50U2UKICAgICBtX3JlcG9ydE9ubHkgPSAodHlwZSA9PSBDb250ZW50
U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBlOjpSZXBvcnQgfHwgdHlwZSA9PSBDb250ZW50U2VjdXJp
dHlQb2xpY3lIZWFkZXJUeXBlOjpQcmVmaXhlZFJlcG9ydCk7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0
cjxDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0PiBDb250ZW50U2VjdXJpdHlQb2xp
Y3lEaXJlY3RpdmVMaXN0OjpjcmVhdGUoQ29udGVudFNlY3VyaXR5UG9saWN5JiBwb2xpY3ksIGNv
bnN0IFN0cmluZyYgaGVhZGVyLCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBlIHR5cGUp
CitzdGQ6OnVuaXF1ZV9wdHI8Q29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdD4gQ29u
dGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6Y3JlYXRlKENvbnRlbnRTZWN1cml0eVBv
bGljeSYgcG9saWN5LCBjb25zdCBTdHJpbmcmIGhlYWRlciwgQ29udGVudFNlY3VyaXR5UG9saWN5
SGVhZGVyVHlwZSB0eXBlLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlBvbGljeUZyb20gZnJvbSkK
IHsKICAgICBhdXRvIGRpcmVjdGl2ZXMgPSBzdGQ6Om1ha2VfdW5pcXVlPENvbnRlbnRTZWN1cml0
eVBvbGljeURpcmVjdGl2ZUxpc3Q+KHBvbGljeSwgdHlwZSk7Ci0gICAgZGlyZWN0aXZlcy0+cGFy
c2UoaGVhZGVyKTsKKyAgICBkaXJlY3RpdmVzLT5wYXJzZShoZWFkZXIsIGZyb20pOwogCiAgICAg
aWYgKCFkaXJlY3RpdmVzLT5jaGVja0V2YWwoZGlyZWN0aXZlcy0+b3BlcmF0aXZlRGlyZWN0aXZl
KGRpcmVjdGl2ZXMtPm1fc2NyaXB0U3JjLmdldCgpKSkpIHsKICAgICAgICAgU3RyaW5nIG1lc3Nh
Z2UgPSBtYWtlU3RyaW5nKCJSZWZ1c2VkIHRvIGV2YWx1YXRlIGEgc3RyaW5nIGFzIEphdmFTY3Jp
cHQgYmVjYXVzZSAndW5zYWZlLWV2YWwnIGlzIG5vdCBhbiBhbGxvd2VkIHNvdXJjZSBvZiBzY3Jp
cHQgaW4gdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6IFwi
IiwgZGlyZWN0aXZlcy0+b3BlcmF0aXZlRGlyZWN0aXZlKGRpcmVjdGl2ZXMtPm1fc2NyaXB0U3Jj
LmdldCgpKS0+dGV4dCgpLCAiXCIuXG4iKTsKQEAgLTM4OSw3ICszODksNyBAQCBib29sIENvbnRl
bnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OmFsbG93QmFzZVVSSShjb25zdCBVUkwmIHVy
bCwgQ29udGVudFNlYwogLy8gcG9saWN5ICAgICAgICAgICAgPSBkaXJlY3RpdmUtbGlzdAogLy8g
ZGlyZWN0aXZlLWxpc3QgICAgPSBbIGRpcmVjdGl2ZSAqKCAiOyIgWyBkaXJlY3RpdmUgXSApIF0K
IC8vCi12b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OnBhcnNlKGNvbnN0
IFN0cmluZyYgcG9saWN5KQordm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0
OjpwYXJzZShjb25zdCBTdHJpbmcmIHBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpQb2xp
Y3lGcm9tIHBvbGljeUZyb20pCiB7CiAgICAgbV9oZWFkZXIgPSBwb2xpY3k7CiAgICAgaWYgKHBv
bGljeS5pc0VtcHR5KCkpCkBAIC00MDYsOSArNDA2LDE3IEBAIHZvaWQgQ29udGVudFNlY3VyaXR5
UG9saWN5RGlyZWN0aXZlTGlzdDo6cGFyc2UoY29uc3QgU3RyaW5nJiBwb2xpY3kpCiAgICAgICAg
IFN0cmluZyBuYW1lLCB2YWx1ZTsKICAgICAgICAgaWYgKHBhcnNlRGlyZWN0aXZlKGRpcmVjdGl2
ZUJlZ2luLCBwb3NpdGlvbiwgbmFtZSwgdmFsdWUpKSB7CiAgICAgICAgICAgICBBU1NFUlQoIW5h
bWUuaXNFbXB0eSgpKTsKKyAgICAgICAgICAgIGlmIChwb2xpY3lGcm9tID09IENvbnRlbnRTZWN1
cml0eVBvbGljeTo6UG9saWN5RnJvbTo6SFRUUEVxdWl2TWV0YSkgeworICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBXZSBhbHNvIG5lZWQgdG8gaWdub3JlIGRpcmVjdGl2ZXMgcmVwb3J0LXVyaSAo
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDMwNykgYW5kIGZyYW1l
LWFuY2VzdG9ycy4KKyAgICAgICAgICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UobmFtZSwgc2FuZGJveCkpIHsKKyAgICAgICAgICAgICAgICAgICAgbV9wb2xpY3kucmVw
b3J0SW52YWxpZERpcmVjdGl2ZUluSFRUUEVxdWl2TWV0YShuYW1lKTsKKyAgICAgICAgICAgICAg
ICAgICAgZ290byBhZHZhbmNlVG9OZXh0Q2hhcmFjdGVyOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIGFkZERpcmVjdGl2ZShuYW1lLCB2YWx1ZSk7CiAgICAg
ICAgIH0KIAorYWR2YW5jZVRvTmV4dENoYXJhY3RlcjoKICAgICAgICAgQVNTRVJUKHBvc2l0aW9u
ID09IGVuZCB8fCAqcG9zaXRpb24gPT0gJzsnKTsKICAgICAgICAgc2tpcEV4YWN0bHk8VUNoYXI+
KHBvc2l0aW9uLCBlbmQsICc7Jyk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oCmluZGV4
IDMwNzc0YjEwNjI3YTU0ZTljNzExMmRkODgxZTY5MWMwMjUwNTk2MzUuLjJhOThiMmQwOTk0OTQx
ZjViMzA1YTI0ZTUyN2NiZmQzNGFiMjQ0NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmgKQEAg
LTQxLDcgKzQxLDcgQEAgY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdCB7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdCkKIHB1YmxpYzoKLSAgICBzdGF0aWMg
c3RkOjp1bmlxdWVfcHRyPENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q+IGNyZWF0
ZShDb250ZW50U2VjdXJpdHlQb2xpY3kmLCBjb25zdCBTdHJpbmcmLCBDb250ZW50U2VjdXJpdHlQ
b2xpY3lIZWFkZXJUeXBlKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENvbnRlbnRTZWN1
cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q+IGNyZWF0ZShDb250ZW50U2VjdXJpdHlQb2xpY3kmLCBj
b25zdCBTdHJpbmcmLCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBlLCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OlBvbGljeUZyb20pOwogICAgIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVj
dGl2ZUxpc3QoQ29udGVudFNlY3VyaXR5UG9saWN5JiwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVh
ZGVyVHlwZSk7CiAKICAgICBjb25zdCBTdHJpbmcmIGhlYWRlcigpIGNvbnN0IHsgcmV0dXJuIG1f
aGVhZGVyOyB9CkBAIC03Miw3ICs3Miw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgcmVwb3J0VVJJcygpIGNvbnN0IHsgcmV0dXJuIG1fcmVwb3J0VVJJczsgfQogCiBwcml2
YXRlOgotICAgIHZvaWQgcGFyc2UoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBwYXJzZShjb25z
dCBTdHJpbmcmLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlBvbGljeUZyb20pOwogCiAgICAgYm9v
bCBwYXJzZURpcmVjdGl2ZShjb25zdCBVQ2hhciogYmVnaW4sIGNvbnN0IFVDaGFyKiBlbmQsIFN0
cmluZyYgbmFtZSwgU3RyaW5nJiB2YWx1ZSk7CiAgICAgdm9pZCBwYXJzZVJlcG9ydFVSSShjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdiNzNjYWIwMjE2
ZGVjYTI4MTNkZjQxMWZjZGU1OWJhNzJhNDUwMDUuLjU2NDMwNzNkODg5NjMyZWJlYjIwODZkM2Qx
MmFjMTA2YTY2ZWM2NmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSw0NyBAQAogMjAxNi0wMi0xNiAgRGFuaWVs
IEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKKyAgICAgICAgQ1NQOiBzYW5kYm94IGRpcmVj
dGl2ZSBzaG91bGQgYmUgaWdub3JlZCB3aGVuIGNvbnRhaW5lZCBpbiBhIHBvbGljeSBkZWZpbmVk
IHZpYSBhIG1ldGEgZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTU0Mjk5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDY4MDQzMz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdCBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLW1ldGEt
dGFnLWlnbm9yZWQuaHRtbCB0byBlbnN1cmUgdGhhdCB3ZSBpZ25vcmUKKyAgICAgICAgdGhlIHNh
bmRib3ggZGlyZWN0aXZlIHdoZW4gZGVsaXZlcmVkIHZpYSBhIEhUTUwgbWV0YSBlbGVtZW50IGFu
ZCBsb2cgYSBtZXNzYWdlIHRvIHRoZSBXZWIgSW5zcGVjdG9yIGNvbnNvbGUuCisKKyAgICAgICAg
UmVtb3ZlIHRlc3RzIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Nh
bmRib3gte2FsbG93LXNjcmlwdHMtc3ViZnJhbWUsIGVtcHR5LCBlbXB0eS1zdWJmcmFtZX0uaHRt
bAorICAgICAgICB0aGF0IGFyZSBubyBsb25nZXIgbWVhbmluZ2Z1bCBub3cgdGhhdCB3ZSBpZ25v
cmUgdGhlIHNhbmRib3ggZGlyZWN0aXZlIHdoZW4gZGVsaXZlcmVkIHZpYSBhIEhUTUwgbWV0YSBl
bGVtZW50IGFuZAorICAgICAgICBjcmVhdGUgYW5hbG9nb3VzIHRlc3RzIGZvciB3aGVuIHRoZSBz
YW5kYm94IGRpcmVjdGl2ZSBpcyBkZWxpdmVyZWQgdmlhIGEgSFRUUCBoZWFkZXIuCisKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFs
bG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIyLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRi
b3gtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAt
aGVhZGVyMi5waHA6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMuaHRtbC4KKworICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gt
YWxsb3ctc2NyaXB0cy1zdWJmcmFtZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1z
Y3JpcHRzLXN1YmZyYW1lLmh0bWw6IFJlbW92ZWQuCisgICAgICAgIFRoaXMgdGVzdCBpcyBubyBs
b25nZXIgbWVhbmluZ2Z1bCBub3cgdGhhdCB3ZSBpZ25vcmUgdGhlIHNhbmRib3ggZGlyZWN0aXZl
IHdoZW4gZGVsaXZlcmVkIHZpYSBhIEhUTUwgbWV0YSBlbGVtZW50LgorICAgICAgICBBbiBhbmFs
b2dvdXMgdGVzdCBmb3Igd2hlbiB0aGUgZGlyZWN0aXZlIGlzIGRlbGl2ZXJlZCB2aWEgYSBIVFRQ
IGhlYWRlciBpcyBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8vc2Fu
ZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyLmh0bWwuCisKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LWluLWh0
dHAtaGVhZGVyLWluaGVyaXRlZC1ieS1zdWJmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gt
ZW1wdHktaW4taHR0cC1oZWFkZXItaW5oZXJpdGVkLWJ5LXN1YmZyYW1lLnBocDogQWRkZWQuIERl
cml2ZWQgZnJvbSB0ZXN0IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3NhbmRib3gtZW1wdHktc3ViZnJhbWUuaHRtbC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHktaW4taHR0cC1oZWFkZXIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LWluLWh0dHAtaGVhZGVyLnBocDogQWRkZWQu
IERlcml2ZWQgZnJvbSB0ZXN0IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3NhbmRib3gtZW1wdHkuaHRtbC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHktc3ViZnJhbWUtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3NhbmRib3gtZW1wdHktc3ViZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgVGhp
cyB0ZXN0IGlzIG5vIGxvbmdlciBtZWFuaW5nZnVsIG5vdyB0aGF0IHdlIGlnbm9yZSB0aGUgc2Fu
ZGJveCBkaXJlY3RpdmUgd2hlbiBkZWxpdmVyZWQgdmlhIGEgSFRNTCBtZXRhIGVsZW1lbnQuCisg
ICAgICAgIFRoZSBhbmFsb2dvdXMgdGVzdCBmb3Igd2hlbiB0aGUgZGlyZWN0aXZlIGlzIGRlbGl2
ZXJlZCB2aWEgYSBIVFRQIGhlYWRlciBpcyBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LWluLWh0dHAtaGVhZGVyLWluaGVyaXRlZC1ieS1zdWJm
cmFtZS5waHAuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9zYW5kYm94LWVtcHR5LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5Lmh0
bWw6IFJlbW92ZWQuCisgICAgICAgIFRoaXMgdGVzdCBpcyBubyBsb25nZXIgbWVhbmluZ2Z1bCBu
b3cgdGhhdCB3ZSBpZ25vcmUgdGhlIHNhbmRib3ggZGlyZWN0aXZlIHdoZW4gZGVsaXZlcmVkIHZp
YSBhIEhUTUwgbWV0YSBlbGVtZW50LgorICAgICAgICBUaGUgYW5hbG9nb3VzIHRlc3QgZm9yIHdo
ZW4gdGhlIGRpcmVjdGl2ZSBpcyBkZWxpdmVyZWQgdmlhIGEgSFRUUCBoZWFkZXIgaXMgaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1lbXB0eS1pbi1odHRw
LWhlYWRlci5waHAuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9zYW5kYm94LWluLW1ldGEtdGFnLWlnbm9yZWQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9z
YW5kYm94LWluLW1ldGEtdGFnLWlnbm9yZWQuaHRtbDogQWRkZWQuCisKKzIwMTYtMDItMTYgIERh
bmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCiAgICAgICAgIENTUDogVXBkYXRlIHZp
b2xhdGlvbiByZXBvcnQgJ0NvbnRlbnQtVHlwZScgaGVhZGVyCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTMxNjYKICAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzI0MzgzMzI3PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDQ5ZWY0YzVmYzdkMTAwOWMwMDE2ZTY4M2Q1MTE2ZDg1YjQ0Yzk4NjQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3Jp
cHRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotQUxFUlQ6IFBB
U1MKLVRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBhbGVydCBwYXNzLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2Fu
ZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFs
bG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWVm
NGM1ZmM3ZDEwMDljMDAxNmU2ODNkNTExNmQ4NWI0NGM5ODY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2Fu
ZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyMi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyIEBACitBTEVSVDogUEFTUworVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2VzIGFsZXJ0IHBh
c3MuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIyLnBocCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Nh
bmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRlcjIucGhwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4ZDMw
ZWMxZmVlY2VhOWIyYzM5NWYzYzhiZmJiZmJhMWEyZGJlZWIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5k
Ym94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIyLnBocApAQCAtMCwwICsxLDE2IEBACis8
P3BocAorICAgIGhlYWRlcigiQ29udGVudC1TZWN1cml0eS1Qb2xpY3k6IHNhbmRib3ggYWxsb3ct
c2NyaXB0cyIpOworPz4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+
CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8
L3NjcmlwdD4KK1RoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBhbGVydCBwYXNzLgorPHNjcmlw
dD4KK2FsZXJ0KCdQQVNTJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1zdWJmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93
LXNjcmlwdHMtc3ViZnJhbWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA4NzUxMmI4ODAwZWVlN2FiOGVjYzVjNjFkYmE5MDgwNGRjMDg0YTdjLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1z
dWJmcmFtZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLUFMRVJU
OiBQQVNTCi1UaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgYWxlcnQgcGFzcy4gCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9zYW5kYm94LWFsbG93LXNjcmlwdHMtc3ViZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0
cy1zdWJmcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YmJhYzZkOWFj
NWRlNzAwMzE2NmUwZjE1NTZjNGJlN2Y0ZWZhY2JhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1zdWJmcmFtZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotPC9zY3JpcHQ+Ci08bWV0YSBodHRw
LWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0ic2FuZGJveCBhbGxvdy1z
Y3JpcHRzIj4KLVRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBhbGVydCBwYXNzLgotPGlmcmFt
ZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxzY3JpcHQ+YWxlcnQoJ1BBU1MnKTs8L3NjcmlwdD4iPjwv
aWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93
LXNjcmlwdHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE0OGQyZmMyM2Q5
NzIwZDRlZjkxOTM0MjNiM2RiNGEwNDAyNDI1ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDkgKzAsMCBAQAotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLTwvc2NyaXB0PgotPG1ldGEgaHR0cC1lcXVpdj0iQ29u
dGVudC1TZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9InNhbmRib3ggYWxsb3ctc2NyaXB0cyI+Ci1U
aGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgYWxlcnQgcGFzcy4KLTxzY3JpcHQ+Ci1hbGVydCgn
UEFTUycpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Nh
bmRib3gtZW1wdHktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
NDg5YzJlYTZmODgyZTAyZjk2OWUzNTYyNjAxZTA2OTkyNWY0YTZiLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHktZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IEJsb2NrZWQgc2Ny
aXB0IGV4ZWN1dGlvbiBpbiAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5Lmh0bWwnIGJlY2F1c2UgdGhlIGRvY3VtZW50J3Mg
ZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMg
bm90IHNldC4KLVRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBhbGVydCBmYWlsLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvc2FuZGJveC1lbXB0eS1pbi1odHRwLWhlYWRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVt
cHR5LWluLWh0dHAtaGVhZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYWI1NzBkMzQ0Zjcz
MDcyNDhkMjIwY2U2YmNiZjY2MWVmZDJjMWYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1lbXB0
eS1pbi1odHRwLWhlYWRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitDT05TT0xFIE1F
U1NBR0U6IEJsb2NrZWQgc2NyaXB0IGV4ZWN1dGlvbiBpbiAnaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LWluLWh0dHAtaGVh
ZGVyLnBocCcgYmVjYXVzZSB0aGUgZG9jdW1lbnQncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRo
ZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LgorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg4CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg4CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
c2FuZGJveC1lbXB0eS1pbi1odHRwLWhlYWRlci1pbmhlcml0ZWQtYnktc3ViZnJhbWUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvc2FuZGJveC1lbXB0eS1pbi1odHRwLWhlYWRlci1pbmhlcml0ZWQtYnktc3ViZnJhbWUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiMzRkY2NiZTdlNWZlMmMyMWE5ZDk5ZjQwMWMzYWM0
YjE4OTdiYmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LWluLWh0dHAtaGVhZGVyLWlu
aGVyaXRlZC1ieS1zdWJmcmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorQ09OU09M
RSBNRVNTQUdFOiBCbG9ja2VkIHNjcmlwdCBleGVjdXRpb24gaW4gJ2RhdGE6dGV4dC9odG1sLDxz
Y3JpcHQ+YWxlcnQoJ0ZBSUwnKTs8L3NjcmlwdD4nIGJlY2F1c2UgdGhlIGRvY3VtZW50J3MgZnJh
bWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90
IHNldC4KK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTI0CisgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxMjQKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHgxMDgKKyAgICAgIFJlbmRlcklGcmFtZSB7SUZSQU1FfSBhdCAoMCwwKSBz
aXplIDEwNHgxMDQgW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KKyAgICAgICAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAgICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDEwMHgxMDAKKyAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAgICAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMTAweDEwMAorICAgICAgICAgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA4NHg4NAorICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LWluLWh0dHAtaGVh
ZGVyLWluaGVyaXRlZC1ieS1zdWJmcmFtZS5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LWluLWh0dHAtaGVhZGVy
LWluaGVyaXRlZC1ieS1zdWJmcmFtZS5waHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZkOTgyMDI2Zjc0YmQxOGMw
YWI0Yzk0OWQ0NzFiOWQzNDVmMTc0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHktaW4t
aHR0cC1oZWFkZXItaW5oZXJpdGVkLWJ5LXN1YmZyYW1lLnBocApAQCAtMCwwICsxLDEwIEBACis8
P3BocAorICAgIGhlYWRlcigiQ29udGVudC1TZWN1cml0eS1Qb2xpY3k6IHNhbmRib3giKTsKKz8+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8IS0tIFRoaXMgdGVzdCBwYXNzZXMg
aWYgaXQgZG9lc24ndCBhbGVydCBGQUlMLiAtLT4KKzxpZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRt
bCw8c2NyaXB0PmFsZXJ0KCdGQUlMJyk7PC9zY3JpcHQ+IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEw
MCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LWlu
LWh0dHAtaGVhZGVyLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHktaW4taHR0cC1oZWFkZXIucGhwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI2MzhjMTIwY2NiYzQyYzRkNmQ5ZWMzZGNiMzhiN2NmYmY3ODg2NzcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9zYW5kYm94LWVtcHR5LWluLWh0dHAtaGVhZGVyLnBocApAQCAtMCwwICsxLDEwIEBACis8
P3BocAorICAgIGhlYWRlcigiQ29udGVudC1TZWN1cml0eS1Qb2xpY3k6IHNhbmRib3giKTsKKz8+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8IS0tIFRoaXMgdGVzdCBwYXNzZXMg
aWYgaXQgZG9lc24ndCBhbGVydCBGQUlMLiAtLT4KKzxzY3JpcHQ+YWxlcnQoJ0ZBSUwnKTwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1lbXB0eS1zdWJmcmFtZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LXN1YmZyYW1lLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYTYzODc1MmUyN2IyMjdlZDZiNTA0ODA1NDM0NzQ2MWJkNTVl
YTY4ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94
LWVtcHR5LXN1YmZyYW1lLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBA
QAotQ09OU09MRSBNRVNTQUdFOiBCbG9ja2VkIHNjcmlwdCBleGVjdXRpb24gaW4gJ2RhdGE6dGV4
dC9odG1sLDxzY3JpcHQ+YWxlcnQoJ0ZBSUwnKTs8L3NjcmlwdD4nIGJlY2F1c2UgdGhlIGRvY3Vt
ZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Np
b24gaXMgbm90IHNldC4KLVRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBhbGVydCBmYWls
LiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHktc3ViZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHktc3Vi
ZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTFjM2UwM2U0OTQ2NWVi
ZDAxNDJhODQ2NzhkZTBkZmM4N2NiZmFlYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9zYW5kYm94LWVtcHR5LXN1YmZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw3ICswLDAgQEAKLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci08L3NjcmlwdD4KLTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRl
bnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJzYW5kYm94Ij4KLVRoaXMgdGVzdCBwYXNzZXMg
aWYgaXQgZG9lc24ndCBhbGVydCBmYWlsLgotPGlmcmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLDxz
Y3JpcHQ+YWxlcnQoJ0ZBSUwnKTs8L3NjcmlwdD4iPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJv
eC1lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvc2FuZGJveC1lbXB0eS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA4M2E0YWIzZjUyYTRkNzlmMjliYzViYTVlNWRmMDVmNmJhNGI1MmNiLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtZW1wdHkuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLTwvc2NyaXB0PgotPG1ldGEgaHR0cC1l
cXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9InNhbmRib3giPgotVGhpcyB0
ZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGFsZXJ0IGZhaWwuCi08c2NyaXB0PgotYWxlcnQoJ0ZB
SUwnKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbi1tZXRhLXRhZy1pZ25vcmVkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3NhbmRib3gtaW4tbWV0YS10YWctaWdub3JlZC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTk5Y2NlMzg4NTU3NjU4ZGJkMDgwMzk2Y2JjMGI4YThjYTRkYmZmMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3NhbmRib3gtaW4tbWV0YS10YWctaWdub3JlZC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzIEBACitDT05TT0xFIE1FU1NBR0U6IFRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJl
Y3RpdmUgJ3NhbmRib3gnIGlzIGlnbm9yZWQgd2hlbiBkZWxpdmVyZWQgdmlhIGEgSFRNTCBtZXRh
IGVsZW1lbnQuCitBTEVSVDogUEFTUyBleGVjdXRlZCBzY3JpcHQuCitUaGlzIHRlc3RzIHRoYXQg
dGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IHNhbmRib3ggZGlyZWN0aXZlIGlzIGlnbm9yZWQg
d2hlbiBjb250YWluZWQgaW4gYSBwb2xpY3kgZGVmaW5lZCB2aWEgYSBIVE1MIG1ldGEgZWxlbWVu
dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3NhbmRib3gtaW4tbWV0YS10YWctaWdub3JlZC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbi1t
ZXRhLXRhZy1pZ25vcmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGRlOTIxZDE4M2U0OTllYTZhNGZiMWVk
MDk3NjAwZGQ3NzVlYzVlZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW4tbWV0YS10YWctaWdu
b3JlZC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHkt
UG9saWN5IiBjb250ZW50PSJzYW5kYm94Ij4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
cyB0aGF0IHRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSA8Y29kZT5zYW5kYm94PC9jb2RlPiBk
aXJlY3RpdmUgaXMgaWdub3JlZCB3aGVuIGNvbnRhaW5lZCBpbiBhIHBvbGljeSBkZWZpbmVkIHZp
YSBhIEhUTUwgbWV0YSBlbGVtZW50LjwvcD4KKzxzY3JpcHQ+YWxlcnQoIlBBU1MgZXhlY3V0ZWQg
c2NyaXB0LiIpPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="296331"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>