<?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>190058</bug_id>
          
          <creation_ts>2018-09-27 15:36:55 -0700</creation_ts>
          <short_desc>[Payment Request] Implement MerchantValidationEvent.methodName</short_desc>
          <delta_ts>2018-11-02 14:45:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1464193</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-27 15:36:55 -0700</bug_when>
    <thetext>[Payment Request] Implement MerchantValidationEvent.methodName</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464197</commentid>
    <comment_count>1</comment_count>
      <attachid>351014</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-27 15:42:15 -0700</bug_when>
    <thetext>Created attachment 351014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464199</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-09-27 15:45:19 -0700</bug_when>
    <thetext>Attachment 351014 did not pass style-queue:


ERROR: Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.cpp:56:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464642</commentid>
    <comment_count>3</comment_count>
      <attachid>351014</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-09-28 17:35:09 -0700</bug_when>
    <thetext>Comment on attachment 351014
Patch

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

&gt; Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:486
&gt; +        m_paymentRequest-&gt;dispatchEvent(MerchantValidationEvent::create(eventNames().merchantvalidationEvent, WTF::get&lt;URL&gt;(m_identifier).string(), WTFMove(validationURL)).get());

I must admit I don’t understand why it’s guaranteed that m_identifier is a URL, and not some other type. But I do see this idiom elsewhere in the class so it must be OK.

&gt; Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.cpp:49
&gt; +    if (!methodName.isEmpty() &amp;&amp; !convertAndValidatePaymentMethodIdentifier(methodName))
&gt; +        return Exception { RangeError, makeString(&apos;&quot;&apos;, methodName, &quot;\&quot; is an invalid payment method identifier.&quot;) };

If convertAndValidatePaymentMethodIdentifier is used elsewhere, I wonder if this exception is also needed elsewhere. Could share the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464750</commentid>
    <comment_count>4</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-29 08:19:02 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 351014 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=351014&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:486
&gt; &gt; +        m_paymentRequest-&gt;dispatchEvent(MerchantValidationEvent::create(eventNames().merchantvalidationEvent, WTF::get&lt;URL&gt;(m_identifier).string(), WTFMove(validationURL)).get());
&gt; 
&gt; I must admit I don’t understand why it’s guaranteed that m_identifier is a
&gt; URL, and not some other type. But I do see this idiom elsewhere in the class
&gt; so it must be OK.

Apple Pay&apos;s payment method identifier is always a URL (enforced by ApplePayPaymentHandler::handlesIdentifier).

Given that, m_identifier could just be a URL.

Alternatively, PaymentRequest::MethodIdentifier could just be a String. We only need to verify that URL-based identifiers have the correct properties (https, no username or password), but after that we can just store a string representation of the URL.

I&apos;ll think about how to make this better.

&gt; 
&gt; &gt; Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.cpp:49
&gt; &gt; +    if (!methodName.isEmpty() &amp;&amp; !convertAndValidatePaymentMethodIdentifier(methodName))
&gt; &gt; +        return Exception { RangeError, makeString(&apos;&quot;&apos;, methodName, &quot;\&quot; is an invalid payment method identifier.&quot;) };
&gt; 
&gt; If convertAndValidatePaymentMethodIdentifier is used elsewhere, I wonder if
&gt; this exception is also needed elsewhere. Could share the code.

Good call, I&apos;ll change this to return an ExceptionOr&lt;PaymentRequest::MethodIdentifier&gt;.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464755</commentid>
    <comment_count>5</comment_count>
      <attachid>351182</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-29 08:38:30 -0700</bug_when>
    <thetext>Created attachment 351182
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464756</commentid>
    <comment_count>6</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-09-29 08:39:52 -0700</bug_when>
    <thetext>Attachment 351182 did not pass style-queue:


ERROR: Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.cpp:59:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464775</commentid>
    <comment_count>7</comment_count>
      <attachid>351188</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-29 11:09:24 -0700</bug_when>
    <thetext>Created attachment 351188
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464776</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-09-29 11:12:50 -0700</bug_when>
    <thetext>Attachment 351188 did not pass style-queue:


ERROR: Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.cpp:59:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464889</commentid>
    <comment_count>9</comment_count>
      <attachid>351188</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-09-30 19:35:13 -0700</bug_when>
    <thetext>Comment on attachment 351188
Patch

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

&gt; Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.cpp:51
&gt; +        auto validatedMethodName = convertAndValidatePaymentMethodIdentifier(methodName);
&gt; +        if (validatedMethodName.hasException())
&gt; +            return validatedMethodName.releaseException();

I think there is a missing line of code here:

    methodName = validatedMethodName.releaseReturnValue();

&gt; Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.h:45
&gt; +    static Ref&lt;MerchantValidationEvent&gt; create(const AtomicString&amp; type, String methodName, URL&amp;&amp; validationURL);

Surprised that this uses String, and neither String&amp;&amp; or const String&amp;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1465073</commentid>
    <comment_count>10</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-10-01 10:25:14 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; Comment on attachment 351188 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=351188&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.cpp:51
&gt; &gt; +        auto validatedMethodName = convertAndValidatePaymentMethodIdentifier(methodName);
&gt; &gt; +        if (validatedMethodName.hasException())
&gt; &gt; +            return validatedMethodName.releaseException();
&gt; 
&gt; I think there is a missing line of code here:
&gt; 
&gt;     methodName = validatedMethodName.releaseReturnValue();

It&apos;s ok to use methodName as-is so long as the validation didn&apos;t raise an exception. I&apos;m only interested in the exception, not the converted identifier.

&gt; 
&gt; &gt; Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.h:45
&gt; &gt; +    static Ref&lt;MerchantValidationEvent&gt; create(const AtomicString&amp; type, String methodName, URL&amp;&amp; validationURL);
&gt; 
&gt; Surprised that this uses String, and neither String&amp;&amp; or const String&amp;.

Yeah, I guess one copy is slightly better than one copy and one move.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1465082</commentid>
    <comment_count>11</comment_count>
      <attachid>351260</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-10-01 10:32:10 -0700</bug_when>
    <thetext>Created attachment 351260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1465084</commentid>
    <comment_count>12</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-10-01 10:33:11 -0700</bug_when>
    <thetext>(In reply to Andy Estes from comment #10)
&gt; (In reply to Darin Adler from comment #9)
&gt; &gt; Comment on attachment 351188 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=351188&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.h:45
&gt; &gt; &gt; +    static Ref&lt;MerchantValidationEvent&gt; create(const AtomicString&amp; type, String methodName, URL&amp;&amp; validationURL);
&gt; &gt; 
&gt; &gt; Surprised that this uses String, and neither String&amp;&amp; or const String&amp;.
&gt; 
&gt; Yeah, I guess one copy is slightly better than one copy and one move.

Forgot to say: Changed to use const String&amp;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1465086</commentid>
    <comment_count>13</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-01 10:35:36 -0700</bug_when>
    <thetext>Attachment 351260 did not pass style-queue:


ERROR: Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.cpp:59:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1465133</commentid>
    <comment_count>14</comment_count>
      <attachid>351279</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-10-01 11:27:32 -0700</bug_when>
    <thetext>Created attachment 351279
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1465135</commentid>
    <comment_count>15</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-01 11:28:47 -0700</bug_when>
    <thetext>Attachment 351279 did not pass style-queue:


ERROR: Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.cpp:59:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472813</commentid>
    <comment_count>16</comment_count>
      <attachid>353256</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-10-28 06:12:41 -0700</bug_when>
    <thetext>Created attachment 353256
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472814</commentid>
    <comment_count>17</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-28 06:13:47 -0700</bug_when>
    <thetext>Attachment 353256 did not pass style-queue:


ERROR: Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.cpp:59:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472819</commentid>
    <comment_count>18</comment_count>
      <attachid>353256</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-28 07:34:20 -0700</bug_when>
    <thetext>Comment on attachment 353256
Patch

Clearing flags on attachment: 353256

Committed r237521: &lt;https://trac.webkit.org/changeset/237521&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472820</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-28 07:34:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472821</commentid>
    <comment_count>20</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-28 07:35:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/45620511&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474638</commentid>
    <comment_count>21</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-11-02 14:45:57 -0700</bug_when>
    <thetext>*** Bug 189548 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351014</attachid>
            <date>2018-09-27 15:42:15 -0700</date>
            <delta_ts>2018-09-29 08:38:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190058-20180927154215.patch</filename>
            <type>text/plain</type>
            <size>10409</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI2ZGI2NWNmM2NmNGY3
NmY5Y2Y2NTdmNzcyNzFiZjE2YzhmYjhlYS4uZTU0ODY2ZmVkZjljYWM0M2QyNDZjMTc0Y2VmZWI1
OTE2ZjUyMzEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTA5LTI3ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJ
bXBsZW1lbnQgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQubWV0aG9kTmFtZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMDU4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgTWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQncyBtZXRob2ROYW1lIGF0dHJpYnV0ZSBhbmQgTWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnRJbml0J3MKKyAgICAgICAgbWV0aG9kTmFtZSBwcm9wZXJ0eSBhcyBzcGVjaWZpZWQg
aW4gdGhlIFBheW1lbnQgUmVxdWVzdCBBUEkgVzNDIEVkaXRvcidzIERyYWZ0IG9mCisgICAgICAg
IDI3IFNlcHRlbWJlciAyMDE4LgorCisgICAgICAgIENvdmVyZWQgYnkgd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC9jb25zdHJ1Y3Rvci5o
dHRwcy5odG1sLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5
bWVudEhhbmRsZXI6OnZhbGlkYXRlTWVyY2hhbnQpOiBQYXNzZWQgdGhlIHBheW1lbnQgbWV0aG9k
IGlkZW50aWZpZXIKKyAgICAgICAgKGFzIGEgc3RyaW5nKSB0byBNZXJjaGFudFZhbGlkYXRpb25F
dmVudDo6Y3JlYXRlKCkKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50
VmFsaWRhdGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lcmNoYW50VmFsaWRhdGlv
bkV2ZW50OjpjcmVhdGUpOiBWYWxpZGF0ZWQgdGhlIG1ldGhvZE5hbWUgYmVmb3JlIGNvbnN0cnVj
dGluZyB0aGUKKyAgICAgICAgZXZlbnQsIHRocm93aW5nIGEgUmFuZ2VFcnJvciBvbiBmYWlsdXJl
LgorICAgICAgICAoV2ViQ29yZTo6TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6Ok1lcmNoYW50VmFs
aWRhdGlvbkV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50
VmFsaWRhdGlvbkV2ZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJj
aGFudFZhbGlkYXRpb25FdmVudC5pZGw6CisKIDIwMTgtMDktMjcgIEplciBOb2JsZSAgPGplci5u
b2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWFQbGF5ZXIgc2hvdWxkIGhhdmUgbWVkaWFQ
bGF5ZXJXYWl0aW5nRm9yS2V5Q2hhbmdlZCgpIC8gYm9vbCB3YWl0aW5nRm9yS2V5KCkgYWNjZXNz
b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJl
cXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCmluZGV4
IDhmNTc1MDA4MDk0MjA2OGE2Yzg4NWI3NWNjNGZiMTJmYTY4M2JiNGYuLmRmNDgwNzYwMWU0YWE0
NGZhMjAxMTYzZDBhN2ExYThhMDc0NjY4MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheVBheW1lbnRIYW5kbGVyLmNwcApAQCAtNDgzLDcgKzQ4Myw3IEBAIHVuc2lnbmVkIEFwcGxl
UGF5UGF5bWVudEhhbmRsZXI6OnZlcnNpb24oKSBjb25zdAogdm9pZCBBcHBsZVBheVBheW1lbnRI
YW5kbGVyOjp2YWxpZGF0ZU1lcmNoYW50KFVSTCYmIHZhbGlkYXRpb25VUkwpCiB7CiAgICAgaWYg
KHZhbGlkYXRpb25VUkwuaXNWYWxpZCgpKQotICAgICAgICBtX3BheW1lbnRSZXF1ZXN0LT5kaXNw
YXRjaEV2ZW50KE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLm1l
cmNoYW50dmFsaWRhdGlvbkV2ZW50LCBXVEZNb3ZlKHZhbGlkYXRpb25VUkwpKS5nZXQoKSk7Cisg
ICAgICAgIG1fcGF5bWVudFJlcXVlc3QtPmRpc3BhdGNoRXZlbnQoTWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkubWVyY2hhbnR2YWxpZGF0aW9uRXZlbnQsIFdURjo6
Z2V0PFVSTD4obV9pZGVudGlmaWVyKS5zdHJpbmcoKSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSku
Z2V0KCkpOwogfQogCiBzdGF0aWMgUmVmPFBheW1lbnRBZGRyZXNzPiBjb252ZXJ0KGNvbnN0IEFw
cGxlUGF5UGF5bWVudENvbnRhY3QmIGNvbnRhY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZl
bnQuY3BwCmluZGV4IDQwZjU3MzE0MzY4NTI0OTczMTkzYmI2N2I0NjY4OGE4Mjg1MGIxNDguLmM2
M2Y1ZDllMDg0Mjg5YTExZjU0YTY3OTNmNzY1NTAxNTc0MmI3NTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQuY3BwCkBAIC0zMyw5ICszMyw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotUmVmPE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50PiBNZXJjaGFudFZhbGlkYXRpb25FdmVu
dDo6Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgVVJMJiYgdmFsaWRhdGlvblVSTCkK
K1JlZjxNZXJjaGFudFZhbGlkYXRpb25FdmVudD4gTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OmNy
ZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFN0cmluZyBtZXRob2ROYW1lLCBVUkwmJiB2
YWxpZGF0aW9uVVJMKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50KHR5cGUsIFdURk1vdmUodmFsaWRhdGlvblVSTCkpKTsKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBNZXJjaGFudFZhbGlkYXRpb25FdmVudCh0eXBlLCBXVEZNb3ZlKG1ldGhvZE5h
bWUpLCBXVEZNb3ZlKHZhbGlkYXRpb25VUkwpKSk7CiB9CiAKIEV4Y2VwdGlvbk9yPFJlZjxNZXJj
aGFudFZhbGlkYXRpb25FdmVudD4+IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVhdGUoRG9j
dW1lbnQmIGRvY3VtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIEluaXQmJiBldmVudElu
aXQpCkBAIC00NCwxOSArNDQsMjUgQEAgRXhjZXB0aW9uT3I8UmVmPE1lcmNoYW50VmFsaWRhdGlv
bkV2ZW50Pj4gTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OmNyZWF0ZShEb2N1bWUKICAgICBpZiAo
IXZhbGlkYXRpb25VUkwuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlw
ZUVycm9yIH07CiAKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZXJjaGFudFZhbGlkYXRpb25F
dmVudCh0eXBlLCBXVEZNb3ZlKHZhbGlkYXRpb25VUkwpLCBXVEZNb3ZlKGV2ZW50SW5pdCkpKTsK
KyAgICBhdXRvIG1ldGhvZE5hbWUgPSBXVEZNb3ZlKGV2ZW50SW5pdC5tZXRob2ROYW1lKTsKKyAg
ICBpZiAoIW1ldGhvZE5hbWUuaXNFbXB0eSgpICYmICFjb252ZXJ0QW5kVmFsaWRhdGVQYXltZW50
TWV0aG9kSWRlbnRpZmllcihtZXRob2ROYW1lKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IFJhbmdlRXJyb3IsIG1ha2VTdHJpbmcoJyInLCBtZXRob2ROYW1lLCAiXCIgaXMgYW4gaW52YWxp
ZCBwYXltZW50IG1ldGhvZCBpZGVudGlmaWVyLiIpIH07CisKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBNZXJjaGFudFZhbGlkYXRpb25FdmVudCh0eXBlLCBXVEZNb3ZlKG1ldGhvZE5hbWUpLCBX
VEZNb3ZlKHZhbGlkYXRpb25VUkwpLCBXVEZNb3ZlKGV2ZW50SW5pdCkpKTsKIH0KIAotTWVyY2hh
bnRWYWxpZGF0aW9uRXZlbnQ6Ok1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0
cmluZyYgdHlwZSwgVVJMJiYgdmFsaWRhdGlvblVSTCkKK01lcmNoYW50VmFsaWRhdGlvbkV2ZW50
OjpNZXJjaGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFN0cmlu
ZyYmIG1ldGhvZE5hbWUsIFVSTCYmIHZhbGlkYXRpb25VUkwpCiAgICAgOiBFdmVudCB7IHR5cGUs
IEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObyB9CisgICAgLCBt
X21ldGhvZE5hbWUgeyBXVEZNb3ZlKG1ldGhvZE5hbWUpIH0KICAgICAsIG1fdmFsaWRhdGlvblVS
TCB7IFdURk1vdmUodmFsaWRhdGlvblVSTCkgfQogewogICAgIEFTU0VSVChpc1RydXN0ZWQoKSk7
CiAgICAgQVNTRVJUKG1fdmFsaWRhdGlvblVSTC5pc1ZhbGlkKCkpOwogfQogCi1NZXJjaGFudFZh
bGlkYXRpb25FdmVudDo6TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiB0eXBlLCBVUkwmJiB2YWxpZGF0aW9uVVJMLCBJbml0JiYgZXZlbnRJbml0KQorTWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQ6Ok1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSwgU3RyaW5nJiYgbWV0aG9kTmFtZSwgVVJMJiYgdmFsaWRhdGlvblVSTCwgSW5pdCYm
IGV2ZW50SW5pdCkKICAgICA6IEV2ZW50IHsgdHlwZSwgV1RGTW92ZShldmVudEluaXQpLCBJc1Ry
dXN0ZWQ6Ok5vIH0KKyAgICAsIG1fbWV0aG9kTmFtZSB7IFdURk1vdmUobWV0aG9kTmFtZSkgfQog
ICAgICwgbV92YWxpZGF0aW9uVVJMIHsgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSB9CiB7CiAgICAg
QVNTRVJUKCFpc1RydXN0ZWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmgKaW5kZXgg
YjA5M2QzYTVmZmM5NTY3MTJlYzkxMGQ0Y2ZhMTIyNzFlMjhhOWJhYS4uNmIzNDQ1ZmM0ODRlYWZl
MzA5MmExYzBhODBhZWI1Njc5ZGU2NzQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQu
aApAQCAtMzgsMjMgKzM4LDI2IEBAIGNsYXNzIERvY3VtZW50OwogY2xhc3MgTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQgZmluYWwgOiBwdWJsaWMgRXZlbnQgewogcHVibGljOgogICAgIHN0cnVjdCBJ
bml0IGZpbmFsIDogRXZlbnRJbml0IHsKKyAgICAgICAgU3RyaW5nIG1ldGhvZE5hbWU7CiAgICAg
ICAgIFN0cmluZyB2YWxpZGF0aW9uVVJMOwogICAgIH07CiAKLSAgICBzdGF0aWMgUmVmPE1lcmNo
YW50VmFsaWRhdGlvbkV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiwgVVJMJiYpOwot
ICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+PiBjcmVh
dGUoRG9jdW1lbnQmLCBjb25zdCBBdG9taWNTdHJpbmcmLCBJbml0JiYpOworICAgIHN0YXRpYyBS
ZWY8TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5
cGUsIFN0cmluZyBtZXRob2ROYW1lLCBVUkwmJiB2YWxpZGF0aW9uVVJMKTsKKyAgICBzdGF0aWMg
RXhjZXB0aW9uT3I8UmVmPE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Pj4gY3JlYXRlKERvY3VtZW50
JiwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBJbml0JiYpOwogCisgICAgY29uc3QgU3RyaW5n
JiBtZXRob2ROYW1lKCkgY29uc3QgeyByZXR1cm4gbV9tZXRob2ROYW1lOyB9CiAgICAgY29uc3Qg
U3RyaW5nJiB2YWxpZGF0aW9uVVJMKCkgY29uc3QgeyByZXR1cm4gbV92YWxpZGF0aW9uVVJMLnN0
cmluZygpOyB9CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gY29tcGxldGUoUmVmPERPTVByb21pc2U+
JiYpOwogCiBwcml2YXRlOgotICAgIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYsIFVSTCYmKTsKLSAgICBNZXJjaGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmLCBVUkwmJiwgSW5pdCYmKTsKKyAgICBNZXJjaGFudFZhbGlkYXRpb25FdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFN0cmluZyYmIG1ldGhvZE5hbWUsIFVSTCYmIHZhbGlk
YXRpb25VUkwpOworICAgIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSwgU3RyaW5nJiYgbWV0aG9kTmFtZSwgVVJMJiYgdmFsaWRhdGlvblVSTCwgSW5pdCYm
KTsKIAogICAgIC8vIEV2ZW50CiAgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBj
b25zdCBmaW5hbDsKIAogICAgIGJvb2wgbV9pc0NvbXBsZXRlZCB7IGZhbHNlIH07CisgICAgU3Ry
aW5nIG1fbWV0aG9kTmFtZTsKICAgICBVUkwgbV92YWxpZGF0aW9uVVJMOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlk
YXRpb25FdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01l
cmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbAppbmRleCA3YzJiZGIyYzU4NjE5NmVjMmU5ZTlmNmNl
NjM4MjMzYThkNzQ3ZGEzLi45OWE3NTEyMDRmZmI2ZTA3OTFiZDE5MDRhNjcyOTBlMTgxODk4Yzg4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNo
YW50VmFsaWRhdGlvbkV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1l
bnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbApAQCAtMzIsMTIgKzMyLDE0IEBA
CiAgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgU2VjdXJlQ29udGV4dCwKIF0gaW50ZXJmYWNlIE1l
cmNoYW50VmFsaWRhdGlvbkV2ZW50IDogRXZlbnQgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgdmFsaWRhdGlvblVSTDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG1ldGhvZE5hbWU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyB2YWxpZGF0aW9u
VVJMOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb21wbGV0ZShQcm9taXNlPGFueT4g
bWVyY2hhbnRTZXNzaW9uUHJvbWlzZSk7CiB9OwogCiBbCiAgICAgQ29uZGl0aW9uYWw9UEFZTUVO
VF9SRVFVRVNULAogXSBkaWN0aW9uYXJ5IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50SW5pdCA6IEV2
ZW50SW5pdCB7CisgICAgRE9NU3RyaW5nIG1ldGhvZE5hbWUgPSAiIjsKICAgICBVU1ZTdHJpbmcg
dmFsaWRhdGlvblVSTCA9ICIiOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IGE1MDgwZTZmMjkzNWVkMTkyYWJjMTZiOWM5MDBmMmJhNzA1ZWNkNmYuLjI5Nzc5NmIzMTcyZTJm
M2JjYjcwOTk3YWNmZWIxNzRmMzZmOTUwNTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDE4LTA5LTI3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxl
LmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJbXBsZW1lbnQgTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQubWV0aG9kTmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTkwMDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L01lcmNo
YW50VmFsaWRhdGlvbkV2ZW50L2NvbnN0cnVjdG9yLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAx
OC0wOS0yNyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW1BheW1l
bnQgUmVxdWVzdF0gVXBkYXRlIHdlYiBwbGF0Zm9ybSB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvTWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQvY29uc3RydWN0b3IuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQvY29uc3RydWN0b3IuaHR0cHMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDZhOWQyYTQ1MjIwMzU4MTQxZTZkZTdlMDdkYmNkNTgzMDcyYTBkZTcuLmUzOTA3Mzk3NWFk
Y2QyZmUzYmYzYjQ4YzBjZjBmNzM1ZjZiMDA2NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50L2NvbnN0cnVjdG9yLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9NZXJj
aGFudFZhbGlkYXRpb25FdmVudC9jb25zdHJ1Y3Rvci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTUs
MTAgKzUsOCBAQCBQQVNTIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IGNhbiBiZSBkaXNwYXRjaGVk
LCBldmVuIGlmIG5vdCB0cnVzdGVkLgogUEFTUyBNdXN0IGhhdmUgYSB2YWxpZGF0aW9uVVJMIElE
TCBhdHRyaWJ1dGUsIHdoaWNoIGlzIGluaXRpYWxpemVkIHdpdGggdG8gdGhlIHZhbGlkYXRpb25V
UkwgZGljdGlvbmFyeSB2YWx1ZS4gCiBQQVNTIE11c3QgdGhyb3cgVHlwZUVycm9yIGlmIGluaXRp
YWxpemVkIHdpdGggYW4gaW52YWxpZCBVUkwuIAogUEFTUyBSZWxhdGl2ZSB2YWxpZGF0aW9uVVJM
cyB1c2UgdGhlIGRvY3VtZW50IGFzIHRoZSBiYXNlLiAKLUZBSUwgTXVzdCBoYXZlIGEgbWV0aG9k
TmFtZSBJREwgYXR0cmlidXRlLCB3aGljaCBpcyBpbml0aWFsaXplZCB3aXRoIHRvIHRoZSBtZXRo
b2ROYW1lIGRpY3Rpb25hcnkgdmFsdWUuIGFzc2VydF9pZGxfYXR0cmlidXRlOiBwcm9wZXJ0eSAi
bWV0aG9kTmFtZSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgotRkFJTCBXaGVuIG5vIG1l
dGhvZE5hbWUgaXMgcGFzc2VkLCBtZXRob2ROYW1lIGF0dHJpYnV0ZSBkZWZhdWx0cyB0byB0aGUg
ZW1wdHkgc3RyaW5nIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICIiIGJ1dCBnb3Qg
KHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IGNhbiBi
ZSBjb25zdHJ1Y3RlZCB3aXRoIHZhbGlkIFBNSXMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0
cmluZykgImh0dHBzOi8vZXhhbXBsZS5jb20vcGF5IiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVm
aW5lZAotRkFJTCBNZXJjaGFudFZhbGlkYXRpb25FdmVudCBjYW4ndCBiZSBjb25zdHJ1Y3RlZCB3
aXRoIGludmFsaWQgUE1JcyBhc3NlcnRfdGhyb3dzOiBleHBlY3RlZCB0byB0aHJvdyB3aGVuIGNv
bnN0cnVjdGVkIHdpdGggaW52YWxpZCBQTUk6ICdiYXNpYy3wn5KzJyBmdW5jdGlvbiAiKCkgPT4g
ewotICAgICAgICBjb25zdCBldmVudCA9IG5ldyBNZXJjaGFudFZhbGlkYXRpb25FdmVudCgidGVz
dCIsIHsgbWV0aG9kTmFtZSB9KTsKLSAgICAgIH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgTXVzdCBo
YXZlIGEgbWV0aG9kTmFtZSBJREwgYXR0cmlidXRlLCB3aGljaCBpcyBpbml0aWFsaXplZCB3aXRo
IHRvIHRoZSBtZXRob2ROYW1lIGRpY3Rpb25hcnkgdmFsdWUuIAorUEFTUyBXaGVuIG5vIG1ldGhv
ZE5hbWUgaXMgcGFzc2VkLCBtZXRob2ROYW1lIGF0dHJpYnV0ZSBkZWZhdWx0cyB0byB0aGUgZW1w
dHkgc3RyaW5nIAorUEFTUyBNZXJjaGFudFZhbGlkYXRpb25FdmVudCBjYW4gYmUgY29uc3RydWN0
ZWQgd2l0aCB2YWxpZCBQTUlzIAorUEFTUyBNZXJjaGFudFZhbGlkYXRpb25FdmVudCBjYW4ndCBi
ZSBjb25zdHJ1Y3RlZCB3aXRoIGludmFsaWQgUE1JcyAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351182</attachid>
            <date>2018-09-29 08:38:30 -0700</date>
            <delta_ts>2018-09-29 11:09:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190058-20180929083830.patch</filename>
            <type>text/plain</type>
            <size>14977</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWJjN2M4ODY2MmRlZTVm
YjliMzY1NjMyODIxODhkMDMzZjJmYWJlNy4uZTA1NGJiZmNiNDY3NzE5YTMxODRmMTEwNWU4MjVh
YzliZTg0OGQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTA5LTI3ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJ
bXBsZW1lbnQgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQubWV0aG9kTmFtZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMDU4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQncyBtZXRob2ROYW1lIGF0dHJpYnV0ZSBhbmQgTWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnRJbml0J3MKKyAgICAgICAgbWV0aG9kTmFtZSBwcm9wZXJ0eSBhcyBzcGVjaWZpZWQgaW4g
dGhlIFBheW1lbnQgUmVxdWVzdCBBUEkgVzNDIEVkaXRvcidzIERyYWZ0IG9mCisgICAgICAgIDI3
IFNlcHRlbWJlciAyMDE4LgorCisgICAgICAgIENvdmVyZWQgYnkgd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC9jb25zdHJ1Y3Rvci5odHRw
cy5odG1sLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheVBheW1lbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVu
dEhhbmRsZXI6OnZhbGlkYXRlTWVyY2hhbnQpOiBQYXNzZWQgdGhlIHBheW1lbnQgbWV0aG9kIGlk
ZW50aWZpZXIKKyAgICAgICAgKGFzIGEgc3RyaW5nKSB0byBNZXJjaGFudFZhbGlkYXRpb25FdmVu
dDo6Y3JlYXRlKCkKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50OjpjcmVhdGUpOiBWYWxpZGF0ZWQgdGhlIG1ldGhvZE5hbWUgYmVmb3JlIGNvbnN0cnVjdGlu
ZyB0aGUKKyAgICAgICAgZXZlbnQsIHRocm93aW5nIGEgUmFuZ2VFcnJvciBvbiBmYWlsdXJlLgor
ICAgICAgICAoV2ViQ29yZTo6TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6Ok1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5pZGw6CisKIDIwMTgtMDktMjkgIE9yaW9sIEJydWZhdSAgPG9icnVm
YXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWdyaWRdIFByb3Blcmx5IGFsaWduIGl0ZW1z
IG5leHQgdG8gY29sbGFwc2VkIHRyYWNrcyB3aXRoIGd1dHRlcnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50
SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1
ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCmluZGV4IDhmNTc1MDA4MDk0MjA2OGE2Yzg4
NWI3NWNjNGZiMTJmYTY4M2JiNGYuLjgxNzcyOTE5YWJmNzk2MzcwZjlhMjQzNDA4N2MyZjNiZTEw
MjE4ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVu
dHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNw
cApAQCAtMjcyLDcgKzI3Miw3IEBAIEV4Y2VwdGlvbk9yPEFwcGxlUGF5U2Vzc2lvblBheW1lbnRS
ZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4gQXBwbGVQYXlQYXltZW50SGFuCiAgICAgQVNTRVJU
KG1vZGlmaWVycy5zaXplKCkgPT0gc2VyaWFsaXplZE1vZGlmaWVyRGF0YS5zaXplKCkpOwogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbW9kaWZpZXJzLnNpemUoKTsgKytpKSB7CiAgICAgICAg
IGF1dG8gY29udmVydGVkSWRlbnRpZmllciA9IGNvbnZlcnRBbmRWYWxpZGF0ZVBheW1lbnRNZXRo
b2RJZGVudGlmaWVyKG1vZGlmaWVyc1tpXS5zdXBwb3J0ZWRNZXRob2RzKTsKLSAgICAgICAgaWYg
KCFjb252ZXJ0ZWRJZGVudGlmaWVyIHx8ICFoYW5kbGVzSWRlbnRpZmllcigqY29udmVydGVkSWRl
bnRpZmllcikpCisgICAgICAgIGlmIChjb252ZXJ0ZWRJZGVudGlmaWVyLmhhc0V4Y2VwdGlvbigp
IHx8ICFoYW5kbGVzSWRlbnRpZmllcihjb252ZXJ0ZWRJZGVudGlmaWVyLnJlbGVhc2VSZXR1cm5W
YWx1ZSgpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGlmIChzZXJpYWxpemVk
TW9kaWZpZXJEYXRhW2ldLmlzRW1wdHkoKSkKQEAgLTQ4Myw3ICs0ODMsNyBAQCB1bnNpZ25lZCBB
cHBsZVBheVBheW1lbnRIYW5kbGVyOjp2ZXJzaW9uKCkgY29uc3QKIHZvaWQgQXBwbGVQYXlQYXlt
ZW50SGFuZGxlcjo6dmFsaWRhdGVNZXJjaGFudChVUkwmJiB2YWxpZGF0aW9uVVJMKQogewogICAg
IGlmICh2YWxpZGF0aW9uVVJMLmlzVmFsaWQoKSkKLSAgICAgICAgbV9wYXltZW50UmVxdWVzdC0+
ZGlzcGF0Y2hFdmVudChNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMo
KS5tZXJjaGFudHZhbGlkYXRpb25FdmVudCwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSkuZ2V0KCkp
OworICAgICAgICBtX3BheW1lbnRSZXF1ZXN0LT5kaXNwYXRjaEV2ZW50KE1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLm1lcmNoYW50dmFsaWRhdGlvbkV2ZW50LCBX
VEY6OmdldDxVUkw+KG1faWRlbnRpZmllcikuc3RyaW5nKCksIFdURk1vdmUodmFsaWRhdGlvblVS
TCkpLmdldCgpKTsKIH0KIAogc3RhdGljIFJlZjxQYXltZW50QWRkcmVzcz4gY29udmVydChjb25z
dCBBcHBsZVBheVBheW1lbnRDb250YWN0JiBjb250YWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlv
bkV2ZW50LmNwcAppbmRleCA0MGY1NzMxNDM2ODUyNDk3MzE5M2JiNjdiNDY2ODhhODI4NTBiMTQ4
Li4xYTY3MzEyNWExOGQ3ZDgyNDUxYzJjNGNmOWRmMzJkZGIzZDlhMjExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNo
YW50VmFsaWRhdGlvbkV2ZW50LmNwcApAQCAtMzMsOSArMzMsOSBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVJlZjxNZXJjaGFudFZhbGlkYXRpb25FdmVudD4gTWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFVSTCYmIHZhbGlkYXRpb25V
UkwpCitSZWY8TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50
OjpjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBTdHJpbmcgbWV0aG9kTmFtZSwgVVJM
JiYgdmFsaWRhdGlvblVSTCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZXJjaGFudFZh
bGlkYXRpb25FdmVudCh0eXBlLCBXVEZNb3ZlKHZhbGlkYXRpb25VUkwpKSk7CisgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQodHlwZSwgV1RGTW92ZShtZXRo
b2ROYW1lKSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSkpOwogfQogCiBFeGNlcHRpb25PcjxSZWY8
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+PiBNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6Y3JlYXRl
KERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBJbml0JiYgZXZl
bnRJbml0KQpAQCAtNDQsMTkgKzQ0LDI4IEBAIEV4Y2VwdGlvbk9yPFJlZjxNZXJjaGFudFZhbGlk
YXRpb25FdmVudD4+IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVhdGUoRG9jdW1lCiAgICAg
aWYgKCF2YWxpZGF0aW9uVVJMLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IFR5cGVFcnJvciB9OwogCi0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQodHlwZSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSwgV1RGTW92ZShldmVudEluaXQp
KSk7CisgICAgYXV0byBtZXRob2ROYW1lID0gV1RGTW92ZShldmVudEluaXQubWV0aG9kTmFtZSk7
CisgICAgaWYgKCFtZXRob2ROYW1lLmlzRW1wdHkoKSkgeworICAgICAgICBhdXRvIHZhbGlkYXRl
ZE1ldGhvZE5hbWUgPSBjb252ZXJ0QW5kVmFsaWRhdGVQYXltZW50TWV0aG9kSWRlbnRpZmllciht
ZXRob2ROYW1lKTsKKyAgICAgICAgaWYgKHZhbGlkYXRlZE1ldGhvZE5hbWUuaGFzRXhjZXB0aW9u
KCkpCisgICAgICAgICAgICByZXR1cm4gdmFsaWRhdGVkTWV0aG9kTmFtZS5yZWxlYXNlRXhjZXB0
aW9uKCk7CisgICAgfQorCisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQodHlwZSwgV1RGTW92ZShtZXRob2ROYW1lKSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJM
KSwgV1RGTW92ZShldmVudEluaXQpKSk7CiB9CiAKLU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpN
ZXJjaGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFVSTCYmIHZh
bGlkYXRpb25VUkwpCitNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6TWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBTdHJpbmcmJiBtZXRob2ROYW1lLCBVUkwm
JiB2YWxpZGF0aW9uVVJMKQogICAgIDogRXZlbnQgeyB0eXBlLCBFdmVudDo6Q2FuQnViYmxlOjpO
bywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8gfQorICAgICwgbV9tZXRob2ROYW1lIHsgV1RGTW92
ZShtZXRob2ROYW1lKSB9CiAgICAgLCBtX3ZhbGlkYXRpb25VUkwgeyBXVEZNb3ZlKHZhbGlkYXRp
b25VUkwpIH0KIHsKICAgICBBU1NFUlQoaXNUcnVzdGVkKCkpOwogICAgIEFTU0VSVChtX3ZhbGlk
YXRpb25VUkwuaXNWYWxpZCgpKTsKIH0KIAotTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6Ok1lcmNo
YW50VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgVVJMJiYgdmFsaWRh
dGlvblVSTCwgSW5pdCYmIGV2ZW50SW5pdCkKK01lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpNZXJj
aGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFN0cmluZyYmIG1l
dGhvZE5hbWUsIFVSTCYmIHZhbGlkYXRpb25VUkwsIEluaXQmJiBldmVudEluaXQpCiAgICAgOiBF
dmVudCB7IHR5cGUsIFdURk1vdmUoZXZlbnRJbml0KSwgSXNUcnVzdGVkOjpObyB9CisgICAgLCBt
X21ldGhvZE5hbWUgeyBXVEZNb3ZlKG1ldGhvZE5hbWUpIH0KICAgICAsIG1fdmFsaWRhdGlvblVS
TCB7IFdURk1vdmUodmFsaWRhdGlvblVSTCkgfQogewogICAgIEFTU0VSVCghaXNUcnVzdGVkKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJj
aGFudFZhbGlkYXRpb25FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5oCmluZGV4IGIwOTNkM2E1ZmZjOTU2NzEyZWM5
MTBkNGNmYTEyMjcxZTI4YTliYWEuLjZiMzQ0NWZjNDg0ZWFmZTMwOTJhMWMwYTgwYWViNTY3OWRl
Njc0NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3Qv
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmgKQEAgLTM4LDIzICszOCwyNiBA
QCBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IGZpbmFsIDog
cHVibGljIEV2ZW50IHsKIHB1YmxpYzoKICAgICBzdHJ1Y3QgSW5pdCBmaW5hbCA6IEV2ZW50SW5p
dCB7CisgICAgICAgIFN0cmluZyBtZXRob2ROYW1lOwogICAgICAgICBTdHJpbmcgdmFsaWRhdGlv
blVSTDsKICAgICB9OwogCi0gICAgc3RhdGljIFJlZjxNZXJjaGFudFZhbGlkYXRpb25FdmVudD4g
Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYsIFVSTCYmKTsKLSAgICBzdGF0aWMgRXhjZXB0aW9u
T3I8UmVmPE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Pj4gY3JlYXRlKERvY3VtZW50JiwgY29uc3Qg
QXRvbWljU3RyaW5nJiwgSW5pdCYmKTsKKyAgICBzdGF0aWMgUmVmPE1lcmNoYW50VmFsaWRhdGlv
bkV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBTdHJpbmcgbWV0aG9kTmFt
ZSwgVVJMJiYgdmFsaWRhdGlvblVSTCk7CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxNZXJj
aGFudFZhbGlkYXRpb25FdmVudD4+IGNyZWF0ZShEb2N1bWVudCYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSwgSW5pdCYmKTsKIAorICAgIGNvbnN0IFN0cmluZyYgbWV0aG9kTmFtZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbWV0aG9kTmFtZTsgfQogICAgIGNvbnN0IFN0cmluZyYgdmFsaWRhdGlvblVS
TCgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsaWRhdGlvblVSTC5zdHJpbmcoKTsgfQogICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IGNvbXBsZXRlKFJlZjxET01Qcm9taXNlPiYmKTsKIAogcHJpdmF0ZToKLSAg
ICBNZXJjaGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBVUkwmJik7Ci0g
ICAgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiwgVVJMJiYsIElu
aXQmJik7CisgICAgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBTdHJpbmcmJiBtZXRob2ROYW1lLCBVUkwmJiB2YWxpZGF0aW9uVVJMKTsKKyAgICBNZXJj
aGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFN0cmluZyYmIG1l
dGhvZE5hbWUsIFVSTCYmIHZhbGlkYXRpb25VUkwsIEluaXQmJik7CiAKICAgICAvLyBFdmVudAog
ICAgIEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkgY29uc3QgZmluYWw7CiAKICAgICBi
b29sIG1faXNDb21wbGV0ZWQgeyBmYWxzZSB9OworICAgIFN0cmluZyBtX21ldGhvZE5hbWU7CiAg
ICAgVVJMIG1fdmFsaWRhdGlvblVSTDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVu
dC5pZGwKaW5kZXggN2MyYmRiMmM1ODYxOTZlYzJlOWU5ZjZjZTYzODIzM2E4ZDc0N2RhMy4uOTlh
NzUxMjA0ZmZiNmUwNzkxYmQxOTA0YTY3MjkwZTE4MTg5OGM4OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZh
bGlkYXRpb25FdmVudC5pZGwKQEAgLTMyLDEyICszMiwxNCBAQAogICAgIEV4cG9zZWQ9V2luZG93
LAogICAgIFNlY3VyZUNvbnRleHQsCiBdIGludGVyZmFjZSBNZXJjaGFudFZhbGlkYXRpb25FdmVu
dCA6IEV2ZW50IHsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhbGlkYXRpb25V
Ukw7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBtZXRob2ROYW1lOworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdmFsaWRhdGlvblVSTDsKICAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgY29tcGxldGUoUHJvbWlzZTxhbnk+IG1lcmNoYW50U2Vzc2lvblByb21p
c2UpOwogfTsKIAogWwogICAgIENvbmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVCwKIF0gZGljdGlv
bmFyeSBNZXJjaGFudFZhbGlkYXRpb25FdmVudEluaXQgOiBFdmVudEluaXQgeworICAgIERPTVN0
cmluZyBtZXRob2ROYW1lID0gIiI7CiAgICAgVVNWU3RyaW5nIHZhbGlkYXRpb25VUkwgPSAiIjsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1Bh
eW1lbnRSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3Qv
UGF5bWVudFJlcXVlc3QuY3BwCmluZGV4IDQzOTgwY2ZiMjBhM2Q4Y2U4OWEzMjk0NTk4OWU3YTJk
YzRlYzA1NjIuLjY3ZWUyY2IwMzE2MDkwZjFkZmY4NGE2ZTFhZmZiYjk4NTQwZDYyNmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVl
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVu
dFJlcXVlc3QuY3BwCkBAIC0yMjQsMTkgKzIyNCwxOSBAQCBzdGF0aWMgYm9vbCBpc1ZhbGlkVVJM
QmFzZWRQYXltZW50TWV0aG9kSWRlbnRpZmllcihjb25zdCBVUkwmIHVybCkKIAogLy8gSW1wbGVt
ZW50cyAidmFsaWRhdGUgYSBwYXltZW50IG1ldGhvZCBpZGVudGlmaWVyIgogLy8gaHR0cHM6Ly93
d3cudzMub3JnL1RSL3BheW1lbnQtbWV0aG9kLWlkLyN2YWxpZGl0eQotc3RkOjpvcHRpb25hbDxQ
YXltZW50UmVxdWVzdDo6TWV0aG9kSWRlbnRpZmllcj4gY29udmVydEFuZFZhbGlkYXRlUGF5bWVu
dE1ldGhvZElkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKQorRXhjZXB0aW9uT3I8
UGF5bWVudFJlcXVlc3Q6Ok1ldGhvZElkZW50aWZpZXI+IGNvbnZlcnRBbmRWYWxpZGF0ZVBheW1l
bnRNZXRob2RJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikKIHsKICAgICBVUkwg
dXJsIHsgVVJMKCksIGlkZW50aWZpZXIgfTsKICAgICBpZiAoIXVybC5pc1ZhbGlkKCkpIHsKICAg
ICAgICAgaWYgKGlzVmFsaWRTdGFuZGFyZGl6ZWRQYXltZW50TWV0aG9kSWRlbnRpZmllcihpZGVu
dGlmaWVyKSkKICAgICAgICAgICAgIHJldHVybiB7IGlkZW50aWZpZXIgfTsKLSAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFJhbmdlRXJyb3Is
IG1ha2VTdHJpbmcoJyInLCBpZGVudGlmaWVyLCAiXCIgaXMgYW4gaW52YWxpZCBwYXltZW50IG1l
dGhvZCBpZGVudGlmaWVyLiIpIH07CiAgICAgfQogCiAgICAgaWYgKGlzVmFsaWRVUkxCYXNlZFBh
eW1lbnRNZXRob2RJZGVudGlmaWVyKHVybCkpCiAgICAgICAgIHJldHVybiB7IFdURk1vdmUodXJs
KSB9OwogCi0gICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICByZXR1cm4gRXhjZXB0aW9uIHsg
UmFuZ2VFcnJvciwgbWFrZVN0cmluZygnIicsIGlkZW50aWZpZXIsICJcIiBpcyBhbiBpbnZhbGlk
IHBheW1lbnQgbWV0aG9kIGlkZW50aWZpZXIuIikgfTsKIH0KIAogZW51bSBjbGFzcyBTaG91bGRW
YWxpZGF0ZVBheW1lbnRNZXRob2RJZGVudGlmaWVyIHsKQEAgLTI3NCw4ICsyNzQsOCBAQCBzdGF0
aWMgRXhjZXB0aW9uT3I8c3RkOjp0dXBsZTxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+Pj4gY2hlY2tB
bmRDYW5vbmljYWxpemVEZXRhaQogICAgIGZvciAoYXV0byYgbW9kaWZpZXIgOiBkZXRhaWxzLm1v
ZGlmaWVycykgewogICAgICAgICBpZiAoc2hvdWxkVmFsaWRhdGVQYXltZW50TWV0aG9kSWRlbnRp
ZmllciA9PSBTaG91bGRWYWxpZGF0ZVBheW1lbnRNZXRob2RJZGVudGlmaWVyOjpZZXMpIHsKICAg
ICAgICAgICAgIGF1dG8gcGF5bWVudE1ldGhvZElkZW50aWZpZXIgPSBjb252ZXJ0QW5kVmFsaWRh
dGVQYXltZW50TWV0aG9kSWRlbnRpZmllcihtb2RpZmllci5zdXBwb3J0ZWRNZXRob2RzKTsKLSAg
ICAgICAgICAgIGlmICghcGF5bWVudE1ldGhvZElkZW50aWZpZXIpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IFJhbmdlRXJyb3IsIG1ha2VTdHJpbmcoIlwiIiwgbW9kaWZpZXIu
c3VwcG9ydGVkTWV0aG9kcywgIlwiIGlzIGFuIGludmFsaWQgcGF5bWVudCBtZXRob2QgaWRlbnRp
Zmllci4iKSB9OworICAgICAgICAgICAgaWYgKHBheW1lbnRNZXRob2RJZGVudGlmaWVyLmhhc0V4
Y2VwdGlvbigpKQorICAgICAgICAgICAgICAgIHJldHVybiBwYXltZW50TWV0aG9kSWRlbnRpZmll
ci5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobW9kaWZpZXIu
dG90YWwpIHsKQEAgLTMyMiw4ICszMjIsOCBAQCBFeGNlcHRpb25PcjxSZWY8UGF5bWVudFJlcXVl
c3Q+PiBQYXltZW50UmVxdWVzdDo6Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgVmVjdAogICAg
IHNlcmlhbGl6ZWRNZXRob2REYXRhLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobWV0aG9kRGF0YS5z
aXplKCkpOwogICAgIGZvciAoYXV0byYgcGF5bWVudE1ldGhvZCA6IG1ldGhvZERhdGEpIHsKICAg
ICAgICAgYXV0byBpZGVudGlmaWVyID0gY29udmVydEFuZFZhbGlkYXRlUGF5bWVudE1ldGhvZElk
ZW50aWZpZXIocGF5bWVudE1ldGhvZC5zdXBwb3J0ZWRNZXRob2RzKTsKLSAgICAgICAgaWYgKCFp
ZGVudGlmaWVyKQotICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFJhbmdlRXJyb3IsIG1h
a2VTdHJpbmcoIlwiIiwgcGF5bWVudE1ldGhvZC5zdXBwb3J0ZWRNZXRob2RzLCAiXCIgaXMgYW4g
aW52YWxpZCBwYXltZW50IG1ldGhvZCBpZGVudGlmaWVyLiIpIH07CisgICAgICAgIGlmIChpZGVu
dGlmaWVyLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIGlkZW50aWZpZXIucmVs
ZWFzZUV4Y2VwdGlvbigpOwogCiAgICAgICAgIFN0cmluZyBzZXJpYWxpemVkRGF0YTsKICAgICAg
ICAgaWYgKHBheW1lbnRNZXRob2QuZGF0YSkgewpAQCAtMzMyLDcgKzMzMiw3IEBAIEV4Y2VwdGlv
bk9yPFJlZjxQYXltZW50UmVxdWVzdD4+IFBheW1lbnRSZXF1ZXN0OjpjcmVhdGUoRG9jdW1lbnQm
IGRvY3VtZW50LCBWZWN0CiAgICAgICAgICAgICBpZiAoc2NvcGUuZXhjZXB0aW9uKCkpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEV4aXN0aW5nRXhjZXB0aW9uRXJyb3IgfTsK
ICAgICAgICAgfQotICAgICAgICBzZXJpYWxpemVkTWV0aG9kRGF0YS51bmNoZWNrZWRBcHBlbmQo
eyBXVEZNb3ZlKCppZGVudGlmaWVyKSwgV1RGTW92ZShzZXJpYWxpemVkRGF0YSkgfSk7CisgICAg
ICAgIHNlcmlhbGl6ZWRNZXRob2REYXRhLnVuY2hlY2tlZEFwcGVuZCh7IGlkZW50aWZpZXIucmVs
ZWFzZVJldHVyblZhbHVlKCksIFdURk1vdmUoc2VyaWFsaXplZERhdGEpIH0pOwogICAgIH0KIAog
ICAgIGF1dG8gdG90YWxSZXN1bHQgPSBjaGVja0FuZENhbm9uaWNhbGl6ZVRvdGFsKGRldGFpbHMu
dG90YWwuYW1vdW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaAppbmRleCBlM2JkN2U1MzJjZjIzZjI1NzY2NjU0ZTEw
YzM0NWRjYmNjMzQwODcyLi5iNzE5MzVhMmFhODNiMmIxMTM2ZGE2MWE4Njk4NTgxOGYxOWU1OWQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1l
bnRSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50UmVxdWVzdC5oCkBAIC0xMzgsNyArMTM4LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
aXNVcGRhdGluZyB7IGZhbHNlIH07CiB9OwogCi1zdGQ6Om9wdGlvbmFsPFBheW1lbnRSZXF1ZXN0
OjpNZXRob2RJZGVudGlmaWVyPiBjb252ZXJ0QW5kVmFsaWRhdGVQYXltZW50TWV0aG9kSWRlbnRp
Zmllcihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpOworRXhjZXB0aW9uT3I8UGF5bWVudFJlcXVl
c3Q6Ok1ldGhvZElkZW50aWZpZXI+IGNvbnZlcnRBbmRWYWxpZGF0ZVBheW1lbnRNZXRob2RJZGVu
dGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcik7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOWY1YWJmZTljNjI4YzE1ZWU0
MTNiNTY2MDlkYjllNzk0OTNjMWVmOC4uOWE4OWY3ZWI2ZTc5NDMzODQ1NTllY2I4MTdlYWNiNWYy
ODY5ZjE4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTgtMDktMjcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtQ
YXltZW50IFJlcXVlc3RdIEltcGxlbWVudCBNZXJjaGFudFZhbGlkYXRpb25FdmVudC5tZXRob2RO
YW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAw
NTgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQvY29u
c3RydWN0b3IuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDE4LTA5LTI5ICBPcmlvbCBCcnVmYXUg
IDxvYnJ1ZmF1QGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBQcm9wZXJseSBhbGln
biBpdGVtcyBuZXh0IHRvIGNvbGxhcHNlZCB0cmFja3Mgd2l0aCBndXR0ZXJzCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC9jb25zdHJ1Y3Rvci5odHRwcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC9jb25zdHJ1Y3Rvci5odHRwcy1leHBlY3Rl
ZC50eHQKaW5kZXggNmE5ZDJhNDUyMjAzNTgxNDFlNmRlN2UwN2RiY2Q1ODMwNzJhMGRlNy4uZTM5
MDczOTc1YWRjZDJmZTNiZjNiNDhjMGNmMGY3MzVmNmIwMDY2NSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvTWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQvY29uc3RydWN0b3IuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50L2NvbnN0cnVjdG9yLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtNSwxMCArNSw4IEBAIFBBU1MgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQgY2FuIGJlIGRp
c3BhdGNoZWQsIGV2ZW4gaWYgbm90IHRydXN0ZWQuCiBQQVNTIE11c3QgaGF2ZSBhIHZhbGlkYXRp
b25VUkwgSURMIGF0dHJpYnV0ZSwgd2hpY2ggaXMgaW5pdGlhbGl6ZWQgd2l0aCB0byB0aGUgdmFs
aWRhdGlvblVSTCBkaWN0aW9uYXJ5IHZhbHVlLiAKIFBBU1MgTXVzdCB0aHJvdyBUeXBlRXJyb3Ig
aWYgaW5pdGlhbGl6ZWQgd2l0aCBhbiBpbnZhbGlkIFVSTC4gCiBQQVNTIFJlbGF0aXZlIHZhbGlk
YXRpb25VUkxzIHVzZSB0aGUgZG9jdW1lbnQgYXMgdGhlIGJhc2UuIAotRkFJTCBNdXN0IGhhdmUg
YSBtZXRob2ROYW1lIElETCBhdHRyaWJ1dGUsIHdoaWNoIGlzIGluaXRpYWxpemVkIHdpdGggdG8g
dGhlIG1ldGhvZE5hbWUgZGljdGlvbmFyeSB2YWx1ZS4gYXNzZXJ0X2lkbF9hdHRyaWJ1dGU6IHBy
b3BlcnR5ICJtZXRob2ROYW1lIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1GQUlMIFdo
ZW4gbm8gbWV0aG9kTmFtZSBpcyBwYXNzZWQsIG1ldGhvZE5hbWUgYXR0cmlidXRlIGRlZmF1bHRz
IHRvIHRoZSBlbXB0eSBzdHJpbmcgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgIiIg
YnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgTWVyY2hhbnRWYWxpZGF0aW9uRXZl
bnQgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggdmFsaWQgUE1JcyBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAoc3RyaW5nKSAiaHR0cHM6Ly9leGFtcGxlLmNvbS9wYXkiIGJ1dCBnb3QgKHVuZGVmaW5l
ZCkgdW5kZWZpbmVkCi1GQUlMIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IGNhbid0IGJlIGNvbnN0
cnVjdGVkIHdpdGggaW52YWxpZCBQTUlzIGFzc2VydF90aHJvd3M6IGV4cGVjdGVkIHRvIHRocm93
IHdoZW4gY29uc3RydWN0ZWQgd2l0aCBpbnZhbGlkIFBNSTogJ2Jhc2ljLfCfkrMnIGZ1bmN0aW9u
ICIoKSA9PiB7Ci0gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IE1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50KCJ0ZXN0IiwgeyBtZXRob2ROYW1lIH0pOwotICAgICAgfSIgZGlkIG5vdCB0aHJvdworUEFT
UyBNdXN0IGhhdmUgYSBtZXRob2ROYW1lIElETCBhdHRyaWJ1dGUsIHdoaWNoIGlzIGluaXRpYWxp
emVkIHdpdGggdG8gdGhlIG1ldGhvZE5hbWUgZGljdGlvbmFyeSB2YWx1ZS4gCitQQVNTIFdoZW4g
bm8gbWV0aG9kTmFtZSBpcyBwYXNzZWQsIG1ldGhvZE5hbWUgYXR0cmlidXRlIGRlZmF1bHRzIHRv
IHRoZSBlbXB0eSBzdHJpbmcgCitQQVNTIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IGNhbiBiZSBj
b25zdHJ1Y3RlZCB3aXRoIHZhbGlkIFBNSXMgCitQQVNTIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50
IGNhbid0IGJlIGNvbnN0cnVjdGVkIHdpdGggaW52YWxpZCBQTUlzIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351188</attachid>
            <date>2018-09-29 11:09:24 -0700</date>
            <delta_ts>2018-10-01 10:32:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190058-20180929110923.patch</filename>
            <type>text/plain</type>
            <size>15113</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWJjN2M4ODY2MmRlZTVm
YjliMzY1NjMyODIxODhkMDMzZjJmYWJlNy4uZTA1NGJiZmNiNDY3NzE5YTMxODRmMTEwNWU4MjVh
YzliZTg0OGQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTA5LTI3ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJ
bXBsZW1lbnQgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQubWV0aG9kTmFtZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMDU4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQncyBtZXRob2ROYW1lIGF0dHJpYnV0ZSBhbmQgTWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnRJbml0J3MKKyAgICAgICAgbWV0aG9kTmFtZSBwcm9wZXJ0eSBhcyBzcGVjaWZpZWQgaW4g
dGhlIFBheW1lbnQgUmVxdWVzdCBBUEkgVzNDIEVkaXRvcidzIERyYWZ0IG9mCisgICAgICAgIDI3
IFNlcHRlbWJlciAyMDE4LgorCisgICAgICAgIENvdmVyZWQgYnkgd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC9jb25zdHJ1Y3Rvci5odHRw
cy5odG1sLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheVBheW1lbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVu
dEhhbmRsZXI6OnZhbGlkYXRlTWVyY2hhbnQpOiBQYXNzZWQgdGhlIHBheW1lbnQgbWV0aG9kIGlk
ZW50aWZpZXIKKyAgICAgICAgKGFzIGEgc3RyaW5nKSB0byBNZXJjaGFudFZhbGlkYXRpb25FdmVu
dDo6Y3JlYXRlKCkKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50OjpjcmVhdGUpOiBWYWxpZGF0ZWQgdGhlIG1ldGhvZE5hbWUgYmVmb3JlIGNvbnN0cnVjdGlu
ZyB0aGUKKyAgICAgICAgZXZlbnQsIHRocm93aW5nIGEgUmFuZ2VFcnJvciBvbiBmYWlsdXJlLgor
ICAgICAgICAoV2ViQ29yZTo6TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6Ok1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5pZGw6CisKIDIwMTgtMDktMjkgIE9yaW9sIEJydWZhdSAgPG9icnVm
YXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWdyaWRdIFByb3Blcmx5IGFsaWduIGl0ZW1z
IG5leHQgdG8gY29sbGFwc2VkIHRyYWNrcyB3aXRoIGd1dHRlcnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50
SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1
ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCmluZGV4IDhmNTc1MDA4MDk0MjA2OGE2Yzg4
NWI3NWNjNGZiMTJmYTY4M2JiNGYuLjgxNzcyOTE5YWJmNzk2MzcwZjlhMjQzNDA4N2MyZjNiZTEw
MjE4ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVu
dHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNw
cApAQCAtMjcyLDcgKzI3Miw3IEBAIEV4Y2VwdGlvbk9yPEFwcGxlUGF5U2Vzc2lvblBheW1lbnRS
ZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4gQXBwbGVQYXlQYXltZW50SGFuCiAgICAgQVNTRVJU
KG1vZGlmaWVycy5zaXplKCkgPT0gc2VyaWFsaXplZE1vZGlmaWVyRGF0YS5zaXplKCkpOwogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbW9kaWZpZXJzLnNpemUoKTsgKytpKSB7CiAgICAgICAg
IGF1dG8gY29udmVydGVkSWRlbnRpZmllciA9IGNvbnZlcnRBbmRWYWxpZGF0ZVBheW1lbnRNZXRo
b2RJZGVudGlmaWVyKG1vZGlmaWVyc1tpXS5zdXBwb3J0ZWRNZXRob2RzKTsKLSAgICAgICAgaWYg
KCFjb252ZXJ0ZWRJZGVudGlmaWVyIHx8ICFoYW5kbGVzSWRlbnRpZmllcigqY29udmVydGVkSWRl
bnRpZmllcikpCisgICAgICAgIGlmIChjb252ZXJ0ZWRJZGVudGlmaWVyLmhhc0V4Y2VwdGlvbigp
IHx8ICFoYW5kbGVzSWRlbnRpZmllcihjb252ZXJ0ZWRJZGVudGlmaWVyLnJlbGVhc2VSZXR1cm5W
YWx1ZSgpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGlmIChzZXJpYWxpemVk
TW9kaWZpZXJEYXRhW2ldLmlzRW1wdHkoKSkKQEAgLTQ4Myw3ICs0ODMsNyBAQCB1bnNpZ25lZCBB
cHBsZVBheVBheW1lbnRIYW5kbGVyOjp2ZXJzaW9uKCkgY29uc3QKIHZvaWQgQXBwbGVQYXlQYXlt
ZW50SGFuZGxlcjo6dmFsaWRhdGVNZXJjaGFudChVUkwmJiB2YWxpZGF0aW9uVVJMKQogewogICAg
IGlmICh2YWxpZGF0aW9uVVJMLmlzVmFsaWQoKSkKLSAgICAgICAgbV9wYXltZW50UmVxdWVzdC0+
ZGlzcGF0Y2hFdmVudChNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMo
KS5tZXJjaGFudHZhbGlkYXRpb25FdmVudCwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSkuZ2V0KCkp
OworICAgICAgICBtX3BheW1lbnRSZXF1ZXN0LT5kaXNwYXRjaEV2ZW50KE1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLm1lcmNoYW50dmFsaWRhdGlvbkV2ZW50LCBX
VEY6OmdldDxVUkw+KG1faWRlbnRpZmllcikuc3RyaW5nKCksIFdURk1vdmUodmFsaWRhdGlvblVS
TCkpLmdldCgpKTsKIH0KIAogc3RhdGljIFJlZjxQYXltZW50QWRkcmVzcz4gY29udmVydChjb25z
dCBBcHBsZVBheVBheW1lbnRDb250YWN0JiBjb250YWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlv
bkV2ZW50LmNwcAppbmRleCA0MGY1NzMxNDM2ODUyNDk3MzE5M2JiNjdiNDY2ODhhODI4NTBiMTQ4
Li4xYTY3MzEyNWExOGQ3ZDgyNDUxYzJjNGNmOWRmMzJkZGIzZDlhMjExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNo
YW50VmFsaWRhdGlvbkV2ZW50LmNwcApAQCAtMzMsOSArMzMsOSBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVJlZjxNZXJjaGFudFZhbGlkYXRpb25FdmVudD4gTWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFVSTCYmIHZhbGlkYXRpb25V
UkwpCitSZWY8TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50
OjpjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBTdHJpbmcgbWV0aG9kTmFtZSwgVVJM
JiYgdmFsaWRhdGlvblVSTCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZXJjaGFudFZh
bGlkYXRpb25FdmVudCh0eXBlLCBXVEZNb3ZlKHZhbGlkYXRpb25VUkwpKSk7CisgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQodHlwZSwgV1RGTW92ZShtZXRo
b2ROYW1lKSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSkpOwogfQogCiBFeGNlcHRpb25PcjxSZWY8
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+PiBNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6Y3JlYXRl
KERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBJbml0JiYgZXZl
bnRJbml0KQpAQCAtNDQsMTkgKzQ0LDI4IEBAIEV4Y2VwdGlvbk9yPFJlZjxNZXJjaGFudFZhbGlk
YXRpb25FdmVudD4+IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVhdGUoRG9jdW1lCiAgICAg
aWYgKCF2YWxpZGF0aW9uVVJMLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IFR5cGVFcnJvciB9OwogCi0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQodHlwZSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSwgV1RGTW92ZShldmVudEluaXQp
KSk7CisgICAgYXV0byBtZXRob2ROYW1lID0gV1RGTW92ZShldmVudEluaXQubWV0aG9kTmFtZSk7
CisgICAgaWYgKCFtZXRob2ROYW1lLmlzRW1wdHkoKSkgeworICAgICAgICBhdXRvIHZhbGlkYXRl
ZE1ldGhvZE5hbWUgPSBjb252ZXJ0QW5kVmFsaWRhdGVQYXltZW50TWV0aG9kSWRlbnRpZmllciht
ZXRob2ROYW1lKTsKKyAgICAgICAgaWYgKHZhbGlkYXRlZE1ldGhvZE5hbWUuaGFzRXhjZXB0aW9u
KCkpCisgICAgICAgICAgICByZXR1cm4gdmFsaWRhdGVkTWV0aG9kTmFtZS5yZWxlYXNlRXhjZXB0
aW9uKCk7CisgICAgfQorCisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQodHlwZSwgV1RGTW92ZShtZXRob2ROYW1lKSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJM
KSwgV1RGTW92ZShldmVudEluaXQpKSk7CiB9CiAKLU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpN
ZXJjaGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFVSTCYmIHZh
bGlkYXRpb25VUkwpCitNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6TWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBTdHJpbmcmJiBtZXRob2ROYW1lLCBVUkwm
JiB2YWxpZGF0aW9uVVJMKQogICAgIDogRXZlbnQgeyB0eXBlLCBFdmVudDo6Q2FuQnViYmxlOjpO
bywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8gfQorICAgICwgbV9tZXRob2ROYW1lIHsgV1RGTW92
ZShtZXRob2ROYW1lKSB9CiAgICAgLCBtX3ZhbGlkYXRpb25VUkwgeyBXVEZNb3ZlKHZhbGlkYXRp
b25VUkwpIH0KIHsKICAgICBBU1NFUlQoaXNUcnVzdGVkKCkpOwogICAgIEFTU0VSVChtX3ZhbGlk
YXRpb25VUkwuaXNWYWxpZCgpKTsKIH0KIAotTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6Ok1lcmNo
YW50VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgVVJMJiYgdmFsaWRh
dGlvblVSTCwgSW5pdCYmIGV2ZW50SW5pdCkKK01lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpNZXJj
aGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFN0cmluZyYmIG1l
dGhvZE5hbWUsIFVSTCYmIHZhbGlkYXRpb25VUkwsIEluaXQmJiBldmVudEluaXQpCiAgICAgOiBF
dmVudCB7IHR5cGUsIFdURk1vdmUoZXZlbnRJbml0KSwgSXNUcnVzdGVkOjpObyB9CisgICAgLCBt
X21ldGhvZE5hbWUgeyBXVEZNb3ZlKG1ldGhvZE5hbWUpIH0KICAgICAsIG1fdmFsaWRhdGlvblVS
TCB7IFdURk1vdmUodmFsaWRhdGlvblVSTCkgfQogewogICAgIEFTU0VSVCghaXNUcnVzdGVkKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJj
aGFudFZhbGlkYXRpb25FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5oCmluZGV4IGIwOTNkM2E1ZmZjOTU2NzEyZWM5
MTBkNGNmYTEyMjcxZTI4YTliYWEuLjZiMzQ0NWZjNDg0ZWFmZTMwOTJhMWMwYTgwYWViNTY3OWRl
Njc0NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3Qv
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmgKQEAgLTM4LDIzICszOCwyNiBA
QCBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IGZpbmFsIDog
cHVibGljIEV2ZW50IHsKIHB1YmxpYzoKICAgICBzdHJ1Y3QgSW5pdCBmaW5hbCA6IEV2ZW50SW5p
dCB7CisgICAgICAgIFN0cmluZyBtZXRob2ROYW1lOwogICAgICAgICBTdHJpbmcgdmFsaWRhdGlv
blVSTDsKICAgICB9OwogCi0gICAgc3RhdGljIFJlZjxNZXJjaGFudFZhbGlkYXRpb25FdmVudD4g
Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYsIFVSTCYmKTsKLSAgICBzdGF0aWMgRXhjZXB0aW9u
T3I8UmVmPE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Pj4gY3JlYXRlKERvY3VtZW50JiwgY29uc3Qg
QXRvbWljU3RyaW5nJiwgSW5pdCYmKTsKKyAgICBzdGF0aWMgUmVmPE1lcmNoYW50VmFsaWRhdGlv
bkV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBTdHJpbmcgbWV0aG9kTmFt
ZSwgVVJMJiYgdmFsaWRhdGlvblVSTCk7CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxNZXJj
aGFudFZhbGlkYXRpb25FdmVudD4+IGNyZWF0ZShEb2N1bWVudCYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSwgSW5pdCYmKTsKIAorICAgIGNvbnN0IFN0cmluZyYgbWV0aG9kTmFtZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbWV0aG9kTmFtZTsgfQogICAgIGNvbnN0IFN0cmluZyYgdmFsaWRhdGlvblVS
TCgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsaWRhdGlvblVSTC5zdHJpbmcoKTsgfQogICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IGNvbXBsZXRlKFJlZjxET01Qcm9taXNlPiYmKTsKIAogcHJpdmF0ZToKLSAg
ICBNZXJjaGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBVUkwmJik7Ci0g
ICAgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiwgVVJMJiYsIElu
aXQmJik7CisgICAgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBTdHJpbmcmJiBtZXRob2ROYW1lLCBVUkwmJiB2YWxpZGF0aW9uVVJMKTsKKyAgICBNZXJj
aGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFN0cmluZyYmIG1l
dGhvZE5hbWUsIFVSTCYmIHZhbGlkYXRpb25VUkwsIEluaXQmJik7CiAKICAgICAvLyBFdmVudAog
ICAgIEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkgY29uc3QgZmluYWw7CiAKICAgICBi
b29sIG1faXNDb21wbGV0ZWQgeyBmYWxzZSB9OworICAgIFN0cmluZyBtX21ldGhvZE5hbWU7CiAg
ICAgVVJMIG1fdmFsaWRhdGlvblVSTDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVu
dC5pZGwKaW5kZXggN2MyYmRiMmM1ODYxOTZlYzJlOWU5ZjZjZTYzODIzM2E4ZDc0N2RhMy4uOTlh
NzUxMjA0ZmZiNmUwNzkxYmQxOTA0YTY3MjkwZTE4MTg5OGM4OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZh
bGlkYXRpb25FdmVudC5pZGwKQEAgLTMyLDEyICszMiwxNCBAQAogICAgIEV4cG9zZWQ9V2luZG93
LAogICAgIFNlY3VyZUNvbnRleHQsCiBdIGludGVyZmFjZSBNZXJjaGFudFZhbGlkYXRpb25FdmVu
dCA6IEV2ZW50IHsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhbGlkYXRpb25V
Ukw7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBtZXRob2ROYW1lOworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdmFsaWRhdGlvblVSTDsKICAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgY29tcGxldGUoUHJvbWlzZTxhbnk+IG1lcmNoYW50U2Vzc2lvblByb21p
c2UpOwogfTsKIAogWwogICAgIENvbmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVCwKIF0gZGljdGlv
bmFyeSBNZXJjaGFudFZhbGlkYXRpb25FdmVudEluaXQgOiBFdmVudEluaXQgeworICAgIERPTVN0
cmluZyBtZXRob2ROYW1lID0gIiI7CiAgICAgVVNWU3RyaW5nIHZhbGlkYXRpb25VUkwgPSAiIjsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1Bh
eW1lbnRSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3Qv
UGF5bWVudFJlcXVlc3QuY3BwCmluZGV4IDQzOTgwY2ZiMjBhM2Q4Y2U4OWEzMjk0NTk4OWU3YTJk
YzRlYzA1NjIuLmIwZmRlMTUxNDk5Zjc1MDg3YTQzZGY2NWI2NDNiMTM3YmQyNWNiNWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVl
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVu
dFJlcXVlc3QuY3BwCkBAIC0yMjQsMTkgKzIyNCwxOSBAQCBzdGF0aWMgYm9vbCBpc1ZhbGlkVVJM
QmFzZWRQYXltZW50TWV0aG9kSWRlbnRpZmllcihjb25zdCBVUkwmIHVybCkKIAogLy8gSW1wbGVt
ZW50cyAidmFsaWRhdGUgYSBwYXltZW50IG1ldGhvZCBpZGVudGlmaWVyIgogLy8gaHR0cHM6Ly93
d3cudzMub3JnL1RSL3BheW1lbnQtbWV0aG9kLWlkLyN2YWxpZGl0eQotc3RkOjpvcHRpb25hbDxQ
YXltZW50UmVxdWVzdDo6TWV0aG9kSWRlbnRpZmllcj4gY29udmVydEFuZFZhbGlkYXRlUGF5bWVu
dE1ldGhvZElkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKQorRXhjZXB0aW9uT3I8
UGF5bWVudFJlcXVlc3Q6Ok1ldGhvZElkZW50aWZpZXI+IGNvbnZlcnRBbmRWYWxpZGF0ZVBheW1l
bnRNZXRob2RJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikKIHsKICAgICBVUkwg
dXJsIHsgVVJMKCksIGlkZW50aWZpZXIgfTsKICAgICBpZiAoIXVybC5pc1ZhbGlkKCkpIHsKICAg
ICAgICAgaWYgKGlzVmFsaWRTdGFuZGFyZGl6ZWRQYXltZW50TWV0aG9kSWRlbnRpZmllcihpZGVu
dGlmaWVyKSkKLSAgICAgICAgICAgIHJldHVybiB7IGlkZW50aWZpZXIgfTsKLSAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgICAgIHJldHVybiBQYXltZW50UmVxdWVzdDo6TWV0
aG9kSWRlbnRpZmllciB7IGlkZW50aWZpZXIgfTsKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IFJhbmdlRXJyb3IsIG1ha2VTdHJpbmcoJyInLCBpZGVudGlmaWVyLCAiXCIgaXMgYW4gaW52YWxp
ZCBwYXltZW50IG1ldGhvZCBpZGVudGlmaWVyLiIpIH07CiAgICAgfQogCiAgICAgaWYgKGlzVmFs
aWRVUkxCYXNlZFBheW1lbnRNZXRob2RJZGVudGlmaWVyKHVybCkpCi0gICAgICAgIHJldHVybiB7
IFdURk1vdmUodXJsKSB9OworICAgICAgICByZXR1cm4gUGF5bWVudFJlcXVlc3Q6Ok1ldGhvZElk
ZW50aWZpZXIgeyBXVEZNb3ZlKHVybCkgfTsKIAotICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Cisg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFJhbmdlRXJyb3IsIG1ha2VTdHJpbmcoJyInLCBpZGVudGlm
aWVyLCAiXCIgaXMgYW4gaW52YWxpZCBwYXltZW50IG1ldGhvZCBpZGVudGlmaWVyLiIpIH07CiB9
CiAKIGVudW0gY2xhc3MgU2hvdWxkVmFsaWRhdGVQYXltZW50TWV0aG9kSWRlbnRpZmllciB7CkBA
IC0yNzQsOCArMjc0LDggQEAgc3RhdGljIEV4Y2VwdGlvbk9yPHN0ZDo6dHVwbGU8U3RyaW5nLCBW
ZWN0b3I8U3RyaW5nPj4+IGNoZWNrQW5kQ2Fub25pY2FsaXplRGV0YWkKICAgICBmb3IgKGF1dG8m
IG1vZGlmaWVyIDogZGV0YWlscy5tb2RpZmllcnMpIHsKICAgICAgICAgaWYgKHNob3VsZFZhbGlk
YXRlUGF5bWVudE1ldGhvZElkZW50aWZpZXIgPT0gU2hvdWxkVmFsaWRhdGVQYXltZW50TWV0aG9k
SWRlbnRpZmllcjo6WWVzKSB7CiAgICAgICAgICAgICBhdXRvIHBheW1lbnRNZXRob2RJZGVudGlm
aWVyID0gY29udmVydEFuZFZhbGlkYXRlUGF5bWVudE1ldGhvZElkZW50aWZpZXIobW9kaWZpZXIu
c3VwcG9ydGVkTWV0aG9kcyk7Ci0gICAgICAgICAgICBpZiAoIXBheW1lbnRNZXRob2RJZGVudGlm
aWVyKQotICAgICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBSYW5nZUVycm9yLCBtYWtl
U3RyaW5nKCJcIiIsIG1vZGlmaWVyLnN1cHBvcnRlZE1ldGhvZHMsICJcIiBpcyBhbiBpbnZhbGlk
IHBheW1lbnQgbWV0aG9kIGlkZW50aWZpZXIuIikgfTsKKyAgICAgICAgICAgIGlmIChwYXltZW50
TWV0aG9kSWRlbnRpZmllci5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
cGF5bWVudE1ldGhvZElkZW50aWZpZXIucmVsZWFzZUV4Y2VwdGlvbigpOwogICAgICAgICB9CiAK
ICAgICAgICAgaWYgKG1vZGlmaWVyLnRvdGFsKSB7CkBAIC0zMjIsOCArMzIyLDggQEAgRXhjZXB0
aW9uT3I8UmVmPFBheW1lbnRSZXF1ZXN0Pj4gUGF5bWVudFJlcXVlc3Q6OmNyZWF0ZShEb2N1bWVu
dCYgZG9jdW1lbnQsIFZlY3QKICAgICBzZXJpYWxpemVkTWV0aG9kRGF0YS5yZXNlcnZlSW5pdGlh
bENhcGFjaXR5KG1ldGhvZERhdGEuc2l6ZSgpKTsKICAgICBmb3IgKGF1dG8mIHBheW1lbnRNZXRo
b2QgOiBtZXRob2REYXRhKSB7CiAgICAgICAgIGF1dG8gaWRlbnRpZmllciA9IGNvbnZlcnRBbmRW
YWxpZGF0ZVBheW1lbnRNZXRob2RJZGVudGlmaWVyKHBheW1lbnRNZXRob2Quc3VwcG9ydGVkTWV0
aG9kcyk7Ci0gICAgICAgIGlmICghaWRlbnRpZmllcikKLSAgICAgICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBSYW5nZUVycm9yLCBtYWtlU3RyaW5nKCJcIiIsIHBheW1lbnRNZXRob2Quc3VwcG9y
dGVkTWV0aG9kcywgIlwiIGlzIGFuIGludmFsaWQgcGF5bWVudCBtZXRob2QgaWRlbnRpZmllci4i
KSB9OworICAgICAgICBpZiAoaWRlbnRpZmllci5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAg
IHJldHVybiBpZGVudGlmaWVyLnJlbGVhc2VFeGNlcHRpb24oKTsKIAogICAgICAgICBTdHJpbmcg
c2VyaWFsaXplZERhdGE7CiAgICAgICAgIGlmIChwYXltZW50TWV0aG9kLmRhdGEpIHsKQEAgLTMz
Miw3ICszMzIsNyBAQCBFeGNlcHRpb25PcjxSZWY8UGF5bWVudFJlcXVlc3Q+PiBQYXltZW50UmVx
dWVzdDo6Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgVmVjdAogICAgICAgICAgICAgaWYgKHNj
b3BlLmV4Y2VwdGlvbigpKQogICAgICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBFeGlz
dGluZ0V4Y2VwdGlvbkVycm9yIH07CiAgICAgICAgIH0KLSAgICAgICAgc2VyaWFsaXplZE1ldGhv
ZERhdGEudW5jaGVja2VkQXBwZW5kKHsgV1RGTW92ZSgqaWRlbnRpZmllciksIFdURk1vdmUoc2Vy
aWFsaXplZERhdGEpIH0pOworICAgICAgICBzZXJpYWxpemVkTWV0aG9kRGF0YS51bmNoZWNrZWRB
cHBlbmQoeyBpZGVudGlmaWVyLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBXVEZNb3ZlKHNlcmlhbGl6
ZWREYXRhKSB9KTsKICAgICB9CiAKICAgICBhdXRvIHRvdGFsUmVzdWx0ID0gY2hlY2tBbmRDYW5v
bmljYWxpemVUb3RhbChkZXRhaWxzLnRvdGFsLmFtb3VudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKaW5kZXggZTNi
ZDdlNTMyY2YyM2YyNTc2NjY1NGUxMGMzNDVkY2JjYzM0MDg3Mi4uYjcxOTM1YTJhYTgzYjJiMTEz
NmRhNjFhODY5ODU4MThmMTllNTlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaApAQCAtMTM4LDcgKzEzOCw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2lzVXBkYXRpbmcgeyBmYWxzZSB9OwogfTsKIAotc3RkOjpv
cHRpb25hbDxQYXltZW50UmVxdWVzdDo6TWV0aG9kSWRlbnRpZmllcj4gY29udmVydEFuZFZhbGlk
YXRlUGF5bWVudE1ldGhvZElkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKTsKK0V4
Y2VwdGlvbk9yPFBheW1lbnRSZXF1ZXN0OjpNZXRob2RJZGVudGlmaWVyPiBjb252ZXJ0QW5kVmFs
aWRhdGVQYXltZW50TWV0aG9kSWRlbnRpZmllcihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpOwog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmlu
ZGV4IDlmNWFiZmU5YzYyOGMxNWVlNDEzYjU2NjA5ZGI5ZTc5NDkzYzFlZjguLjlhODlmN2ViNmU3
OTQzMzg0NTU5ZWNiODE3ZWFjYjVmMjg2OWYxODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE4LTA5LTI3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFw
cGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJbXBsZW1lbnQgTWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQubWV0aG9kTmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L01lcmNo
YW50VmFsaWRhdGlvbkV2ZW50L2NvbnN0cnVjdG9yLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAx
OC0wOS0yOSAgT3Jpb2wgQnJ1ZmF1ICA8b2JydWZhdUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtj
c3MtZ3JpZF0gUHJvcGVybHkgYWxpZ24gaXRlbXMgbmV4dCB0byBjb2xsYXBzZWQgdHJhY2tzIHdp
dGggZ3V0dGVycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQvY29uc3Ry
dWN0b3IuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQvY29u
c3RydWN0b3IuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDZhOWQyYTQ1MjIwMzU4MTQxZTZkZTdl
MDdkYmNkNTgzMDcyYTBkZTcuLmUzOTA3Mzk3NWFkY2QyZmUzYmYzYjQ4YzBjZjBmNzM1ZjZiMDA2
NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50L2NvbnN0cnVjdG9yLmh0
dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC9jb25zdHJ1
Y3Rvci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTUsMTAgKzUsOCBAQCBQQVNTIE1lcmNoYW50VmFs
aWRhdGlvbkV2ZW50IGNhbiBiZSBkaXNwYXRjaGVkLCBldmVuIGlmIG5vdCB0cnVzdGVkLgogUEFT
UyBNdXN0IGhhdmUgYSB2YWxpZGF0aW9uVVJMIElETCBhdHRyaWJ1dGUsIHdoaWNoIGlzIGluaXRp
YWxpemVkIHdpdGggdG8gdGhlIHZhbGlkYXRpb25VUkwgZGljdGlvbmFyeSB2YWx1ZS4gCiBQQVNT
IE11c3QgdGhyb3cgVHlwZUVycm9yIGlmIGluaXRpYWxpemVkIHdpdGggYW4gaW52YWxpZCBVUkwu
IAogUEFTUyBSZWxhdGl2ZSB2YWxpZGF0aW9uVVJMcyB1c2UgdGhlIGRvY3VtZW50IGFzIHRoZSBi
YXNlLiAKLUZBSUwgTXVzdCBoYXZlIGEgbWV0aG9kTmFtZSBJREwgYXR0cmlidXRlLCB3aGljaCBp
cyBpbml0aWFsaXplZCB3aXRoIHRvIHRoZSBtZXRob2ROYW1lIGRpY3Rpb25hcnkgdmFsdWUuIGFz
c2VydF9pZGxfYXR0cmlidXRlOiBwcm9wZXJ0eSAibWV0aG9kTmFtZSIgbm90IGZvdW5kIGluIHBy
b3RvdHlwZSBjaGFpbgotRkFJTCBXaGVuIG5vIG1ldGhvZE5hbWUgaXMgcGFzc2VkLCBtZXRob2RO
YW1lIGF0dHJpYnV0ZSBkZWZhdWx0cyB0byB0aGUgZW1wdHkgc3RyaW5nIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIChzdHJpbmcpICIiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlM
IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIHZhbGlkIFBN
SXMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgImh0dHBzOi8vZXhhbXBsZS5jb20v
cGF5IiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBNZXJjaGFudFZhbGlkYXRp
b25FdmVudCBjYW4ndCBiZSBjb25zdHJ1Y3RlZCB3aXRoIGludmFsaWQgUE1JcyBhc3NlcnRfdGhy
b3dzOiBleHBlY3RlZCB0byB0aHJvdyB3aGVuIGNvbnN0cnVjdGVkIHdpdGggaW52YWxpZCBQTUk6
ICdiYXNpYy3wn5KzJyBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgICBjb25zdCBldmVudCA9IG5l
dyBNZXJjaGFudFZhbGlkYXRpb25FdmVudCgidGVzdCIsIHsgbWV0aG9kTmFtZSB9KTsKLSAgICAg
IH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgTXVzdCBoYXZlIGEgbWV0aG9kTmFtZSBJREwgYXR0cmli
dXRlLCB3aGljaCBpcyBpbml0aWFsaXplZCB3aXRoIHRvIHRoZSBtZXRob2ROYW1lIGRpY3Rpb25h
cnkgdmFsdWUuIAorUEFTUyBXaGVuIG5vIG1ldGhvZE5hbWUgaXMgcGFzc2VkLCBtZXRob2ROYW1l
IGF0dHJpYnV0ZSBkZWZhdWx0cyB0byB0aGUgZW1wdHkgc3RyaW5nIAorUEFTUyBNZXJjaGFudFZh
bGlkYXRpb25FdmVudCBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCB2YWxpZCBQTUlzIAorUEFTUyBN
ZXJjaGFudFZhbGlkYXRpb25FdmVudCBjYW4ndCBiZSBjb25zdHJ1Y3RlZCB3aXRoIGludmFsaWQg
UE1JcyAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351260</attachid>
            <date>2018-10-01 10:32:10 -0700</date>
            <delta_ts>2018-10-01 11:27:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190058-20181001103209.patch</filename>
            <type>text/plain</type>
            <size>15337</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWJjN2M4ODY2MmRlZTVm
YjliMzY1NjMyODIxODhkMDMzZjJmYWJlNy4uZTA1NGJiZmNiNDY3NzE5YTMxODRmMTEwNWU4MjVh
YzliZTg0OGQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTA5LTI3ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJ
bXBsZW1lbnQgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQubWV0aG9kTmFtZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMDU4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQncyBtZXRob2ROYW1lIGF0dHJpYnV0ZSBhbmQgTWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnRJbml0J3MKKyAgICAgICAgbWV0aG9kTmFtZSBwcm9wZXJ0eSBhcyBzcGVjaWZpZWQgaW4g
dGhlIFBheW1lbnQgUmVxdWVzdCBBUEkgVzNDIEVkaXRvcidzIERyYWZ0IG9mCisgICAgICAgIDI3
IFNlcHRlbWJlciAyMDE4LgorCisgICAgICAgIENvdmVyZWQgYnkgd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC9jb25zdHJ1Y3Rvci5odHRw
cy5odG1sLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheVBheW1lbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVu
dEhhbmRsZXI6OnZhbGlkYXRlTWVyY2hhbnQpOiBQYXNzZWQgdGhlIHBheW1lbnQgbWV0aG9kIGlk
ZW50aWZpZXIKKyAgICAgICAgKGFzIGEgc3RyaW5nKSB0byBNZXJjaGFudFZhbGlkYXRpb25FdmVu
dDo6Y3JlYXRlKCkKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50OjpjcmVhdGUpOiBWYWxpZGF0ZWQgdGhlIG1ldGhvZE5hbWUgYmVmb3JlIGNvbnN0cnVjdGlu
ZyB0aGUKKyAgICAgICAgZXZlbnQsIHRocm93aW5nIGEgUmFuZ2VFcnJvciBvbiBmYWlsdXJlLgor
ICAgICAgICAoV2ViQ29yZTo6TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6Ok1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5pZGw6CisKIDIwMTgtMDktMjkgIE9yaW9sIEJydWZhdSAgPG9icnVm
YXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWdyaWRdIFByb3Blcmx5IGFsaWduIGl0ZW1z
IG5leHQgdG8gY29sbGFwc2VkIHRyYWNrcyB3aXRoIGd1dHRlcnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50
SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1
ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCmluZGV4IDhmNTc1MDA4MDk0MjA2OGE2Yzg4
NWI3NWNjNGZiMTJmYTY4M2JiNGYuLjAwYTE3MzJiYjRlMGI4YTFhOTg1YjE5YmEzOGEzYzkxNDA0
ZmYzYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVu
dHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNw
cApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1
ZXN0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisj
aW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkpT
QXBwbGVQYXlFcnJvci5oIgogI2luY2x1ZGUgIkpTQXBwbGVQYXlQYXltZW50LmgiCkBAIC0yNzIs
NyArMjczLDcgQEAgRXhjZXB0aW9uT3I8QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlRv
dGFsQW5kTGluZUl0ZW1zPiBBcHBsZVBheVBheW1lbnRIYW4KICAgICBBU1NFUlQobW9kaWZpZXJz
LnNpemUoKSA9PSBzZXJpYWxpemVkTW9kaWZpZXJEYXRhLnNpemUoKSk7CiAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBtb2RpZmllcnMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgYXV0byBjb252
ZXJ0ZWRJZGVudGlmaWVyID0gY29udmVydEFuZFZhbGlkYXRlUGF5bWVudE1ldGhvZElkZW50aWZp
ZXIobW9kaWZpZXJzW2ldLnN1cHBvcnRlZE1ldGhvZHMpOwotICAgICAgICBpZiAoIWNvbnZlcnRl
ZElkZW50aWZpZXIgfHwgIWhhbmRsZXNJZGVudGlmaWVyKCpjb252ZXJ0ZWRJZGVudGlmaWVyKSkK
KyAgICAgICAgaWYgKGNvbnZlcnRlZElkZW50aWZpZXIuaGFzRXhjZXB0aW9uKCkgfHwgIWhhbmRs
ZXNJZGVudGlmaWVyKGNvbnZlcnRlZElkZW50aWZpZXIucmVsZWFzZVJldHVyblZhbHVlKCkpKQog
ICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgaWYgKHNlcmlhbGl6ZWRNb2RpZmllckRh
dGFbaV0uaXNFbXB0eSgpKQpAQCAtNDgzLDcgKzQ4NCw3IEBAIHVuc2lnbmVkIEFwcGxlUGF5UGF5
bWVudEhhbmRsZXI6OnZlcnNpb24oKSBjb25zdAogdm9pZCBBcHBsZVBheVBheW1lbnRIYW5kbGVy
Ojp2YWxpZGF0ZU1lcmNoYW50KFVSTCYmIHZhbGlkYXRpb25VUkwpCiB7CiAgICAgaWYgKHZhbGlk
YXRpb25VUkwuaXNWYWxpZCgpKQotICAgICAgICBtX3BheW1lbnRSZXF1ZXN0LT5kaXNwYXRjaEV2
ZW50KE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLm1lcmNoYW50
dmFsaWRhdGlvbkV2ZW50LCBXVEZNb3ZlKHZhbGlkYXRpb25VUkwpKS5nZXQoKSk7CisgICAgICAg
IG1fcGF5bWVudFJlcXVlc3QtPmRpc3BhdGNoRXZlbnQoTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkubWVyY2hhbnR2YWxpZGF0aW9uRXZlbnQsIFdURjo6Z2V0PFVS
TD4obV9pZGVudGlmaWVyKS5zdHJpbmcoKSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSkuZ2V0KCkp
OwogfQogCiBzdGF0aWMgUmVmPFBheW1lbnRBZGRyZXNzPiBjb252ZXJ0KGNvbnN0IEFwcGxlUGF5
UGF5bWVudENvbnRhY3QmIGNvbnRhY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3Bw
CmluZGV4IDQwZjU3MzE0MzY4NTI0OTczMTkzYmI2N2I0NjY4OGE4Mjg1MGIxNDguLjU3OTMxYjQz
MTlmNjQyNjQzOWRmZTMzYWM1MTk0OTY1NGMzOTg3ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQuY3BwCkBAIC0zMyw5ICszMyw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
UmVmPE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50PiBNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6Y3Jl
YXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgVVJMJiYgdmFsaWRhdGlvblVSTCkKK1JlZjxN
ZXJjaGFudFZhbGlkYXRpb25FdmVudD4gTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OmNyZWF0ZShj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgbWV0aG9kTmFtZSwgVVJMJiYg
dmFsaWRhdGlvblVSTCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZXJjaGFudFZhbGlk
YXRpb25FdmVudCh0eXBlLCBXVEZNb3ZlKHZhbGlkYXRpb25VUkwpKSk7CisgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQodHlwZSwgbWV0aG9kTmFtZSwgV1RG
TW92ZSh2YWxpZGF0aW9uVVJMKSkpOwogfQogCiBFeGNlcHRpb25PcjxSZWY8TWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQ+PiBNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6Y3JlYXRlKERvY3VtZW50JiBk
b2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBJbml0JiYgZXZlbnRJbml0KQpAQCAt
NDQsMTkgKzQ0LDI4IEBAIEV4Y2VwdGlvbk9yPFJlZjxNZXJjaGFudFZhbGlkYXRpb25FdmVudD4+
IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVhdGUoRG9jdW1lCiAgICAgaWYgKCF2YWxpZGF0
aW9uVVJMLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9
OwogCi0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQodHlw
ZSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSwgV1RGTW92ZShldmVudEluaXQpKSk7CisgICAgYXV0
byBtZXRob2ROYW1lID0gV1RGTW92ZShldmVudEluaXQubWV0aG9kTmFtZSk7CisgICAgaWYgKCFt
ZXRob2ROYW1lLmlzRW1wdHkoKSkgeworICAgICAgICBhdXRvIHZhbGlkYXRlZE1ldGhvZE5hbWUg
PSBjb252ZXJ0QW5kVmFsaWRhdGVQYXltZW50TWV0aG9kSWRlbnRpZmllcihtZXRob2ROYW1lKTsK
KyAgICAgICAgaWYgKHZhbGlkYXRlZE1ldGhvZE5hbWUuaGFzRXhjZXB0aW9uKCkpCisgICAgICAg
ICAgICByZXR1cm4gdmFsaWRhdGVkTWV0aG9kTmFtZS5yZWxlYXNlRXhjZXB0aW9uKCk7CisgICAg
fQorCisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQodHlw
ZSwgV1RGTW92ZShtZXRob2ROYW1lKSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSwgV1RGTW92ZShl
dmVudEluaXQpKSk7CiB9CiAKLU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpNZXJjaGFudFZhbGlk
YXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFVSTCYmIHZhbGlkYXRpb25VUkwp
CitNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQoY29uc3Qg
QXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIG1ldGhvZE5hbWUsIFVSTCYmIHZhbGlk
YXRpb25VUkwpCiAgICAgOiBFdmVudCB7IHR5cGUsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVu
dDo6SXNDYW5jZWxhYmxlOjpObyB9CisgICAgLCBtX21ldGhvZE5hbWUgeyBtZXRob2ROYW1lIH0K
ICAgICAsIG1fdmFsaWRhdGlvblVSTCB7IFdURk1vdmUodmFsaWRhdGlvblVSTCkgfQogewogICAg
IEFTU0VSVChpc1RydXN0ZWQoKSk7CiAgICAgQVNTRVJUKG1fdmFsaWRhdGlvblVSTC5pc1ZhbGlk
KCkpOwogfQogCi1NZXJjaGFudFZhbGlkYXRpb25FdmVudDo6TWVyY2hhbnRWYWxpZGF0aW9uRXZl
bnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBVUkwmJiB2YWxpZGF0aW9uVVJMLCBJbml0JiYg
ZXZlbnRJbml0KQorTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6Ok1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgU3RyaW5nJiYgbWV0aG9kTmFtZSwgVVJMJiYg
dmFsaWRhdGlvblVSTCwgSW5pdCYmIGV2ZW50SW5pdCkKICAgICA6IEV2ZW50IHsgdHlwZSwgV1RG
TW92ZShldmVudEluaXQpLCBJc1RydXN0ZWQ6Ok5vIH0KKyAgICAsIG1fbWV0aG9kTmFtZSB7IFdU
Rk1vdmUobWV0aG9kTmFtZSkgfQogICAgICwgbV92YWxpZGF0aW9uVVJMIHsgV1RGTW92ZSh2YWxp
ZGF0aW9uVVJMKSB9CiB7CiAgICAgQVNTRVJUKCFpc1RydXN0ZWQoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50LmgKaW5kZXggYjA5M2QzYTVmZmM5NTY3MTJlYzkxMGQ0Y2ZhMTIyNzFlMjhh
OWJhYS4uOWY2ZDA2NmY1YmUwYmQ3YjY1OWEwM2I5Mzg3MzBmMTcwODhiZjM3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRp
b25FdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQuaApAQCAtMzgsMjMgKzM4LDI2IEBAIGNsYXNzIERvY3VtZW50
OwogY2xhc3MgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQgZmluYWwgOiBwdWJsaWMgRXZlbnQgewog
cHVibGljOgogICAgIHN0cnVjdCBJbml0IGZpbmFsIDogRXZlbnRJbml0IHsKKyAgICAgICAgU3Ry
aW5nIG1ldGhvZE5hbWU7CiAgICAgICAgIFN0cmluZyB2YWxpZGF0aW9uVVJMOwogICAgIH07CiAK
LSAgICBzdGF0aWMgUmVmPE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50PiBjcmVhdGUoY29uc3QgQXRv
bWljU3RyaW5nJiwgVVJMJiYpOwotICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8TWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQ+PiBjcmVhdGUoRG9jdW1lbnQmLCBjb25zdCBBdG9taWNTdHJpbmcmLCBJ
bml0JiYpOworICAgIHN0YXRpYyBSZWY8TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+IGNyZWF0ZShj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgbWV0aG9kTmFtZSwgVVJMJiYg
dmFsaWRhdGlvblVSTCk7CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxNZXJjaGFudFZhbGlk
YXRpb25FdmVudD4+IGNyZWF0ZShEb2N1bWVudCYsIGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwg
SW5pdCYmKTsKIAorICAgIGNvbnN0IFN0cmluZyYgbWV0aG9kTmFtZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbWV0aG9kTmFtZTsgfQogICAgIGNvbnN0IFN0cmluZyYgdmFsaWRhdGlvblVSTCgpIGNvbnN0
IHsgcmV0dXJuIG1fdmFsaWRhdGlvblVSTC5zdHJpbmcoKTsgfQogICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IGNvbXBsZXRlKFJlZjxET01Qcm9taXNlPiYmKTsKIAogcHJpdmF0ZToKLSAgICBNZXJjaGFu
dFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBVUkwmJik7Ci0gICAgTWVyY2hh
bnRWYWxpZGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiwgVVJMJiYsIEluaXQmJik7Cisg
ICAgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25z
dCBTdHJpbmcmIG1ldGhvZE5hbWUsIFVSTCYmIHZhbGlkYXRpb25VUkwpOworICAgIE1lcmNoYW50
VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgU3RyaW5nJiYgbWV0aG9k
TmFtZSwgVVJMJiYgdmFsaWRhdGlvblVSTCwgSW5pdCYmKTsKIAogICAgIC8vIEV2ZW50CiAgICAg
RXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKIAogICAgIGJvb2wg
bV9pc0NvbXBsZXRlZCB7IGZhbHNlIH07CisgICAgU3RyaW5nIG1fbWV0aG9kTmFtZTsKICAgICBV
UkwgbV92YWxpZGF0aW9uVVJMOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmlk
bAppbmRleCA3YzJiZGIyYzU4NjE5NmVjMmU5ZTlmNmNlNjM4MjMzYThkNzQ3ZGEzLi45OWE3NTEy
MDRmZmI2ZTA3OTFiZDE5MDRhNjcyOTBlMTgxODk4Yzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRh
dGlvbkV2ZW50LmlkbApAQCAtMzIsMTIgKzMyLDE0IEBACiAgICAgRXhwb3NlZD1XaW5kb3csCiAg
ICAgU2VjdXJlQ29udGV4dCwKIF0gaW50ZXJmYWNlIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IDog
RXZlbnQgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsaWRhdGlvblVSTDsK
KyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1ldGhvZE5hbWU7CisgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFVTVlN0cmluZyB2YWxpZGF0aW9uVVJMOwogICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBjb21wbGV0ZShQcm9taXNlPGFueT4gbWVyY2hhbnRTZXNzaW9uUHJvbWlzZSk7
CiB9OwogCiBbCiAgICAgQ29uZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNULAogXSBkaWN0aW9uYXJ5
IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CisgICAgRE9NU3RyaW5n
IG1ldGhvZE5hbWUgPSAiIjsKICAgICBVU1ZTdHJpbmcgdmFsaWRhdGlvblVSTCA9ICIiOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVu
dFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXlt
ZW50UmVxdWVzdC5jcHAKaW5kZXggNDM5ODBjZmIyMGEzZDhjZTg5YTMyOTQ1OTg5ZTdhMmRjNGVj
MDU2Mi4uYjBmZGUxNTE0OTlmNzUwODdhNDNkZjY1YjY0M2IxMzdiZDI1Y2I1YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVx
dWVzdC5jcHAKQEAgLTIyNCwxOSArMjI0LDE5IEBAIHN0YXRpYyBib29sIGlzVmFsaWRVUkxCYXNl
ZFBheW1lbnRNZXRob2RJZGVudGlmaWVyKGNvbnN0IFVSTCYgdXJsKQogCiAvLyBJbXBsZW1lbnRz
ICJ2YWxpZGF0ZSBhIHBheW1lbnQgbWV0aG9kIGlkZW50aWZpZXIiCiAvLyBodHRwczovL3d3dy53
My5vcmcvVFIvcGF5bWVudC1tZXRob2QtaWQvI3ZhbGlkaXR5Ci1zdGQ6Om9wdGlvbmFsPFBheW1l
bnRSZXF1ZXN0OjpNZXRob2RJZGVudGlmaWVyPiBjb252ZXJ0QW5kVmFsaWRhdGVQYXltZW50TWV0
aG9kSWRlbnRpZmllcihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpCitFeGNlcHRpb25PcjxQYXlt
ZW50UmVxdWVzdDo6TWV0aG9kSWRlbnRpZmllcj4gY29udmVydEFuZFZhbGlkYXRlUGF5bWVudE1l
dGhvZElkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKQogewogICAgIFVSTCB1cmwg
eyBVUkwoKSwgaWRlbnRpZmllciB9OwogICAgIGlmICghdXJsLmlzVmFsaWQoKSkgewogICAgICAg
ICBpZiAoaXNWYWxpZFN0YW5kYXJkaXplZFBheW1lbnRNZXRob2RJZGVudGlmaWVyKGlkZW50aWZp
ZXIpKQotICAgICAgICAgICAgcmV0dXJuIHsgaWRlbnRpZmllciB9OwotICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworICAgICAgICAgICAgcmV0dXJuIFBheW1lbnRSZXF1ZXN0OjpNZXRob2RJ
ZGVudGlmaWVyIHsgaWRlbnRpZmllciB9OworICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgUmFu
Z2VFcnJvciwgbWFrZVN0cmluZygnIicsIGlkZW50aWZpZXIsICJcIiBpcyBhbiBpbnZhbGlkIHBh
eW1lbnQgbWV0aG9kIGlkZW50aWZpZXIuIikgfTsKICAgICB9CiAKICAgICBpZiAoaXNWYWxpZFVS
TEJhc2VkUGF5bWVudE1ldGhvZElkZW50aWZpZXIodXJsKSkKLSAgICAgICAgcmV0dXJuIHsgV1RG
TW92ZSh1cmwpIH07CisgICAgICAgIHJldHVybiBQYXltZW50UmVxdWVzdDo6TWV0aG9kSWRlbnRp
ZmllciB7IFdURk1vdmUodXJsKSB9OwogCi0gICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgUmFuZ2VFcnJvciwgbWFrZVN0cmluZygnIicsIGlkZW50aWZpZXIs
ICJcIiBpcyBhbiBpbnZhbGlkIHBheW1lbnQgbWV0aG9kIGlkZW50aWZpZXIuIikgfTsKIH0KIAog
ZW51bSBjbGFzcyBTaG91bGRWYWxpZGF0ZVBheW1lbnRNZXRob2RJZGVudGlmaWVyIHsKQEAgLTI3
NCw4ICsyNzQsOCBAQCBzdGF0aWMgRXhjZXB0aW9uT3I8c3RkOjp0dXBsZTxTdHJpbmcsIFZlY3Rv
cjxTdHJpbmc+Pj4gY2hlY2tBbmRDYW5vbmljYWxpemVEZXRhaQogICAgIGZvciAoYXV0byYgbW9k
aWZpZXIgOiBkZXRhaWxzLm1vZGlmaWVycykgewogICAgICAgICBpZiAoc2hvdWxkVmFsaWRhdGVQ
YXltZW50TWV0aG9kSWRlbnRpZmllciA9PSBTaG91bGRWYWxpZGF0ZVBheW1lbnRNZXRob2RJZGVu
dGlmaWVyOjpZZXMpIHsKICAgICAgICAgICAgIGF1dG8gcGF5bWVudE1ldGhvZElkZW50aWZpZXIg
PSBjb252ZXJ0QW5kVmFsaWRhdGVQYXltZW50TWV0aG9kSWRlbnRpZmllcihtb2RpZmllci5zdXBw
b3J0ZWRNZXRob2RzKTsKLSAgICAgICAgICAgIGlmICghcGF5bWVudE1ldGhvZElkZW50aWZpZXIp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFJhbmdlRXJyb3IsIG1ha2VTdHJp
bmcoIlwiIiwgbW9kaWZpZXIuc3VwcG9ydGVkTWV0aG9kcywgIlwiIGlzIGFuIGludmFsaWQgcGF5
bWVudCBtZXRob2QgaWRlbnRpZmllci4iKSB9OworICAgICAgICAgICAgaWYgKHBheW1lbnRNZXRo
b2RJZGVudGlmaWVyLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgICAgIHJldHVybiBwYXlt
ZW50TWV0aG9kSWRlbnRpZmllci5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAgICAgIH0KIAogICAg
ICAgICBpZiAobW9kaWZpZXIudG90YWwpIHsKQEAgLTMyMiw4ICszMjIsOCBAQCBFeGNlcHRpb25P
cjxSZWY8UGF5bWVudFJlcXVlc3Q+PiBQYXltZW50UmVxdWVzdDo6Y3JlYXRlKERvY3VtZW50JiBk
b2N1bWVudCwgVmVjdAogICAgIHNlcmlhbGl6ZWRNZXRob2REYXRhLnJlc2VydmVJbml0aWFsQ2Fw
YWNpdHkobWV0aG9kRGF0YS5zaXplKCkpOwogICAgIGZvciAoYXV0byYgcGF5bWVudE1ldGhvZCA6
IG1ldGhvZERhdGEpIHsKICAgICAgICAgYXV0byBpZGVudGlmaWVyID0gY29udmVydEFuZFZhbGlk
YXRlUGF5bWVudE1ldGhvZElkZW50aWZpZXIocGF5bWVudE1ldGhvZC5zdXBwb3J0ZWRNZXRob2Rz
KTsKLSAgICAgICAgaWYgKCFpZGVudGlmaWVyKQotICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IFJhbmdlRXJyb3IsIG1ha2VTdHJpbmcoIlwiIiwgcGF5bWVudE1ldGhvZC5zdXBwb3J0ZWRN
ZXRob2RzLCAiXCIgaXMgYW4gaW52YWxpZCBwYXltZW50IG1ldGhvZCBpZGVudGlmaWVyLiIpIH07
CisgICAgICAgIGlmIChpZGVudGlmaWVyLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0
dXJuIGlkZW50aWZpZXIucmVsZWFzZUV4Y2VwdGlvbigpOwogCiAgICAgICAgIFN0cmluZyBzZXJp
YWxpemVkRGF0YTsKICAgICAgICAgaWYgKHBheW1lbnRNZXRob2QuZGF0YSkgewpAQCAtMzMyLDcg
KzMzMiw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxQYXltZW50UmVxdWVzdD4+IFBheW1lbnRSZXF1ZXN0
OjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBWZWN0CiAgICAgICAgICAgICBpZiAoc2NvcGUu
ZXhjZXB0aW9uKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEV4aXN0aW5n
RXhjZXB0aW9uRXJyb3IgfTsKICAgICAgICAgfQotICAgICAgICBzZXJpYWxpemVkTWV0aG9kRGF0
YS51bmNoZWNrZWRBcHBlbmQoeyBXVEZNb3ZlKCppZGVudGlmaWVyKSwgV1RGTW92ZShzZXJpYWxp
emVkRGF0YSkgfSk7CisgICAgICAgIHNlcmlhbGl6ZWRNZXRob2REYXRhLnVuY2hlY2tlZEFwcGVu
ZCh7IGlkZW50aWZpZXIucmVsZWFzZVJldHVyblZhbHVlKCksIFdURk1vdmUoc2VyaWFsaXplZERh
dGEpIH0pOwogICAgIH0KIAogICAgIGF1dG8gdG90YWxSZXN1bHQgPSBjaGVja0FuZENhbm9uaWNh
bGl6ZVRvdGFsKGRldGFpbHMudG90YWwuYW1vdW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaAppbmRleCBlM2JkN2U1
MzJjZjIzZjI1NzY2NjU0ZTEwYzM0NWRjYmNjMzQwODcyLi5iNzE5MzVhMmFhODNiMmIxMTM2ZGE2
MWE4Njk4NTgxOGYxOWU1OWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCkBAIC0xMzgsNyArMTM4LDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faXNVcGRhdGluZyB7IGZhbHNlIH07CiB9OwogCi1zdGQ6Om9wdGlv
bmFsPFBheW1lbnRSZXF1ZXN0OjpNZXRob2RJZGVudGlmaWVyPiBjb252ZXJ0QW5kVmFsaWRhdGVQ
YXltZW50TWV0aG9kSWRlbnRpZmllcihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpOworRXhjZXB0
aW9uT3I8UGF5bWVudFJlcXVlc3Q6Ok1ldGhvZElkZW50aWZpZXI+IGNvbnZlcnRBbmRWYWxpZGF0
ZVBheW1lbnRNZXRob2RJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcik7CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXgg
OWY1YWJmZTljNjI4YzE1ZWU0MTNiNTY2MDlkYjllNzk0OTNjMWVmOC4uOWE4OWY3ZWI2ZTc5NDMz
ODQ1NTllY2I4MTdlYWNiNWYyODY5ZjE4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMTgtMDktMjcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUu
Y29tPgorCisgICAgICAgIFtQYXltZW50IFJlcXVlc3RdIEltcGxlbWVudCBNZXJjaGFudFZhbGlk
YXRpb25FdmVudC5tZXRob2ROYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTAwNTgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
KworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvTWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQvY29uc3RydWN0b3IuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDE4LTA5
LTI5ICBPcmlvbCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1n
cmlkXSBQcm9wZXJseSBhbGlnbiBpdGVtcyBuZXh0IHRvIGNvbGxhcHNlZCB0cmFja3Mgd2l0aCBn
dXR0ZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC9jb25zdHJ1Y3Rv
ci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC9jb25zdHJ1
Y3Rvci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNmE5ZDJhNDUyMjAzNTgxNDFlNmRlN2UwN2Ri
Y2Q1ODMwNzJhMGRlNy4uZTM5MDczOTc1YWRjZDJmZTNiZjNiNDhjMGNmMGY3MzVmNmIwMDY2NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQvY29uc3RydWN0b3IuaHR0cHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50L2NvbnN0cnVjdG9y
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNSwxMCArNSw4IEBAIFBBU1MgTWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQgY2FuIGJlIGRpc3BhdGNoZWQsIGV2ZW4gaWYgbm90IHRydXN0ZWQuCiBQQVNTIE11
c3QgaGF2ZSBhIHZhbGlkYXRpb25VUkwgSURMIGF0dHJpYnV0ZSwgd2hpY2ggaXMgaW5pdGlhbGl6
ZWQgd2l0aCB0byB0aGUgdmFsaWRhdGlvblVSTCBkaWN0aW9uYXJ5IHZhbHVlLiAKIFBBU1MgTXVz
dCB0aHJvdyBUeXBlRXJyb3IgaWYgaW5pdGlhbGl6ZWQgd2l0aCBhbiBpbnZhbGlkIFVSTC4gCiBQ
QVNTIFJlbGF0aXZlIHZhbGlkYXRpb25VUkxzIHVzZSB0aGUgZG9jdW1lbnQgYXMgdGhlIGJhc2Uu
IAotRkFJTCBNdXN0IGhhdmUgYSBtZXRob2ROYW1lIElETCBhdHRyaWJ1dGUsIHdoaWNoIGlzIGlu
aXRpYWxpemVkIHdpdGggdG8gdGhlIG1ldGhvZE5hbWUgZGljdGlvbmFyeSB2YWx1ZS4gYXNzZXJ0
X2lkbF9hdHRyaWJ1dGU6IHByb3BlcnR5ICJtZXRob2ROYW1lIiBub3QgZm91bmQgaW4gcHJvdG90
eXBlIGNoYWluCi1GQUlMIFdoZW4gbm8gbWV0aG9kTmFtZSBpcyBwYXNzZWQsIG1ldGhvZE5hbWUg
YXR0cmlidXRlIGRlZmF1bHRzIHRvIHRoZSBlbXB0eSBzdHJpbmcgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgKHN0cmluZykgIiIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgTWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggdmFsaWQgUE1JcyBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiaHR0cHM6Ly9leGFtcGxlLmNvbS9wYXki
IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIE1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50IGNhbid0IGJlIGNvbnN0cnVjdGVkIHdpdGggaW52YWxpZCBQTUlzIGFzc2VydF90aHJvd3M6
IGV4cGVjdGVkIHRvIHRocm93IHdoZW4gY29uc3RydWN0ZWQgd2l0aCBpbnZhbGlkIFBNSTogJ2Jh
c2ljLfCfkrMnIGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IE1l
cmNoYW50VmFsaWRhdGlvbkV2ZW50KCJ0ZXN0IiwgeyBtZXRob2ROYW1lIH0pOwotICAgICAgfSIg
ZGlkIG5vdCB0aHJvdworUEFTUyBNdXN0IGhhdmUgYSBtZXRob2ROYW1lIElETCBhdHRyaWJ1dGUs
IHdoaWNoIGlzIGluaXRpYWxpemVkIHdpdGggdG8gdGhlIG1ldGhvZE5hbWUgZGljdGlvbmFyeSB2
YWx1ZS4gCitQQVNTIFdoZW4gbm8gbWV0aG9kTmFtZSBpcyBwYXNzZWQsIG1ldGhvZE5hbWUgYXR0
cmlidXRlIGRlZmF1bHRzIHRvIHRoZSBlbXB0eSBzdHJpbmcgCitQQVNTIE1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIHZhbGlkIFBNSXMgCitQQVNTIE1lcmNo
YW50VmFsaWRhdGlvbkV2ZW50IGNhbid0IGJlIGNvbnN0cnVjdGVkIHdpdGggaW52YWxpZCBQTUlz
IAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351279</attachid>
            <date>2018-10-01 11:27:32 -0700</date>
            <delta_ts>2018-10-28 06:12:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190058-20181001112731.patch</filename>
            <type>text/plain</type>
            <size>15568</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWJjN2M4ODY2MmRlZTVm
YjliMzY1NjMyODIxODhkMDMzZjJmYWJlNy4uZTA1NGJiZmNiNDY3NzE5YTMxODRmMTEwNWU4MjVh
YzliZTg0OGQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTA5LTI3ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJ
bXBsZW1lbnQgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQubWV0aG9kTmFtZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMDU4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQncyBtZXRob2ROYW1lIGF0dHJpYnV0ZSBhbmQgTWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnRJbml0J3MKKyAgICAgICAgbWV0aG9kTmFtZSBwcm9wZXJ0eSBhcyBzcGVjaWZpZWQgaW4g
dGhlIFBheW1lbnQgUmVxdWVzdCBBUEkgVzNDIEVkaXRvcidzIERyYWZ0IG9mCisgICAgICAgIDI3
IFNlcHRlbWJlciAyMDE4LgorCisgICAgICAgIENvdmVyZWQgYnkgd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC9jb25zdHJ1Y3Rvci5odHRw
cy5odG1sLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheVBheW1lbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVu
dEhhbmRsZXI6OnZhbGlkYXRlTWVyY2hhbnQpOiBQYXNzZWQgdGhlIHBheW1lbnQgbWV0aG9kIGlk
ZW50aWZpZXIKKyAgICAgICAgKGFzIGEgc3RyaW5nKSB0byBNZXJjaGFudFZhbGlkYXRpb25FdmVu
dDo6Y3JlYXRlKCkKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50OjpjcmVhdGUpOiBWYWxpZGF0ZWQgdGhlIG1ldGhvZE5hbWUgYmVmb3JlIGNvbnN0cnVjdGlu
ZyB0aGUKKyAgICAgICAgZXZlbnQsIHRocm93aW5nIGEgUmFuZ2VFcnJvciBvbiBmYWlsdXJlLgor
ICAgICAgICAoV2ViQ29yZTo6TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6Ok1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5pZGw6CisKIDIwMTgtMDktMjkgIE9yaW9sIEJydWZhdSAgPG9icnVm
YXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWdyaWRdIFByb3Blcmx5IGFsaWduIGl0ZW1z
IG5leHQgdG8gY29sbGFwc2VkIHRyYWNrcyB3aXRoIGd1dHRlcnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50
SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1
ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCmluZGV4IDhmNTc1MDA4MDk0MjA2OGE2Yzg4
NWI3NWNjNGZiMTJmYTY4M2JiNGYuLjliNGEyMzJkNDZkNDEyNGU5MzBjMzgyZmExMjIxNmMxMTNi
Y2MzNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVu
dHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNw
cApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1
ZXN0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisj
aW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkpT
QXBwbGVQYXlFcnJvci5oIgogI2luY2x1ZGUgIkpTQXBwbGVQYXlQYXltZW50LmgiCkBAIC0yNzEs
OCArMjcyLDggQEAgRXhjZXB0aW9uT3I8QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlRv
dGFsQW5kTGluZUl0ZW1zPiBBcHBsZVBheVBheW1lbnRIYW4KICAgICBhdXRvJiBzZXJpYWxpemVk
TW9kaWZpZXJEYXRhID0gbV9wYXltZW50UmVxdWVzdC0+c2VyaWFsaXplZE1vZGlmaWVyRGF0YSgp
OwogICAgIEFTU0VSVChtb2RpZmllcnMuc2l6ZSgpID09IHNlcmlhbGl6ZWRNb2RpZmllckRhdGEu
c2l6ZSgpKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1vZGlmaWVycy5zaXplKCk7ICsr
aSkgewotICAgICAgICBhdXRvIGNvbnZlcnRlZElkZW50aWZpZXIgPSBjb252ZXJ0QW5kVmFsaWRh
dGVQYXltZW50TWV0aG9kSWRlbnRpZmllcihtb2RpZmllcnNbaV0uc3VwcG9ydGVkTWV0aG9kcyk7
Ci0gICAgICAgIGlmICghY29udmVydGVkSWRlbnRpZmllciB8fCAhaGFuZGxlc0lkZW50aWZpZXIo
KmNvbnZlcnRlZElkZW50aWZpZXIpKQorICAgICAgICBFeGNlcHRpb25PcjxQYXltZW50UmVxdWVz
dDo6TWV0aG9kSWRlbnRpZmllcj4gY29udmVydGVkSWRlbnRpZmllciA9IGNvbnZlcnRBbmRWYWxp
ZGF0ZVBheW1lbnRNZXRob2RJZGVudGlmaWVyKG1vZGlmaWVyc1tpXS5zdXBwb3J0ZWRNZXRob2Rz
KTsKKyAgICAgICAgaWYgKGNvbnZlcnRlZElkZW50aWZpZXIuaGFzRXhjZXB0aW9uKCkgfHwgIWhh
bmRsZXNJZGVudGlmaWVyKGNvbnZlcnRlZElkZW50aWZpZXIucmVsZWFzZVJldHVyblZhbHVlKCkp
KQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgaWYgKHNlcmlhbGl6ZWRNb2RpZmll
ckRhdGFbaV0uaXNFbXB0eSgpKQpAQCAtNDgzLDcgKzQ4NCw3IEBAIHVuc2lnbmVkIEFwcGxlUGF5
UGF5bWVudEhhbmRsZXI6OnZlcnNpb24oKSBjb25zdAogdm9pZCBBcHBsZVBheVBheW1lbnRIYW5k
bGVyOjp2YWxpZGF0ZU1lcmNoYW50KFVSTCYmIHZhbGlkYXRpb25VUkwpCiB7CiAgICAgaWYgKHZh
bGlkYXRpb25VUkwuaXNWYWxpZCgpKQotICAgICAgICBtX3BheW1lbnRSZXF1ZXN0LT5kaXNwYXRj
aEV2ZW50KE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLm1lcmNo
YW50dmFsaWRhdGlvbkV2ZW50LCBXVEZNb3ZlKHZhbGlkYXRpb25VUkwpKS5nZXQoKSk7CisgICAg
ICAgIG1fcGF5bWVudFJlcXVlc3QtPmRpc3BhdGNoRXZlbnQoTWVyY2hhbnRWYWxpZGF0aW9uRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkubWVyY2hhbnR2YWxpZGF0aW9uRXZlbnQsIFdURjo6Z2V0
PFVSTD4obV9pZGVudGlmaWVyKS5zdHJpbmcoKSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSkuZ2V0
KCkpOwogfQogCiBzdGF0aWMgUmVmPFBheW1lbnRBZGRyZXNzPiBjb252ZXJ0KGNvbnN0IEFwcGxl
UGF5UGF5bWVudENvbnRhY3QmIGNvbnRhY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQu
Y3BwCmluZGV4IDQwZjU3MzE0MzY4NTI0OTczMTkzYmI2N2I0NjY4OGE4Mjg1MGIxNDguLjU3OTMx
YjQzMTlmNjQyNjQzOWRmZTMzYWM1MTk0OTY1NGMzOTg3ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQuY3BwCkBAIC0zMyw5ICszMyw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotUmVmPE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50PiBNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6
Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgVVJMJiYgdmFsaWRhdGlvblVSTCkKK1Jl
ZjxNZXJjaGFudFZhbGlkYXRpb25FdmVudD4gTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OmNyZWF0
ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgbWV0aG9kTmFtZSwgVVJM
JiYgdmFsaWRhdGlvblVSTCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZXJjaGFudFZh
bGlkYXRpb25FdmVudCh0eXBlLCBXVEZNb3ZlKHZhbGlkYXRpb25VUkwpKSk7CisgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQodHlwZSwgbWV0aG9kTmFtZSwg
V1RGTW92ZSh2YWxpZGF0aW9uVVJMKSkpOwogfQogCiBFeGNlcHRpb25PcjxSZWY8TWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQ+PiBNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6Y3JlYXRlKERvY3VtZW50
JiBkb2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBJbml0JiYgZXZlbnRJbml0KQpA
QCAtNDQsMTkgKzQ0LDI4IEBAIEV4Y2VwdGlvbk9yPFJlZjxNZXJjaGFudFZhbGlkYXRpb25FdmVu
dD4+IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVhdGUoRG9jdW1lCiAgICAgaWYgKCF2YWxp
ZGF0aW9uVVJMLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJv
ciB9OwogCi0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQo
dHlwZSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSwgV1RGTW92ZShldmVudEluaXQpKSk7CisgICAg
YXV0byBtZXRob2ROYW1lID0gV1RGTW92ZShldmVudEluaXQubWV0aG9kTmFtZSk7CisgICAgaWYg
KCFtZXRob2ROYW1lLmlzRW1wdHkoKSkgeworICAgICAgICBhdXRvIHZhbGlkYXRlZE1ldGhvZE5h
bWUgPSBjb252ZXJ0QW5kVmFsaWRhdGVQYXltZW50TWV0aG9kSWRlbnRpZmllcihtZXRob2ROYW1l
KTsKKyAgICAgICAgaWYgKHZhbGlkYXRlZE1ldGhvZE5hbWUuaGFzRXhjZXB0aW9uKCkpCisgICAg
ICAgICAgICByZXR1cm4gdmFsaWRhdGVkTWV0aG9kTmFtZS5yZWxlYXNlRXhjZXB0aW9uKCk7Cisg
ICAgfQorCisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQo
dHlwZSwgV1RGTW92ZShtZXRob2ROYW1lKSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSwgV1RGTW92
ZShldmVudEluaXQpKSk7CiB9CiAKLU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpNZXJjaGFudFZh
bGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFVSTCYmIHZhbGlkYXRpb25V
UkwpCitNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIG1ldGhvZE5hbWUsIFVSTCYmIHZh
bGlkYXRpb25VUkwpCiAgICAgOiBFdmVudCB7IHR5cGUsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBF
dmVudDo6SXNDYW5jZWxhYmxlOjpObyB9CisgICAgLCBtX21ldGhvZE5hbWUgeyBtZXRob2ROYW1l
IH0KICAgICAsIG1fdmFsaWRhdGlvblVSTCB7IFdURk1vdmUodmFsaWRhdGlvblVSTCkgfQogewog
ICAgIEFTU0VSVChpc1RydXN0ZWQoKSk7CiAgICAgQVNTRVJUKG1fdmFsaWRhdGlvblVSTC5pc1Zh
bGlkKCkpOwogfQogCi1NZXJjaGFudFZhbGlkYXRpb25FdmVudDo6TWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBVUkwmJiB2YWxpZGF0aW9uVVJMLCBJbml0
JiYgZXZlbnRJbml0KQorTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6Ok1lcmNoYW50VmFsaWRhdGlv
bkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgU3RyaW5nJiYgbWV0aG9kTmFtZSwgVVJM
JiYgdmFsaWRhdGlvblVSTCwgSW5pdCYmIGV2ZW50SW5pdCkKICAgICA6IEV2ZW50IHsgdHlwZSwg
V1RGTW92ZShldmVudEluaXQpLCBJc1RydXN0ZWQ6Ok5vIH0KKyAgICAsIG1fbWV0aG9kTmFtZSB7
IFdURk1vdmUobWV0aG9kTmFtZSkgfQogICAgICwgbV92YWxpZGF0aW9uVVJMIHsgV1RGTW92ZSh2
YWxpZGF0aW9uVVJMKSB9CiB7CiAgICAgQVNTRVJUKCFpc1RydXN0ZWQoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlv
bkV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50
VmFsaWRhdGlvbkV2ZW50LmgKaW5kZXggYjA5M2QzYTVmZmM5NTY3MTJlYzkxMGQ0Y2ZhMTIyNzFl
MjhhOWJhYS4uOWY2ZDA2NmY1YmUwYmQ3YjY1OWEwM2I5Mzg3MzBmMTcwODhiZjM3NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlk
YXRpb25FdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3Qv
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaApAQCAtMzgsMjMgKzM4LDI2IEBAIGNsYXNzIERvY3Vt
ZW50OwogY2xhc3MgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQgZmluYWwgOiBwdWJsaWMgRXZlbnQg
ewogcHVibGljOgogICAgIHN0cnVjdCBJbml0IGZpbmFsIDogRXZlbnRJbml0IHsKKyAgICAgICAg
U3RyaW5nIG1ldGhvZE5hbWU7CiAgICAgICAgIFN0cmluZyB2YWxpZGF0aW9uVVJMOwogICAgIH07
CiAKLSAgICBzdGF0aWMgUmVmPE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50PiBjcmVhdGUoY29uc3Qg
QXRvbWljU3RyaW5nJiwgVVJMJiYpOwotICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8TWVyY2hh
bnRWYWxpZGF0aW9uRXZlbnQ+PiBjcmVhdGUoRG9jdW1lbnQmLCBjb25zdCBBdG9taWNTdHJpbmcm
LCBJbml0JiYpOworICAgIHN0YXRpYyBSZWY8TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+IGNyZWF0
ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgbWV0aG9kTmFtZSwgVVJM
JiYgdmFsaWRhdGlvblVSTCk7CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxNZXJjaGFudFZh
bGlkYXRpb25FdmVudD4+IGNyZWF0ZShEb2N1bWVudCYsIGNvbnN0IEF0b21pY1N0cmluZyYgdHlw
ZSwgSW5pdCYmKTsKIAorICAgIGNvbnN0IFN0cmluZyYgbWV0aG9kTmFtZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbWV0aG9kTmFtZTsgfQogICAgIGNvbnN0IFN0cmluZyYgdmFsaWRhdGlvblVSTCgpIGNv
bnN0IHsgcmV0dXJuIG1fdmFsaWRhdGlvblVSTC5zdHJpbmcoKTsgfQogICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IGNvbXBsZXRlKFJlZjxET01Qcm9taXNlPiYmKTsKIAogcHJpdmF0ZToKLSAgICBNZXJj
aGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBVUkwmJik7Ci0gICAgTWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiwgVVJMJiYsIEluaXQmJik7
CisgICAgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBj
b25zdCBTdHJpbmcmIG1ldGhvZE5hbWUsIFVSTCYmIHZhbGlkYXRpb25VUkwpOworICAgIE1lcmNo
YW50VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgU3RyaW5nJiYgbWV0
aG9kTmFtZSwgVVJMJiYgdmFsaWRhdGlvblVSTCwgSW5pdCYmKTsKIAogICAgIC8vIEV2ZW50CiAg
ICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKIAogICAgIGJv
b2wgbV9pc0NvbXBsZXRlZCB7IGZhbHNlIH07CisgICAgU3RyaW5nIG1fbWV0aG9kTmFtZTsKICAg
ICBVUkwgbV92YWxpZGF0aW9uVVJMOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50
LmlkbAppbmRleCA3YzJiZGIyYzU4NjE5NmVjMmU5ZTlmNmNlNjM4MjMzYThkNzQ3ZGEzLi45OWE3
NTEyMDRmZmI2ZTA3OTFiZDE5MDRhNjcyOTBlMTgxODk4Yzg4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50LmlkbApAQCAtMzIsMTIgKzMyLDE0IEBACiAgICAgRXhwb3NlZD1XaW5kb3cs
CiAgICAgU2VjdXJlQ29udGV4dCwKIF0gaW50ZXJmYWNlIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50
IDogRXZlbnQgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsaWRhdGlvblVS
TDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1ldGhvZE5hbWU7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyB2YWxpZGF0aW9uVVJMOwogICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBjb21wbGV0ZShQcm9taXNlPGFueT4gbWVyY2hhbnRTZXNzaW9uUHJvbWlz
ZSk7CiB9OwogCiBbCiAgICAgQ29uZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNULAogXSBkaWN0aW9u
YXJ5IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CisgICAgRE9NU3Ry
aW5nIG1ldGhvZE5hbWUgPSAiIjsKICAgICBVU1ZTdHJpbmcgdmFsaWRhdGlvblVSTCA9ICIiOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5
bWVudFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50UmVxdWVzdC5jcHAKaW5kZXggNDM5ODBjZmIyMGEzZDhjZTg5YTMyOTQ1OTg5ZTdhMmRj
NGVjMDU2Mi4uYjBmZGUxNTE0OTlmNzUwODdhNDNkZjY1YjY0M2IxMzdiZDI1Y2I1YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVz
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50
UmVxdWVzdC5jcHAKQEAgLTIyNCwxOSArMjI0LDE5IEBAIHN0YXRpYyBib29sIGlzVmFsaWRVUkxC
YXNlZFBheW1lbnRNZXRob2RJZGVudGlmaWVyKGNvbnN0IFVSTCYgdXJsKQogCiAvLyBJbXBsZW1l
bnRzICJ2YWxpZGF0ZSBhIHBheW1lbnQgbWV0aG9kIGlkZW50aWZpZXIiCiAvLyBodHRwczovL3d3
dy53My5vcmcvVFIvcGF5bWVudC1tZXRob2QtaWQvI3ZhbGlkaXR5Ci1zdGQ6Om9wdGlvbmFsPFBh
eW1lbnRSZXF1ZXN0OjpNZXRob2RJZGVudGlmaWVyPiBjb252ZXJ0QW5kVmFsaWRhdGVQYXltZW50
TWV0aG9kSWRlbnRpZmllcihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpCitFeGNlcHRpb25PcjxQ
YXltZW50UmVxdWVzdDo6TWV0aG9kSWRlbnRpZmllcj4gY29udmVydEFuZFZhbGlkYXRlUGF5bWVu
dE1ldGhvZElkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKQogewogICAgIFVSTCB1
cmwgeyBVUkwoKSwgaWRlbnRpZmllciB9OwogICAgIGlmICghdXJsLmlzVmFsaWQoKSkgewogICAg
ICAgICBpZiAoaXNWYWxpZFN0YW5kYXJkaXplZFBheW1lbnRNZXRob2RJZGVudGlmaWVyKGlkZW50
aWZpZXIpKQotICAgICAgICAgICAgcmV0dXJuIHsgaWRlbnRpZmllciB9OwotICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OworICAgICAgICAgICAgcmV0dXJuIFBheW1lbnRSZXF1ZXN0OjpNZXRo
b2RJZGVudGlmaWVyIHsgaWRlbnRpZmllciB9OworICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
UmFuZ2VFcnJvciwgbWFrZVN0cmluZygnIicsIGlkZW50aWZpZXIsICJcIiBpcyBhbiBpbnZhbGlk
IHBheW1lbnQgbWV0aG9kIGlkZW50aWZpZXIuIikgfTsKICAgICB9CiAKICAgICBpZiAoaXNWYWxp
ZFVSTEJhc2VkUGF5bWVudE1ldGhvZElkZW50aWZpZXIodXJsKSkKLSAgICAgICAgcmV0dXJuIHsg
V1RGTW92ZSh1cmwpIH07CisgICAgICAgIHJldHVybiBQYXltZW50UmVxdWVzdDo6TWV0aG9kSWRl
bnRpZmllciB7IFdURk1vdmUodXJsKSB9OwogCi0gICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAg
ICByZXR1cm4gRXhjZXB0aW9uIHsgUmFuZ2VFcnJvciwgbWFrZVN0cmluZygnIicsIGlkZW50aWZp
ZXIsICJcIiBpcyBhbiBpbnZhbGlkIHBheW1lbnQgbWV0aG9kIGlkZW50aWZpZXIuIikgfTsKIH0K
IAogZW51bSBjbGFzcyBTaG91bGRWYWxpZGF0ZVBheW1lbnRNZXRob2RJZGVudGlmaWVyIHsKQEAg
LTI3NCw4ICsyNzQsOCBAQCBzdGF0aWMgRXhjZXB0aW9uT3I8c3RkOjp0dXBsZTxTdHJpbmcsIFZl
Y3RvcjxTdHJpbmc+Pj4gY2hlY2tBbmRDYW5vbmljYWxpemVEZXRhaQogICAgIGZvciAoYXV0byYg
bW9kaWZpZXIgOiBkZXRhaWxzLm1vZGlmaWVycykgewogICAgICAgICBpZiAoc2hvdWxkVmFsaWRh
dGVQYXltZW50TWV0aG9kSWRlbnRpZmllciA9PSBTaG91bGRWYWxpZGF0ZVBheW1lbnRNZXRob2RJ
ZGVudGlmaWVyOjpZZXMpIHsKICAgICAgICAgICAgIGF1dG8gcGF5bWVudE1ldGhvZElkZW50aWZp
ZXIgPSBjb252ZXJ0QW5kVmFsaWRhdGVQYXltZW50TWV0aG9kSWRlbnRpZmllcihtb2RpZmllci5z
dXBwb3J0ZWRNZXRob2RzKTsKLSAgICAgICAgICAgIGlmICghcGF5bWVudE1ldGhvZElkZW50aWZp
ZXIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFJhbmdlRXJyb3IsIG1ha2VT
dHJpbmcoIlwiIiwgbW9kaWZpZXIuc3VwcG9ydGVkTWV0aG9kcywgIlwiIGlzIGFuIGludmFsaWQg
cGF5bWVudCBtZXRob2QgaWRlbnRpZmllci4iKSB9OworICAgICAgICAgICAgaWYgKHBheW1lbnRN
ZXRob2RJZGVudGlmaWVyLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgICAgIHJldHVybiBw
YXltZW50TWV0aG9kSWRlbnRpZmllci5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAgICAgIH0KIAog
ICAgICAgICBpZiAobW9kaWZpZXIudG90YWwpIHsKQEAgLTMyMiw4ICszMjIsOCBAQCBFeGNlcHRp
b25PcjxSZWY8UGF5bWVudFJlcXVlc3Q+PiBQYXltZW50UmVxdWVzdDo6Y3JlYXRlKERvY3VtZW50
JiBkb2N1bWVudCwgVmVjdAogICAgIHNlcmlhbGl6ZWRNZXRob2REYXRhLnJlc2VydmVJbml0aWFs
Q2FwYWNpdHkobWV0aG9kRGF0YS5zaXplKCkpOwogICAgIGZvciAoYXV0byYgcGF5bWVudE1ldGhv
ZCA6IG1ldGhvZERhdGEpIHsKICAgICAgICAgYXV0byBpZGVudGlmaWVyID0gY29udmVydEFuZFZh
bGlkYXRlUGF5bWVudE1ldGhvZElkZW50aWZpZXIocGF5bWVudE1ldGhvZC5zdXBwb3J0ZWRNZXRo
b2RzKTsKLSAgICAgICAgaWYgKCFpZGVudGlmaWVyKQotICAgICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IFJhbmdlRXJyb3IsIG1ha2VTdHJpbmcoIlwiIiwgcGF5bWVudE1ldGhvZC5zdXBwb3J0
ZWRNZXRob2RzLCAiXCIgaXMgYW4gaW52YWxpZCBwYXltZW50IG1ldGhvZCBpZGVudGlmaWVyLiIp
IH07CisgICAgICAgIGlmIChpZGVudGlmaWVyLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAg
cmV0dXJuIGlkZW50aWZpZXIucmVsZWFzZUV4Y2VwdGlvbigpOwogCiAgICAgICAgIFN0cmluZyBz
ZXJpYWxpemVkRGF0YTsKICAgICAgICAgaWYgKHBheW1lbnRNZXRob2QuZGF0YSkgewpAQCAtMzMy
LDcgKzMzMiw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxQYXltZW50UmVxdWVzdD4+IFBheW1lbnRSZXF1
ZXN0OjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBWZWN0CiAgICAgICAgICAgICBpZiAoc2Nv
cGUuZXhjZXB0aW9uKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEV4aXN0
aW5nRXhjZXB0aW9uRXJyb3IgfTsKICAgICAgICAgfQotICAgICAgICBzZXJpYWxpemVkTWV0aG9k
RGF0YS51bmNoZWNrZWRBcHBlbmQoeyBXVEZNb3ZlKCppZGVudGlmaWVyKSwgV1RGTW92ZShzZXJp
YWxpemVkRGF0YSkgfSk7CisgICAgICAgIHNlcmlhbGl6ZWRNZXRob2REYXRhLnVuY2hlY2tlZEFw
cGVuZCh7IGlkZW50aWZpZXIucmVsZWFzZVJldHVyblZhbHVlKCksIFdURk1vdmUoc2VyaWFsaXpl
ZERhdGEpIH0pOwogICAgIH0KIAogICAgIGF1dG8gdG90YWxSZXN1bHQgPSBjaGVja0FuZENhbm9u
aWNhbGl6ZVRvdGFsKGRldGFpbHMudG90YWwuYW1vdW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaAppbmRleCBlM2Jk
N2U1MzJjZjIzZjI1NzY2NjU0ZTEwYzM0NWRjYmNjMzQwODcyLi5iNzE5MzVhMmFhODNiMmIxMTM2
ZGE2MWE4Njk4NTgxOGYxOWU1OWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCkBAIC0xMzgsNyArMTM4LDcgQEAg
cHJpdmF0ZToKICAgICBib29sIG1faXNVcGRhdGluZyB7IGZhbHNlIH07CiB9OwogCi1zdGQ6Om9w
dGlvbmFsPFBheW1lbnRSZXF1ZXN0OjpNZXRob2RJZGVudGlmaWVyPiBjb252ZXJ0QW5kVmFsaWRh
dGVQYXltZW50TWV0aG9kSWRlbnRpZmllcihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpOworRXhj
ZXB0aW9uT3I8UGF5bWVudFJlcXVlc3Q6Ok1ldGhvZElkZW50aWZpZXI+IGNvbnZlcnRBbmRWYWxp
ZGF0ZVBheW1lbnRNZXRob2RJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcik7CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggOWY1YWJmZTljNjI4YzE1ZWU0MTNiNTY2MDlkYjllNzk0OTNjMWVmOC4uOWE4OWY3ZWI2ZTc5
NDMzODQ1NTllY2I4MTdlYWNiNWYyODY5ZjE4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTgtMDktMjcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBw
bGUuY29tPgorCisgICAgICAgIFtQYXltZW50IFJlcXVlc3RdIEltcGxlbWVudCBNZXJjaGFudFZh
bGlkYXRpb25FdmVudC5tZXRob2ROYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTAwNTgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvTWVyY2hh
bnRWYWxpZGF0aW9uRXZlbnQvY29uc3RydWN0b3IuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDE4
LTA5LTI5ICBPcmlvbCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nz
cy1ncmlkXSBQcm9wZXJseSBhbGlnbiBpdGVtcyBuZXh0IHRvIGNvbGxhcHNlZCB0cmFja3Mgd2l0
aCBndXR0ZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC9jb25zdHJ1
Y3Rvci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC9jb25z
dHJ1Y3Rvci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNmE5ZDJhNDUyMjAzNTgxNDFlNmRlN2Uw
N2RiY2Q1ODMwNzJhMGRlNy4uZTM5MDczOTc1YWRjZDJmZTNiZjNiNDhjMGNmMGY3MzVmNmIwMDY2
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQvY29uc3RydWN0b3IuaHR0
cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50L2NvbnN0cnVj
dG9yLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNSwxMCArNSw4IEBAIFBBU1MgTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQgY2FuIGJlIGRpc3BhdGNoZWQsIGV2ZW4gaWYgbm90IHRydXN0ZWQuCiBQQVNT
IE11c3QgaGF2ZSBhIHZhbGlkYXRpb25VUkwgSURMIGF0dHJpYnV0ZSwgd2hpY2ggaXMgaW5pdGlh
bGl6ZWQgd2l0aCB0byB0aGUgdmFsaWRhdGlvblVSTCBkaWN0aW9uYXJ5IHZhbHVlLiAKIFBBU1Mg
TXVzdCB0aHJvdyBUeXBlRXJyb3IgaWYgaW5pdGlhbGl6ZWQgd2l0aCBhbiBpbnZhbGlkIFVSTC4g
CiBQQVNTIFJlbGF0aXZlIHZhbGlkYXRpb25VUkxzIHVzZSB0aGUgZG9jdW1lbnQgYXMgdGhlIGJh
c2UuIAotRkFJTCBNdXN0IGhhdmUgYSBtZXRob2ROYW1lIElETCBhdHRyaWJ1dGUsIHdoaWNoIGlz
IGluaXRpYWxpemVkIHdpdGggdG8gdGhlIG1ldGhvZE5hbWUgZGljdGlvbmFyeSB2YWx1ZS4gYXNz
ZXJ0X2lkbF9hdHRyaWJ1dGU6IHByb3BlcnR5ICJtZXRob2ROYW1lIiBub3QgZm91bmQgaW4gcHJv
dG90eXBlIGNoYWluCi1GQUlMIFdoZW4gbm8gbWV0aG9kTmFtZSBpcyBwYXNzZWQsIG1ldGhvZE5h
bWUgYXR0cmlidXRlIGRlZmF1bHRzIHRvIHRoZSBlbXB0eSBzdHJpbmcgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgKHN0cmluZykgIiIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwg
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQgY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggdmFsaWQgUE1J
cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiaHR0cHM6Ly9leGFtcGxlLmNvbS9w
YXkiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIE1lcmNoYW50VmFsaWRhdGlv
bkV2ZW50IGNhbid0IGJlIGNvbnN0cnVjdGVkIHdpdGggaW52YWxpZCBQTUlzIGFzc2VydF90aHJv
d3M6IGV4cGVjdGVkIHRvIHRocm93IHdoZW4gY29uc3RydWN0ZWQgd2l0aCBpbnZhbGlkIFBNSTog
J2Jhc2ljLfCfkrMnIGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3
IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KCJ0ZXN0IiwgeyBtZXRob2ROYW1lIH0pOwotICAgICAg
fSIgZGlkIG5vdCB0aHJvdworUEFTUyBNdXN0IGhhdmUgYSBtZXRob2ROYW1lIElETCBhdHRyaWJ1
dGUsIHdoaWNoIGlzIGluaXRpYWxpemVkIHdpdGggdG8gdGhlIG1ldGhvZE5hbWUgZGljdGlvbmFy
eSB2YWx1ZS4gCitQQVNTIFdoZW4gbm8gbWV0aG9kTmFtZSBpcyBwYXNzZWQsIG1ldGhvZE5hbWUg
YXR0cmlidXRlIGRlZmF1bHRzIHRvIHRoZSBlbXB0eSBzdHJpbmcgCitQQVNTIE1lcmNoYW50VmFs
aWRhdGlvbkV2ZW50IGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIHZhbGlkIFBNSXMgCitQQVNTIE1l
cmNoYW50VmFsaWRhdGlvbkV2ZW50IGNhbid0IGJlIGNvbnN0cnVjdGVkIHdpdGggaW52YWxpZCBQ
TUlzIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353256</attachid>
            <date>2018-10-28 06:12:41 -0700</date>
            <delta_ts>2018-10-28 07:34:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190058-20181028061239.patch</filename>
            <type>text/plain</type>
            <size>12120</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3NTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmI4NjYyYjIyNGVmNGE1
YzU4YmYzYWFlZDJiMjkwNjViY2IwZTg2OS4uYjIzNGYxYjliNDU2MDg2N2Q4OWEzYjdkNzhhYzZi
YmZmZWVmZGI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTEwLTI4ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJ
bXBsZW1lbnQgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQubWV0aG9kTmFtZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMDU4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQncyBtZXRob2ROYW1lIGF0dHJpYnV0ZSBhbmQgTWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnRJbml0J3MKKyAgICAgICAgbWV0aG9kTmFtZSBwcm9wZXJ0eSBhcyBzcGVjaWZpZWQgaW4g
dGhlIFBheW1lbnQgUmVxdWVzdCBBUEkgVzNDIEVkaXRvcidzIERyYWZ0IG9mCisgICAgICAgIDI3
IFNlcHRlbWJlciAyMDE4LgorCisgICAgICAgIENvdmVyZWQgYnkgd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC9jb25zdHJ1Y3Rvci5odHRw
cy5odG1sLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheVBheW1lbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVu
dEhhbmRsZXI6OnZhbGlkYXRlTWVyY2hhbnQpOiBQYXNzZWQgdGhlIHBheW1lbnQgbWV0aG9kIGlk
ZW50aWZpZXIKKyAgICAgICAgKGFzIGEgc3RyaW5nKSB0byBNZXJjaGFudFZhbGlkYXRpb25FdmVu
dDo6Y3JlYXRlKCkKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50OjpjcmVhdGUpOiBWYWxpZGF0ZWQgdGhlIG1ldGhvZE5hbWUgYmVmb3JlIGNvbnN0cnVjdGlu
ZyB0aGUKKyAgICAgICAgZXZlbnQsIHRocm93aW5nIGEgUmFuZ2VFcnJvciBvbiBmYWlsdXJlLgor
ICAgICAgICAoV2ViQ29yZTo6TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6Ok1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5pZGw6CisKIDIwMTgtMTAtMjcgIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIFJlbW92ZSBXZWJBbmlt
YXRpb246OmRlc2NyaXB0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVu
dEhhbmRsZXIuY3BwCmluZGV4IGM5YmQzYzc5YTg0ZWYwOTllZjdhMmE0M2RlMjVkMzc2YThlYTFl
NzguLmZkZDA4OGVlYzM5MjkxYWMyODRlZmVmYWFlMWI5ZmE1YzlhNzAyOWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQ
YXltZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9w
YXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcApAQCAtNTAzLDcgKzUwMyw3
IEBAIHVuc2lnbmVkIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OnZlcnNpb24oKSBjb25zdAogdm9p
ZCBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjp2YWxpZGF0ZU1lcmNoYW50KFVSTCYmIHZhbGlkYXRp
b25VUkwpCiB7CiAgICAgaWYgKHZhbGlkYXRpb25VUkwuaXNWYWxpZCgpKQotICAgICAgICBtX3Bh
eW1lbnRSZXF1ZXN0LT5kaXNwYXRjaEV2ZW50KE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLm1lcmNoYW50dmFsaWRhdGlvbkV2ZW50LCBXVEZNb3ZlKHZhbGlkYXRp
b25VUkwpKS5nZXQoKSk7CisgICAgICAgIG1fcGF5bWVudFJlcXVlc3QtPmRpc3BhdGNoRXZlbnQo
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkubWVyY2hhbnR2YWxp
ZGF0aW9uRXZlbnQsIFdURjo6Z2V0PFVSTD4obV9pZGVudGlmaWVyKS5zdHJpbmcoKSwgV1RGTW92
ZSh2YWxpZGF0aW9uVVJMKSkuZ2V0KCkpOwogfQogCiBzdGF0aWMgUmVmPFBheW1lbnRBZGRyZXNz
PiBjb252ZXJ0KGNvbnN0IEFwcGxlUGF5UGF5bWVudENvbnRhY3QmIGNvbnRhY3QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRh
dGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwCmluZGV4IDQwZjU3MzE0MzY4NTI0OTczMTkzYmI2N2I0
NjY4OGE4Mjg1MGIxNDguLjMyYTNiNmYxYWQ2NGIxMDAxNTgwYWRkM2E5OTVjNGE0MDM0MDA2NjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hh
bnRWYWxpZGF0aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwCkBAIC0zMyw5ICszMyw5IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmPE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50PiBNZXJj
aGFudFZhbGlkYXRpb25FdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgVVJM
JiYgdmFsaWRhdGlvblVSTCkKK1JlZjxNZXJjaGFudFZhbGlkYXRpb25FdmVudD4gTWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFN0
cmluZyYgbWV0aG9kTmFtZSwgVVJMJiYgdmFsaWRhdGlvblVSTCkKIHsKLSAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBNZXJjaGFudFZhbGlkYXRpb25FdmVudCh0eXBlLCBXVEZNb3ZlKHZhbGlkYXRp
b25VUkwpKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxpZGF0aW9uRXZl
bnQodHlwZSwgbWV0aG9kTmFtZSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSkpOwogfQogCiBFeGNl
cHRpb25PcjxSZWY8TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+PiBNZXJjaGFudFZhbGlkYXRpb25F
dmVudDo6Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBl
LCBJbml0JiYgZXZlbnRJbml0KQpAQCAtNDQsMTkgKzQ0LDI4IEBAIEV4Y2VwdGlvbk9yPFJlZjxN
ZXJjaGFudFZhbGlkYXRpb25FdmVudD4+IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVhdGUo
RG9jdW1lCiAgICAgaWYgKCF2YWxpZGF0aW9uVVJMLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9OwogCi0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQodHlwZSwgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSwgV1RGTW92
ZShldmVudEluaXQpKSk7CisgICAgYXV0byBtZXRob2ROYW1lID0gV1RGTW92ZShldmVudEluaXQu
bWV0aG9kTmFtZSk7CisgICAgaWYgKCFtZXRob2ROYW1lLmlzRW1wdHkoKSkgeworICAgICAgICBh
dXRvIHZhbGlkYXRlZE1ldGhvZE5hbWUgPSBjb252ZXJ0QW5kVmFsaWRhdGVQYXltZW50TWV0aG9k
SWRlbnRpZmllcihtZXRob2ROYW1lKTsKKyAgICAgICAgaWYgKCF2YWxpZGF0ZWRNZXRob2ROYW1l
KQorICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFJhbmdlRXJyb3IsIG1ha2VTdHJpbmco
JyInLCBtZXRob2ROYW1lLCAiXCIgaXMgYW4gaW52YWxpZCBwYXltZW50IG1ldGhvZCBpZGVudGlm
aWVyLiIpIH07CisgICAgfQorCisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQodHlwZSwgV1RGTW92ZShtZXRob2ROYW1lKSwgV1RGTW92ZSh2YWxpZGF0aW9u
VVJMKSwgV1RGTW92ZShldmVudEluaXQpKSk7CiB9CiAKLU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50
OjpNZXJjaGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFVSTCYm
IHZhbGlkYXRpb25VUkwpCitNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6TWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIG1ldGhvZE5h
bWUsIFVSTCYmIHZhbGlkYXRpb25VUkwpCiAgICAgOiBFdmVudCB7IHR5cGUsIEV2ZW50OjpDYW5C
dWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObyB9CisgICAgLCBtX21ldGhvZE5hbWUg
eyBtZXRob2ROYW1lIH0KICAgICAsIG1fdmFsaWRhdGlvblVSTCB7IFdURk1vdmUodmFsaWRhdGlv
blVSTCkgfQogewogICAgIEFTU0VSVChpc1RydXN0ZWQoKSk7CiAgICAgQVNTRVJUKG1fdmFsaWRh
dGlvblVSTC5pc1ZhbGlkKCkpOwogfQogCi1NZXJjaGFudFZhbGlkYXRpb25FdmVudDo6TWVyY2hh
bnRWYWxpZGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBVUkwmJiB2YWxpZGF0
aW9uVVJMLCBJbml0JiYgZXZlbnRJbml0KQorTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6Ok1lcmNo
YW50VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgU3RyaW5nJiYgbWV0
aG9kTmFtZSwgVVJMJiYgdmFsaWRhdGlvblVSTCwgSW5pdCYmIGV2ZW50SW5pdCkKICAgICA6IEV2
ZW50IHsgdHlwZSwgV1RGTW92ZShldmVudEluaXQpLCBJc1RydXN0ZWQ6Ok5vIH0KKyAgICAsIG1f
bWV0aG9kTmFtZSB7IFdURk1vdmUobWV0aG9kTmFtZSkgfQogICAgICwgbV92YWxpZGF0aW9uVVJM
IHsgV1RGTW92ZSh2YWxpZGF0aW9uVVJMKSB9CiB7CiAgICAgQVNTRVJUKCFpc1RydXN0ZWQoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNo
YW50VmFsaWRhdGlvbkV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmgKaW5kZXggYjA5M2QzYTVmZmM5NTY3MTJlYzkx
MGQ0Y2ZhMTIyNzFlMjhhOWJhYS4uOWY2ZDA2NmY1YmUwYmQ3YjY1OWEwM2I5Mzg3MzBmMTcwODhi
ZjM3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9N
ZXJjaGFudFZhbGlkYXRpb25FdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaApAQCAtMzgsMjMgKzM4LDI2IEBA
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQgZmluYWwgOiBw
dWJsaWMgRXZlbnQgewogcHVibGljOgogICAgIHN0cnVjdCBJbml0IGZpbmFsIDogRXZlbnRJbml0
IHsKKyAgICAgICAgU3RyaW5nIG1ldGhvZE5hbWU7CiAgICAgICAgIFN0cmluZyB2YWxpZGF0aW9u
VVJMOwogICAgIH07CiAKLSAgICBzdGF0aWMgUmVmPE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50PiBj
cmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiwgVVJMJiYpOwotICAgIHN0YXRpYyBFeGNlcHRpb25P
cjxSZWY8TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+PiBjcmVhdGUoRG9jdW1lbnQmLCBjb25zdCBB
dG9taWNTdHJpbmcmLCBJbml0JiYpOworICAgIHN0YXRpYyBSZWY8TWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgbWV0
aG9kTmFtZSwgVVJMJiYgdmFsaWRhdGlvblVSTCk7CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJl
ZjxNZXJjaGFudFZhbGlkYXRpb25FdmVudD4+IGNyZWF0ZShEb2N1bWVudCYsIGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgSW5pdCYmKTsKIAorICAgIGNvbnN0IFN0cmluZyYgbWV0aG9kTmFtZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbWV0aG9kTmFtZTsgfQogICAgIGNvbnN0IFN0cmluZyYgdmFsaWRh
dGlvblVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsaWRhdGlvblVSTC5zdHJpbmcoKTsgfQogICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IGNvbXBsZXRlKFJlZjxET01Qcm9taXNlPiYmKTsKIAogcHJpdmF0
ZToKLSAgICBNZXJjaGFudFZhbGlkYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBVUkwm
Jik7Ci0gICAgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiwgVVJM
JiYsIEluaXQmJik7CisgICAgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIG1ldGhvZE5hbWUsIFVSTCYmIHZhbGlkYXRpb25VUkwp
OworICAgIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwg
U3RyaW5nJiYgbWV0aG9kTmFtZSwgVVJMJiYgdmFsaWRhdGlvblVSTCwgSW5pdCYmKTsKIAogICAg
IC8vIEV2ZW50CiAgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBmaW5h
bDsKIAogICAgIGJvb2wgbV9pc0NvbXBsZXRlZCB7IGZhbHNlIH07CisgICAgU3RyaW5nIG1fbWV0
aG9kTmFtZTsKICAgICBVUkwgbV92YWxpZGF0aW9uVVJMOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVu
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50LmlkbAppbmRleCA3YzJiZGIyYzU4NjE5NmVjMmU5ZTlmNmNlNjM4MjMzYThk
NzQ3ZGEzLi45OWE3NTEyMDRmZmI2ZTA3OTFiZDE5MDRhNjcyOTBlMTgxODk4Yzg4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRh
dGlvbkV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbApAQCAtMzIsMTIgKzMyLDE0IEBACiAgICAgRXhw
b3NlZD1XaW5kb3csCiAgICAgU2VjdXJlQ29udGV4dCwKIF0gaW50ZXJmYWNlIE1lcmNoYW50VmFs
aWRhdGlvbkV2ZW50IDogRXZlbnQgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
dmFsaWRhdGlvblVSTDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1ldGhvZE5h
bWU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyB2YWxpZGF0aW9uVVJMOwogICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb21wbGV0ZShQcm9taXNlPGFueT4gbWVyY2hhbnRT
ZXNzaW9uUHJvbWlzZSk7CiB9OwogCiBbCiAgICAgQ29uZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNU
LAogXSBkaWN0aW9uYXJ5IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7
CisgICAgRE9NU3RyaW5nIG1ldGhvZE5hbWUgPSAiIjsKICAgICBVU1ZTdHJpbmcgdmFsaWRhdGlv
blVSTCA9ICIiOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXlt
ZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKaW5kZXggODhlZTBiZGJmZmU5ZjI5NTY2NTA1
ZjVjYWRiOTgzZGNmYTRmYTkzZS4uYzlkYmI4NmI5NTBjZTdkNWFhMjM3OTQxNzkwNzVmZWQ3YzI4
Yzg1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50UmVxdWVzdC5jcHAKQEAgLTI3NSw3ICsyNzUsNyBAQCBzdGF0aWMgRXhjZXB0
aW9uT3I8c3RkOjp0dXBsZTxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+Pj4gY2hlY2tBbmRDYW5vbmlj
YWxpemVEZXRhaQogICAgICAgICBpZiAoc2hvdWxkVmFsaWRhdGVQYXltZW50TWV0aG9kSWRlbnRp
ZmllciA9PSBTaG91bGRWYWxpZGF0ZVBheW1lbnRNZXRob2RJZGVudGlmaWVyOjpZZXMpIHsKICAg
ICAgICAgICAgIGF1dG8gcGF5bWVudE1ldGhvZElkZW50aWZpZXIgPSBjb252ZXJ0QW5kVmFsaWRh
dGVQYXltZW50TWV0aG9kSWRlbnRpZmllcihtb2RpZmllci5zdXBwb3J0ZWRNZXRob2RzKTsKICAg
ICAgICAgICAgIGlmICghcGF5bWVudE1ldGhvZElkZW50aWZpZXIpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IFJhbmdlRXJyb3IsIG1ha2VTdHJpbmcoIlwiIiwgbW9kaWZpZXIu
c3VwcG9ydGVkTWV0aG9kcywgIlwiIGlzIGFuIGludmFsaWQgcGF5bWVudCBtZXRob2QgaWRlbnRp
Zmllci4iKSB9OworICAgICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBSYW5nZUVycm9y
LCBtYWtlU3RyaW5nKCciJywgbW9kaWZpZXIuc3VwcG9ydGVkTWV0aG9kcywgIlwiIGlzIGFuIGlu
dmFsaWQgcGF5bWVudCBtZXRob2QgaWRlbnRpZmllci4iKSB9OwogICAgICAgICB9CiAKICAgICAg
ICAgaWYgKG1vZGlmaWVyLnRvdGFsKSB7CkBAIC0zMjMsNyArMzIzLDcgQEAgRXhjZXB0aW9uT3I8
UmVmPFBheW1lbnRSZXF1ZXN0Pj4gUGF5bWVudFJlcXVlc3Q6OmNyZWF0ZShEb2N1bWVudCYgZG9j
dW1lbnQsIFZlY3QKICAgICBmb3IgKGF1dG8mIHBheW1lbnRNZXRob2QgOiBtZXRob2REYXRhKSB7
CiAgICAgICAgIGF1dG8gaWRlbnRpZmllciA9IGNvbnZlcnRBbmRWYWxpZGF0ZVBheW1lbnRNZXRo
b2RJZGVudGlmaWVyKHBheW1lbnRNZXRob2Quc3VwcG9ydGVkTWV0aG9kcyk7CiAgICAgICAgIGlm
ICghaWRlbnRpZmllcikKLSAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBSYW5nZUVycm9y
LCBtYWtlU3RyaW5nKCJcIiIsIHBheW1lbnRNZXRob2Quc3VwcG9ydGVkTWV0aG9kcywgIlwiIGlz
IGFuIGludmFsaWQgcGF5bWVudCBtZXRob2QgaWRlbnRpZmllci4iKSB9OworICAgICAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IFJhbmdlRXJyb3IsIG1ha2VTdHJpbmcoJyInLCBwYXltZW50TWV0
aG9kLnN1cHBvcnRlZE1ldGhvZHMsICJcIiBpcyBhbiBpbnZhbGlkIHBheW1lbnQgbWV0aG9kIGlk
ZW50aWZpZXIuIikgfTsKIAogICAgICAgICBTdHJpbmcgc2VyaWFsaXplZERhdGE7CiAgICAgICAg
IGlmIChwYXltZW50TWV0aG9kLmRhdGEpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmlu
ZGV4IDNmMGFjMDk1NmUwMWM2MjMzNDJiMjRlZGNjZmU0NjU3YzI5NGM4ZDEuLmMyMTZhNzUyYWVh
OTU5MjI3ZWEzNjhkMjgyMDhjODcwYmZmMmZmZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE4LTEwLTI4ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFw
cGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJbXBsZW1lbnQgTWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQubWV0aG9kTmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L01lcmNo
YW50VmFsaWRhdGlvbkV2ZW50L2NvbnN0cnVjdG9yLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAx
OC0xMC0yNiAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtX
ZWIgQW5pbWF0aW9uc10gUmViYXNlIHNvbWUgZmxha3kgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L01l
cmNoYW50VmFsaWRhdGlvbkV2ZW50L2NvbnN0cnVjdG9yLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50L2NvbnN0cnVjdG9yLmh0dHBzLWV4cGVjdGVkLnR4dApp
bmRleCA2YTlkMmE0NTIyMDM1ODE0MWU2ZGU3ZTA3ZGJjZDU4MzA3MmEwZGU3Li5lMzkwNzM5NzVh
ZGNkMmZlM2JmM2I0OGMwY2YwZjczNWY2YjAwNjY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9NZXJjaGFudFZh
bGlkYXRpb25FdmVudC9jb25zdHJ1Y3Rvci5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvTWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQvY29uc3RydWN0b3IuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC01
LDEwICs1LDggQEAgUEFTUyBNZXJjaGFudFZhbGlkYXRpb25FdmVudCBjYW4gYmUgZGlzcGF0Y2hl
ZCwgZXZlbiBpZiBub3QgdHJ1c3RlZC4KIFBBU1MgTXVzdCBoYXZlIGEgdmFsaWRhdGlvblVSTCBJ
REwgYXR0cmlidXRlLCB3aGljaCBpcyBpbml0aWFsaXplZCB3aXRoIHRvIHRoZSB2YWxpZGF0aW9u
VVJMIGRpY3Rpb25hcnkgdmFsdWUuIAogUEFTUyBNdXN0IHRocm93IFR5cGVFcnJvciBpZiBpbml0
aWFsaXplZCB3aXRoIGFuIGludmFsaWQgVVJMLiAKIFBBU1MgUmVsYXRpdmUgdmFsaWRhdGlvblVS
THMgdXNlIHRoZSBkb2N1bWVudCBhcyB0aGUgYmFzZS4gCi1GQUlMIE11c3QgaGF2ZSBhIG1ldGhv
ZE5hbWUgSURMIGF0dHJpYnV0ZSwgd2hpY2ggaXMgaW5pdGlhbGl6ZWQgd2l0aCB0byB0aGUgbWV0
aG9kTmFtZSBkaWN0aW9uYXJ5IHZhbHVlLiBhc3NlcnRfaWRsX2F0dHJpYnV0ZTogcHJvcGVydHkg
Im1ldGhvZE5hbWUiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KLUZBSUwgV2hlbiBubyBt
ZXRob2ROYW1lIGlzIHBhc3NlZCwgbWV0aG9kTmFtZSBhdHRyaWJ1dGUgZGVmYXVsdHMgdG8gdGhl
IGVtcHR5IHN0cmluZyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiIiBidXQgZ290
ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBNZXJjaGFudFZhbGlkYXRpb25FdmVudCBjYW4g
YmUgY29uc3RydWN0ZWQgd2l0aCB2YWxpZCBQTUlzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChz
dHJpbmcpICJodHRwczovL2V4YW1wbGUuY29tL3BheSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQKLUZBSUwgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQgY2FuJ3QgYmUgY29uc3RydWN0ZWQg
d2l0aCBpbnZhbGlkIFBNSXMgYXNzZXJ0X3Rocm93czogZXhwZWN0ZWQgdG8gdGhyb3cgd2hlbiBj
b25zdHJ1Y3RlZCB3aXRoIGludmFsaWQgUE1JOiAnYmFzaWMt8J+SsycgZnVuY3Rpb24gIigpID0+
IHsKLSAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQoInRl
c3QiLCB7IG1ldGhvZE5hbWUgfSk7Ci0gICAgICB9IiBkaWQgbm90IHRocm93CitQQVNTIE11c3Qg
aGF2ZSBhIG1ldGhvZE5hbWUgSURMIGF0dHJpYnV0ZSwgd2hpY2ggaXMgaW5pdGlhbGl6ZWQgd2l0
aCB0byB0aGUgbWV0aG9kTmFtZSBkaWN0aW9uYXJ5IHZhbHVlLiAKK1BBU1MgV2hlbiBubyBtZXRo
b2ROYW1lIGlzIHBhc3NlZCwgbWV0aG9kTmFtZSBhdHRyaWJ1dGUgZGVmYXVsdHMgdG8gdGhlIGVt
cHR5IHN0cmluZyAKK1BBU1MgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQgY2FuIGJlIGNvbnN0cnVj
dGVkIHdpdGggdmFsaWQgUE1JcyAKK1BBU1MgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQgY2FuJ3Qg
YmUgY29uc3RydWN0ZWQgd2l0aCBpbnZhbGlkIFBNSXMgCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>