<?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>159085</bug_id>
          
          <creation_ts>2016-06-24 03:07:00 -0700</creation_ts>
          <short_desc>Remove didFailRedirectCheck ThreadableLoaderClient callback</short_desc>
          <delta_ts>2016-06-27 01:28:53 -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>WebCore Misc.</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>151937</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>japhet</cc>
    
    <cc>mkwst</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1205049</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-24 03:07:00 -0700</bug_when>
    <thetext>To implement fetch, it is convenient to add CORS checks below DocumentThreadableLoader, typically in Cached loaders and SubresourceLoader.
This loading code does only know didFail and not didFailRedirectCheck.

It would be convenient to remove didFailRedirectCheck and use didFailAccessControlCheck or didFail directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1205052</commentid>
    <comment_count>1</comment_count>
      <attachid>281966</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-24 03:48:11 -0700</bug_when>
    <thetext>Created attachment 281966
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1205158</commentid>
    <comment_count>2</comment_count>
      <attachid>281966</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-06-24 11:34:00 -0700</bug_when>
    <thetext>Comment on attachment 281966
Patch

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

&gt; Source/WebCore/loader/DocumentThreadableLoader.cpp:202
&gt; +        m_client-&gt;didFailAccessControlCheck(ResourceError(errorDomainWebKitInternal, 0, redirectResponse.url(), &quot;Failed CSP redirect check.&quot;));

If we choose to have a custom error message (*) then another way to express this error is &quot;Cross-origin redirection denied by Content Security Policy.&quot; This wording is similar to the wording we use when we deny a cross-origin redirection in SubresourceLoader::checkCrossOriginAccessControl() (**).

(*) Notice that CSP will emit its own &quot;Refused to ...&quot; error message as can be seen in LayoutTests/http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt.
(**) &lt;http://trac.webkit.org/browser/trunk/Source/WebCore/loader/SubresourceLoader.cpp?rev=202431#L409&gt;

&gt; Source/WebCore/loader/DocumentThreadableLoader.cpp:248
&gt; +    m_client-&gt;didFailAccessControlCheck(ResourceError(errorDomainWebKitInternal, 0, redirectResponse.url(), &quot;Failed redirection access control check.&quot;));

Maybe we should use similar wording as we do in SubresourceLoader::checkCrossOriginAccessControl() (**), say &quot;Cross-origin redirection denied by Cross-Origin Resource Sharing policy.&quot;?

&gt; Source/WebCore/loader/DocumentThreadableLoader.cpp:385
&gt; +        m_client-&gt;didFailAccessControlCheck(ResourceError(errorDomainWebKitInternal, 0, requestURL, &quot;Failed redirection access control check.&quot;));

Another way to describe this error is &quot;Cross-origin redirection denied.&quot; Alternatively we could emit independent error messages when !isAllowedByContentSecurityPolicy() evaluates to true (*) and !isAllowedRedirect() evaluates to true. If we did this, then I suggest that we use the same error message as we in DocumentThreadableLoader::redirectReceived() (commented above) when !isAllowedRedirect() evaluates to true and emit a similar worded error message for CSP when !isAllowedByContentSecurityPolicy() evaluates to true, say &quot;Cross-origin redirection denied by Content Security Policy.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1205363</commentid>
    <comment_count>3</comment_count>
      <attachid>281966</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-25 07:11:47 -0700</bug_when>
    <thetext>Comment on attachment 281966
Patch

Thanks for the review.
See inline.

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

&gt;&gt; Source/WebCore/loader/DocumentThreadableLoader.cpp:202
&gt;&gt; +        m_client-&gt;didFailAccessControlCheck(ResourceError(errorDomainWebKitInternal, 0, redirectResponse.url(), &quot;Failed CSP redirect check.&quot;));
&gt; 
&gt; If we choose to have a custom error message (*) then another way to express this error is &quot;Cross-origin redirection denied by Content Security Policy.&quot; This wording is similar to the wording we use when we deny a cross-origin redirection in SubresourceLoader::checkCrossOriginAccessControl() (**).
&gt; 
&gt; (*) Notice that CSP will emit its own &quot;Refused to ...&quot; error message as can be seen in LayoutTests/http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt.
&gt; (**) &lt;http://trac.webkit.org/browser/trunk/Source/WebCore/loader/SubresourceLoader.cpp?rev=202431#L409&gt;

At first I thought that one message was good enough.
But having two allows to be more precise on which client (event source in the test case) fails, which might be useful for web developers.
Ideally, we might want one message that combines both information, like for cars check.

OK for changing the error string.

&gt;&gt; Source/WebCore/loader/DocumentThreadableLoader.cpp:248
&gt;&gt; +    m_client-&gt;didFailAccessControlCheck(ResourceError(errorDomainWebKitInternal, 0, redirectResponse.url(), &quot;Failed redirection access control check.&quot;));
&gt; 
&gt; Maybe we should use similar wording as we do in SubresourceLoader::checkCrossOriginAccessControl() (**), say &quot;Cross-origin redirection denied by Cross-Origin Resource Sharing policy.&quot;?

OK.

Note that the future plan is to remove those checks from DocumentThreadableLoader.
SubresourceLoader should be made responsible for those checks and DocumentThreadableLoader should just use regular ResourceLoader options to activate or not those checks.

&gt;&gt; Source/WebCore/loader/DocumentThreadableLoader.cpp:385
&gt;&gt; +        m_client-&gt;didFailAccessControlCheck(ResourceError(errorDomainWebKitInternal, 0, requestURL, &quot;Failed redirection access control check.&quot;));
&gt; 
&gt; Another way to describe this error is &quot;Cross-origin redirection denied.&quot; Alternatively we could emit independent error messages when !isAllowedByContentSecurityPolicy() evaluates to true (*) and !isAllowedRedirect() evaluates to true. If we did this, then I suggest that we use the same error message as we in DocumentThreadableLoader::redirectReceived() (commented above) when !isAllowedRedirect() evaluates to true and emit a similar worded error message for CSP when !isAllowedByContentSecurityPolicy() evaluates to true, say &quot;Cross-origin redirection denied by Content Security Policy.&quot;

I thought of that but was not sure how useful that was.
I&apos;ll make that consistent with the async case then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1205483</commentid>
    <comment_count>4</comment_count>
      <attachid>282108</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-27 00:59:32 -0700</bug_when>
    <thetext>Created attachment 282108
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1205489</commentid>
    <comment_count>5</comment_count>
      <attachid>282108</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-27 01:28:48 -0700</bug_when>
    <thetext>Comment on attachment 282108
Patch for landing

Clearing flags on attachment: 282108

Committed r202480: &lt;http://trac.webkit.org/changeset/202480&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1205490</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-27 01:28:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281966</attachid>
            <date>2016-06-24 03:48:11 -0700</date>
            <delta_ts>2016-06-27 00:59:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159085-20160624124759.patch</filename>
            <type>text/plain</type>
            <size>20191</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGFiMmFhMjFmZjdiM2Jm
Y2U1NWYzOTkxNTE5OGM5NjRlOTg4YjQxNS4uMGMwMDRlMTcyMTAyMWU5Njc2YjkwZjVlYjlmNWUw
MTM4ZmY1Y2VmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE2LTA2LTI0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CisKKyAgICAgICAgUmVtb3ZlIGRpZEZhaWxS
ZWRpcmVjdENoZWNrIFRocmVhZGFibGVMb2FkZXJDbGllbnQgY2FsbGJhY2sKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTA4NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92aW5nIGRpZEZhaWxSZWRp
cmVjdENoZWNrIGFuZCB1c2luZyBkaWRGYWlsQWNjZXNzQ29udHJvbENoZWNrIGluc3RlYWQuCisg
ICAgICAgIFRoZSBjaGFuZ2UgaW4gYmVoYXZpb3IgaXMgdGhhdCBhZGRpdGlvbmFsIGVycm9yIG1l
c3NhZ2VzIGFyZSBvdXRwdXR0ZWQgaW4gdGhlIGNvbnNvbGUuCisgICAgICAgIFRoZXNlIG1lc3Nh
Z2VzIGdpdmUgYWRkaXRpb25hbCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uCisKKyAgICAgICAgQ292
ZXJlZCBieSByZWJhc2VkIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaExv
YWRlci5jcHA6IFJlbW92aW5nIGRpZEZhaWxSZWRpcmVjdENoZWNrLgorICAgICAgICAqIE1vZHVs
ZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaDogRGl0dG8uCisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvck5ldHdvcmtBZ2VudC5jcHA6IERpdHRvLgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyOjpyZWRpcmVjdFJlY2VpdmVkKTogQ2FsbGluZyBkaWRGYWlsQWNjZXNzQ29udHJvbENo
ZWNrIHdpdGggaW5mb3JtYXRpb24gb24gZmFpbGluZworICAgICAgICBVUkwuCisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXF1ZXN0KTogRGl0dG8uCisg
ICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaDogUmVtb3ZpbmcgZGlkRmFp
bFJlZGlyZWN0Q2hlY2suCisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRX
cmFwcGVyLmg6IERpdHRvLgorICAgICAgICAqIGxvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVy
LmNwcDogRGl0dG8uCisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaDog
RGl0dG8uCisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6IERpdHRvLgorICAgICAgICAq
IHBhZ2UvRXZlbnRTb3VyY2UuaDogRGl0dG8uCisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3Jp
cHRMb2FkZXIuY3BwOiBEaXR0by4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRl
ci5oOiBEaXR0by4KKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOiBEaXR0by4KKyAg
ICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDogRGl0dG8uCisKIDIwMTYtMDYtMjQgIEd5dXlv
dW5nIEtpbSAgPGd5dXlvdW5nLmtpbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
RUZMIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRl
ci5jcHAKaW5kZXggODg1ZmIyMjMzM2ViYzAwMmZlZjNmN2JhYTJjN2UyODg2NzIwOTUyMy4uZGY0
YTdlNzY3NWJkMDZmMWFjZTYyMDY4MTY4MTAyZDE4ODg3MWIyYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKQEAgLTE0NCwxMSArMTQ0LDYgQEAgdm9p
ZCBGZXRjaExvYWRlcjo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikKICAgICBtX2NsaWVu
dC5kaWRGYWlsKCk7CiB9CiAKLXZvaWQgRmV0Y2hMb2FkZXI6OmRpZEZhaWxSZWRpcmVjdENoZWNr
KCkKLXsKLSAgICBtX2NsaWVudC5kaWRGYWlsKCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEVOQUJMRShGRVRDSF9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoTG9hZGVyLmgKaW5kZXggYjcyNWUzNTFhZWJmNzk2OWU2Y2U0YWU1MmJiYTlh
YjUzYzZhOTkwMi4uZDQ3M2ZmMTc0NTFmY2E1YzFhNzEzZmI1NDNiZDBiNmEwYjFkZTAyYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaApAQCAtNjIsNyArNjIs
NiBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hhciosIGludCkg
ZmluYWw7CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcsIGRvdWJsZSkg
ZmluYWw7CiAgICAgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImKSBmaW5hbDsKLSAg
ICB2b2lkIGRpZEZhaWxSZWRpcmVjdENoZWNrKCkgZmluYWw7CiAKICAgICBUeXBlIHR5cGUoKSBj
b25zdCB7IHJldHVybiBtX3R5cGU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcAppbmRleCA5MTg2ODZlYTMyZWYwZmUwYmM0MTg1
ZGJiODJiOGYwNzFmOGM0NmVmLi5jODM5N2YwYmJlZTQ5YWVlNDcwZjVkMTFjODY0ZjFlYTJhMTIy
YmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTmV0d29y
a0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTmV0d29y
a0FnZW50LmNwcApAQCAtMTI4LDkgKzEyOCw5IEBAIHB1YmxpYzoKICAgICAgICAgZGlzcG9zZSgp
OwogICAgIH0KIAotICAgIHZvaWQgZGlkRmFpbFJlZGlyZWN0Q2hlY2soKSBvdmVycmlkZQorICAg
IHZvaWQgZGlkRmFpbEFjY2Vzc0NvbnRyb2xDaGVjayhjb25zdCBSZXNvdXJjZUVycm9yJikgZmlu
YWwKICAgICB7Ci0gICAgICAgIG1fY2FsbGJhY2stPnNlbmRGYWlsdXJlKEFTQ0lJTGl0ZXJhbCgi
TG9hZGluZyByZXNvdXJjZSBmb3IgaW5zcGVjdG9yIGZhaWxlZCByZWRpcmVjdCBjaGVjayIpKTsK
KyAgICAgICAgbV9jYWxsYmFjay0+c2VuZEZhaWx1cmUoQVNDSUlMaXRlcmFsKCJMb2FkaW5nIHJl
c291cmNlIGZvciBpbnNwZWN0b3IgZmFpbGVkIGFjY2VzcyBjb250cm9sIGNoZWNrIikpOwogICAg
ICAgICBkaXNwb3NlKCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDAzYjRiY2I2M2M1ZmNlNzUzNmI5OTY2
MWM0YjI0ZWZlMTViMzRhNWIuLjU3YWMzYmFmY2YwNGZhNDE3MGY0NzQ0YTdkYTNiNDVjZjdiM2U3
ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIuY3BwCkBAIC0xOTksNyArMTk5LDcgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2Fk
ZXI6OnJlZGlyZWN0UmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBSZXNvdXIKIAog
ICAgIFJlZjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwog
ICAgIGlmICghaXNBbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kocmVxdWVzdC51cmwoKSwg
IXJlZGlyZWN0UmVzcG9uc2UuaXNOdWxsKCkpKSB7Ci0gICAgICAgIG1fY2xpZW50LT5kaWRGYWls
UmVkaXJlY3RDaGVjaygpOworICAgICAgICBtX2NsaWVudC0+ZGlkRmFpbEFjY2Vzc0NvbnRyb2xD
aGVjayhSZXNvdXJjZUVycm9yKGVycm9yRG9tYWluV2ViS2l0SW50ZXJuYWwsIDAsIHJlZGlyZWN0
UmVzcG9uc2UudXJsKCksICJGYWlsZWQgQ1NQIHJlZGlyZWN0IGNoZWNrLiIpKTsKICAgICAgICAg
cmVxdWVzdCA9IFJlc291cmNlUmVxdWVzdCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAt
MjQ1LDcgKzI0NSw3IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpyZWRpcmVjdFJl
Y2VpdmVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgUmVzb3VyCiAgICAgICAgIH0KICAgICB9
CiAKLSAgICBtX2NsaWVudC0+ZGlkRmFpbFJlZGlyZWN0Q2hlY2soKTsKKyAgICBtX2NsaWVudC0+
ZGlkRmFpbEFjY2Vzc0NvbnRyb2xDaGVjayhSZXNvdXJjZUVycm9yKGVycm9yRG9tYWluV2ViS2l0
SW50ZXJuYWwsIDAsIHJlZGlyZWN0UmVzcG9uc2UudXJsKCksICJGYWlsZWQgcmVkaXJlY3Rpb24g
YWNjZXNzIGNvbnRyb2wgY2hlY2suIikpOwogICAgIHJlcXVlc3QgPSBSZXNvdXJjZVJlcXVlc3Qo
KTsKIH0KIApAQCAtMzgyLDcgKzM4Miw3IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
Ojpsb2FkUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFNlY3VyCiAgICAg
Ly8gcmVxdWVzdGVkLiBBbHNvIGNvbXBhcmluZyB0aGUgcmVxdWVzdCBhbmQgcmVzcG9uc2UgVVJM
cyBhcyBzdHJpbmdzIHdpbGwgZmFpbCBpZiB0aGUgcmVxdWVzdFVSTCBzdGlsbCBoYXMgaXRzIGNy
ZWRlbnRpYWxzLgogICAgIGJvb2wgZGlkUmVkaXJlY3QgPSByZXF1ZXN0VVJMICE9IHJlc3BvbnNl
LnVybCgpOwogICAgIGlmIChkaWRSZWRpcmVjdCAmJiAoIWlzQWxsb3dlZEJ5Q29udGVudFNlY3Vy
aXR5UG9saWN5KHJlc3BvbnNlLnVybCgpLCBkaWRSZWRpcmVjdCkgfHwgIWlzQWxsb3dlZFJlZGly
ZWN0KHJlc3BvbnNlLnVybCgpKSkpIHsKLSAgICAgICAgbV9jbGllbnQtPmRpZEZhaWxSZWRpcmVj
dENoZWNrKCk7CisgICAgICAgIG1fY2xpZW50LT5kaWRGYWlsQWNjZXNzQ29udHJvbENoZWNrKFJl
c291cmNlRXJyb3IoZXJyb3JEb21haW5XZWJLaXRJbnRlcm5hbCwgMCwgcmVxdWVzdFVSTCwgIkZh
aWxlZCByZWRpcmVjdGlvbiBhY2Nlc3MgY29udHJvbCBjaGVjay4iKSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxl
TG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNs
aWVudC5oCmluZGV4IDdjMDZmYjQzY2E5MjJiNTdmYzVlOGVjMTc5NGVmZjE1YzhmYTlhNGYuLjYy
OWFhM2Q5MmFhZTY0NGYxYWFlMWJmOTQxMTY2N2M2ZThjZGFhNDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaApAQCAtNDcsNyArNDcsNiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5n
KHVuc2lnbmVkIGxvbmcgLyppZGVudGlmaWVyKi8sIGRvdWJsZSAvKmZpbmlzaFRpbWUqLykgeyB9
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImKSB7IH0K
ICAgICAgICAgdmlydHVhbCB2b2lkIGRpZEZhaWxBY2Nlc3NDb250cm9sQ2hlY2soY29uc3QgUmVz
b3VyY2VFcnJvciYgZXJyb3IpIHsgZGlkRmFpbChlcnJvcik7IH0KLSAgICAgICAgdmlydHVhbCB2
b2lkIGRpZEZhaWxSZWRpcmVjdENoZWNrKCkgeyB9CiAKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAg
IFRocmVhZGFibGVMb2FkZXJDbGllbnQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmgKaW5kZXggYmI3M2E0NTY1Zjdm
MzUwM2QxN2Q0Njg5Njk5ZGQyNjBmYzM2NGM0Zi4uNmMzZWU1YjM4NTJjMWRlNjA4NDhlZDQ5YzNk
NjVjZmYyYjc1MjMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXJDbGllbnRXcmFwcGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmgKQEAgLTk1LDEzICs5NSw2IEBAIHB1YmxpYzoKICAg
ICAgICAgICAgIG1fY2xpZW50LT5kaWRGYWlsQWNjZXNzQ29udHJvbENoZWNrKGVycm9yKTsKICAg
ICB9CiAKLSAgICB2b2lkIGRpZEZhaWxSZWRpcmVjdENoZWNrKCkKLSAgICB7Ci0gICAgICAgIG1f
ZG9uZSA9IHRydWU7Ci0gICAgICAgIGlmIChtX2NsaWVudCkKLSAgICAgICAgICAgIG1fY2xpZW50
LT5kaWRGYWlsUmVkaXJlY3RDaGVjaygpOwotICAgIH0KLQogICAgIHZvaWQgZGlkUmVjZWl2ZUF1
dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiAgICAgewogICAgICAgICBpZiAobV9jbGllbnQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAK
aW5kZXggNjYwMmRjZWQ0MzY4MWMzNTg2MTBkMzg0YmVmMzkwZmNiNjg1NDhiOC4uMGJkODE1NWRh
NjBiOTQ4YzNhODQzNDY1NTkxOGQwODBjZDc4ZDZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtMjA2LDE0ICsyMDYsNCBAQCB2
b2lkIFdvcmtlclRocmVhZGFibGVMb2FkZXI6Ok1haW5UaHJlYWRCcmlkZ2U6OmRpZEZhaWxBY2Nl
c3NDb250cm9sQ2hlY2soY29uc3QgUgogICAgIH0sIG1fdGFza01vZGUpOwogfQogCi12b2lkIFdv
cmtlclRocmVhZGFibGVMb2FkZXI6Ok1haW5UaHJlYWRCcmlkZ2U6OmRpZEZhaWxSZWRpcmVjdENo
ZWNrKCkKLXsKLSAgICBtX2xvYWRpbmdGaW5pc2hlZCA9IHRydWU7Ci0gICAgUmVmPFRocmVhZGFi
bGVMb2FkZXJDbGllbnRXcmFwcGVyPiBwcm90ZWN0ZWRXb3JrZXJDbGllbnRXcmFwcGVyID0gKm1f
d29ya2VyQ2xpZW50V3JhcHBlcjsKLSAgICBtX2xvYWRlclByb3h5LnBvc3RUYXNrRm9yTW9kZVRv
V29ya2VyR2xvYmFsU2NvcGUoW3Byb3RlY3RlZFdvcmtlckNsaWVudFdyYXBwZXIgPSBXVEZNb3Zl
KHByb3RlY3RlZFdvcmtlckNsaWVudFdyYXBwZXIpXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCkgbXV0YWJsZSB7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQoY29udGV4dCwgY29udGV4
dC5pc1dvcmtlckdsb2JhbFNjb3BlKCkpOwotICAgICAgICBwcm90ZWN0ZWRXb3JrZXJDbGllbnRX
cmFwcGVyLT5kaWRGYWlsUmVkaXJlY3RDaGVjaygpOwotICAgIH0sIG1fdGFza01vZGUpOwotfQot
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtl
clRocmVhZGFibGVMb2FkZXIuaAppbmRleCA2NmJlMGU4NTJlOWI5NTNmODYyMzhhYjA1ZTAxMDc5
ZTZjNDdhM2E3Li45MGJmOTBkYmU4N2Q4MTg0NTc2MjQ2YzQzOWUzNzA2ZWEzYTA1ZTRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTEw
NSw3ICsxMDUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2b2lkIGRpZEZp
bmlzaExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBkb3VibGUgZmluaXNoVGltZSkg
b3ZlcnJpZGU7CiAgICAgICAgICAgICB2b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYp
IG92ZXJyaWRlOwogICAgICAgICAgICAgdm9pZCBkaWRGYWlsQWNjZXNzQ29udHJvbENoZWNrKGNv
bnN0IFJlc291cmNlRXJyb3ImKSBvdmVycmlkZTsKLSAgICAgICAgICAgIHZvaWQgZGlkRmFpbFJl
ZGlyZWN0Q2hlY2soKSBvdmVycmlkZTsKIAogICAgICAgICAgICAgLy8gT25seSB0byBiZSB1c2Vk
IG9uIHRoZSBtYWluIHRocmVhZC4KICAgICAgICAgICAgIFJlZlB0cjxUaHJlYWRhYmxlTG9hZGVy
PiBtX21haW5UaHJlYWRMb2FkZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4
IGE4ZGQzMGQzZGYxZGU0MzhjZDY3MzQxODBjZjBmZmYyMjIwMmExNTguLjc3MTUyZTU4YWUyNDRl
YjA1MDI2NGM3NGRmY2NkZTUxZjE5YTRhYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
Y3BwCkBAIC0yNjEsMTEgKzI2MSw2IEBAIHZvaWQgRXZlbnRTb3VyY2U6OmRpZEZhaWxBY2Nlc3ND
b250cm9sQ2hlY2soY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiAgICAgYWJvcnRDb25uZWN0
aW9uQXR0ZW1wdCgpOwogfQogCi12b2lkIEV2ZW50U291cmNlOjpkaWRGYWlsUmVkaXJlY3RDaGVj
aygpCi17Ci0gICAgYWJvcnRDb25uZWN0aW9uQXR0ZW1wdCgpOwotfQotCiB2b2lkIEV2ZW50U291
cmNlOjphYm9ydENvbm5lY3Rpb25BdHRlbXB0KCkKIHsKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBD
T05ORUNUSU5HKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBhYzQyMTkxYzcyZmJi
MjE5OWVkZDY0YjdhMTI0YjI3OGI3ZmY1N2Q2Li42YjRmNzY3NmJjOWU5NjZlY2Q2OWNlMzNiZWIx
ZmVlN2ZlNTYyOGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC04Miw3ICs4Miw2
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcsIGRv
dWJsZSkgZmluYWw7CiAgICAgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImKSBmaW5h
bDsKICAgICB2b2lkIGRpZEZhaWxBY2Nlc3NDb250cm9sQ2hlY2soY29uc3QgUmVzb3VyY2VFcnJv
ciYpIGZpbmFsOwotICAgIHZvaWQgZGlkRmFpbFJlZGlyZWN0Q2hlY2soKSBmaW5hbDsKIAogICAg
IHZvaWQgc3RvcCgpIGZpbmFsOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUo
KSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
U2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9h
ZGVyLmNwcAppbmRleCA5NWUwNzM4NDU5YzI5YTFhM2RmM2MyMjFlOWQ4MzE3NTQ3ZmJjZGRlLi45
NTQ3ZGEyZTIzMmU5NDVhMDNjMjI2OWQyMjRjOGEyMzRkYWUxMWYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBAIC0xNjEsMTEgKzE2MSw2IEBA
IHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImKQog
ICAgIG5vdGlmeUVycm9yKCk7CiB9CiAKLXZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRGYWls
UmVkaXJlY3RDaGVjaygpCi17Ci0gICAgbm90aWZ5RXJyb3IoKTsKLX0KLQogdm9pZCBXb3JrZXJT
Y3JpcHRMb2FkZXI6Om5vdGlmeUVycm9yKCkKIHsKICAgICBtX2ZhaWxlZCA9IHRydWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAppbmRleCBlYTY1NTZkMzdi
YTNmZDI2YmU3NTI2MDdhNmJlMzdmY2ViMjdiNDRhLi40YjE1Yjc5YjgzYWFmMGQ4MGI5ZjViN2Jm
YTYyYjIxNmNjYTY2MjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0
TG9hZGVyLmgKQEAgLTY5LDcgKzY5LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKSBvdmVy
cmlkZTsKICAgICAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgZG91YmxlKSBvdmVycmlkZTsKICAgICAgICAgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291
cmNlRXJyb3ImKSBvdmVycmlkZTsKLSAgICAgICAgdm9pZCBkaWRGYWlsUmVkaXJlY3RDaGVjaygp
IG92ZXJyaWRlOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNzIFdURjo6UmVm
Q291bnRlZDxXb3JrZXJTY3JpcHRMb2FkZXI+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5jcHAKaW5kZXggODdjZGZhN2IxYTI4ZjM2MTU0OGYwYzEzYWRhZDhlNjdhNjIxOTBkZS4uODFj
NjNkN2JmMTkzZGRiMDc4Y2FhOTU1NjBlNWZkOWEzNDhiMmI0MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuY3BwCkBAIC0xMDM4LDExICsxMDM4LDYgQEAgdm9pZCBYTUxIdHRwUmVx
dWVzdDo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICBuZXR3b3JrRXJy
b3IoKTsKIH0KIAotdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkRmFpbFJlZGlyZWN0Q2hlY2soKQot
ewotICAgIG5ldHdvcmtFcnJvcigpOwotfQotCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpkaWRGaW5p
c2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgZG91YmxlKQogewogICAgIGlmICht
X2Vycm9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRleCBiODgwODcyYzJjYzE4
YjZhNWI0NjdlNGY2MGIzMmE1MzZjNmExNTg0Li45YjMzZmI2MTkwZjVhZDdmYWNkNTQ4MjExNjc4
ODk3YjE5M2JkOTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtMTUxLDcg
KzE1MSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBk
YXRhLCBpbnQgZGF0YUxlbmd0aCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5n
KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgZG91YmxlIGZpbmlzaFRpbWUpIG92ZXJyaWRlOwog
ICAgIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCBkaWRGYWlsUmVkaXJlY3RDaGVjaygpIG92ZXJyaWRlOwogCiAgICAgYm9vbCByZXNwb25zZUlz
WE1MKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMzhlYjFiY2ZhMDIyOTA1YWMyYmI1NWRhMGRmMTAzZjRl
N2U5ZWRmLi43ZDVmNGFmMjZkMWRmN2ViM2NjMWI1MzM0ZmY0NjY3Yzg0ODA5MzE1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTYtMDYtMjQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5mQGdtYWls
LmNvbT4KKworICAgICAgICBSZW1vdmUgZGlkRmFpbFJlZGlyZWN0Q2hlY2sgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCBjYWxsYmFjaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTU5MDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9j
b25uZWN0LXNyYy1ldmVudHNvdXJjZS1yZWRpcmVjdC10by1ibG9ja2VkLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25u
ZWN0LXNyYy14bWxodHRwcmVxdWVzdC1yZWRpcmVjdC10by1ibG9ja2VkLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3Jr
ZXItY3NwLWJsb2Nrcy14aHItcmVkaXJlY3QtY3Jvc3Mtb3JpZ2luLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLWFuZC1yZWRp
cmVjdHMtYXN5bmMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvYWNjZXNzLWNvbnRyb2wtYW5kLXJlZGlyZWN0cy1leHBlY3RlZC50eHQ6CisKIDIwMTYt
MDYtMjMgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
T09NIEFzc2VydGlvbiBmYWlsdXJlIGluIEFycmF5LnByb3RvdHlwZS50b1N0cmluZwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvY29ubmVjdC1zcmMtZXZlbnRzb3VyY2UtcmVkaXJlY3QtdG8tYmxvY2tlZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9jb25uZWN0LXNyYy1ldmVudHNvdXJjZS1yZWRpcmVjdC10by1ibG9ja2VkLWV4cGVjdGVkLnR4
dAppbmRleCA1Y2FjZjk1ZjgzODg0MjliN2MwMjU4Mjk4ZDIxM2EwYjZhNzgyOTM1Li4yNTgwODcz
ZGVlMWQ5ZDNjNmE5ZWYzYTM5ZjU2MThmNzA0MmVlZmM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy1l
dmVudHNvdXJjZS1yZWRpcmVjdC10by1ibG9ja2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNy
Yy1ldmVudHNvdXJjZS1yZWRpcmVjdC10by1ibG9ja2VkLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDUgQEAKIENPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBjb25uZWN0IHRvIGh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9ldmVudHNvdXJjZS9yZXNvdXJjZXMvc2ltcGxlLWV2ZW50LXN0cmVhbS5hc2lz
IGJlY2F1c2UgaXQgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBjb25uZWN0LXNyYyBkaXJlY3RpdmUg
b2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgorQ09OU09MRSBNRVNTQUdFOiBFdmVudFNv
dXJjZSBjYW5ub3QgbG9hZCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3Jlc291cmNlcy9yZWRpci5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9ldmVudHNvdXJjZS9yZXNvdXJjZXMvc2ltcGxlLWV2ZW50LXN0cmVhbS5hc2lzLiBGYWlsZWQg
Q1NQIHJlZGlyZWN0IGNoZWNrLgogUEFTUyBFdmVudFNvdXJjZSgpIGRpZCBub3QgZm9sbG93IHRo
ZSBkaXNhbGxvd2VkIHJlZGlyZWN0LgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9jb25uZWN0LXNyYy14bWxodHRwcmVxdWVzdC1yZWRpcmVjdC10by1ibG9ja2Vk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0dHByZXF1ZXN0LXJlZGlyZWN0LXRvLWJsb2Nr
ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDU1MDZhMDFkNTFlMTZiYTJlMWMwOWMzZDYzZmUwNDYxYzA4
NGQ4MWEuLmNjMWIzMzdmZmE2YjU4YmRjMGM1M2M0ZGRhODU3ZDJiODc5NjIyZmYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L2Nvbm5lY3Qtc3JjLXhtbGh0dHByZXF1ZXN0LXJlZGlyZWN0LXRvLWJsb2NrZWQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0dHByZXF1ZXN0LXJlZGlyZWN0LXRvLWJsb2NrZWQtZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNSBAQAogQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGNv
bm5lY3QgdG8gaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9yZXNvdXJjZXMveGhyLXJlZGlyZWN0LW5vdC1hbGxvd2VkLnBsIGJlY2F1c2UgaXQgZG9l
cyBub3QgYXBwZWFyIGluIHRoZSBjb25uZWN0LXNyYyBkaXJlY3RpdmUgb2YgdGhlIENvbnRlbnQg
U2VjdXJpdHkgUG9saWN5LgorQ09OU09MRSBNRVNTQUdFOiBYTUxIdHRwUmVxdWVzdCBjYW5ub3Qg
bG9hZCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3Jlc291cmNlcy9yZWRpci5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3hoci1yZWRpcmVjdC1ub3QtYWxsb3dlZC5w
bC4gRmFpbGVkIENTUCByZWRpcmVjdCBjaGVjay4KIFBBU1MgWE1MSHR0cFJlcXVlc3Quc2VuZCgp
IGRpZCBub3QgZm9sbG93IHRoZSBkaXNhbGxvd2VkIHJlZGlyZWN0LgogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItY3NwLWJsb2Nrcy14aHItcmVkaXJl
Y3QtY3Jvc3Mtb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci1jc3AtYmxvY2tzLXhoci1yZWRpcmVj
dC1jcm9zcy1vcmlnaW4tZXhwZWN0ZWQudHh0CmluZGV4IDcwNzUzNmYxODUxYjQ0NmRlMDMyYmFh
ZGJmNjkyNmIyNTQ0OWZkOTYuLjNkZDBjMDMzYTY0ODFkOGNmZjZmMmNmNzNhMzY0YTUwOWQ0M2Q0
NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3dvcmtlci1jc3AtYmxvY2tzLXhoci1yZWRpcmVjdC1jcm9zcy1vcmlnaW4t
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3dvcmtlci1jc3AtYmxvY2tzLXhoci1yZWRpcmVjdC1jcm9zcy1vcmln
aW4tZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBYTUxIdHRw
UmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9yZWRpci5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3cu
Y2dpLiBGYWlsZWQgQ1NQIHJlZGlyZWN0IGNoZWNrLgogVGhpcyB0ZXN0cyBhbiBYSFIgcmVxdWVz
dCBtYWRlIGZyb20gYSB3b3JrZXIgaXMgYmxvY2tlZCBpZiBpdCByZWRpcmVjdHMgdG8gYSBjcm9z
cy1vcmlnaW4gcmVzb3VyY2UgdGhhdCBpcyBub3QgbGlzdGVkIGFzIGEgY29ubmVjdC1zcmMgaW4g
dGhlIENTUCBvZiB0aGUgd29ya2VyLgogCiBQQVNTIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTmV0
d29ya0Vycm9yOiBET00gRXhjZXB0aW9uIDE5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1hbmQtcmVkaXJlY3RzLWFzeW5j
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNj
ZXNzLWNvbnRyb2wtYW5kLXJlZGlyZWN0cy1hc3luYy1leHBlY3RlZC50eHQKaW5kZXggNjYzN2Uy
YmQzOGJmYmJhYmQxNWNhODNjNjVlZTIyYTMyMDVkNzM3MC4uMmI2YWY1MDc5ODE3NmU0ZTJhYTVl
Y2E4NmEwNDkzODliMDgzMTE1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1hbmQtcmVkaXJlY3RzLWFzeW5jLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1j
b250cm9sLWFuZC1yZWRpcmVjdHMtYXN5bmMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsOSBAQAor
Q09OU09MRSBNRVNTQUdFOiBYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxo
b3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3JlZGlyZWN0LWNvcnMucGhwP3VybD1o
dHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250
cm9sLWJhc2ljLWFsbG93LXN0YXIuY2dpLiBGYWlsZWQgcmVkaXJlY3Rpb24gYWNjZXNzIGNvbnRy
b2wgY2hlY2suCitDT05TT0xFIE1FU1NBR0U6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvcmVkaXJlY3QtY29y
cy5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMv
YWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3ctc3Rhci5jZ2kmJTIwJTIwYWNjZXNzLWNvbnRyb2wt
YWxsb3ctb3JpZ2luPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC4gRmFpbGVkIHJlZGlyZWN0aW9uIGFj
Y2VzcyBjb250cm9sIGNoZWNrLgorQ09OU09MRSBNRVNTQUdFOiBYTUxIdHRwUmVxdWVzdCBjYW5u
b3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3Jl
ZGlyZWN0LWNvcnMucGhwP3VybD1odHRwOi8vdXNlcm5hbWU6cGFzc3dvcmRAbG9jYWxob3N0Ojgw
MDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LXN0
YXIuY2dpJiUyMCUyMGFjY2Vzcy1jb250cm9sLWFsbG93LW9yaWdpbj1odHRwOi8vbG9jYWxob3N0
OjgwMDAuIEZhaWxlZCByZWRpcmVjdGlvbiBhY2Nlc3MgY29udHJvbCBjaGVjay4KK0NPTlNPTEUg
TUVTU0FHRTogWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAw
L3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnBocD91cmw9Zm9vOi8vYmFy
LmNnaSYlMjAlMjBhY2Nlc3MtY29udHJvbC1hbGxvdy1vcmlnaW49aHR0cDovL2xvY2FsaG9zdDo4
MDAwLiBGYWlsZWQgcmVkaXJlY3Rpb24gYWNjZXNzIGNvbnRyb2wgY2hlY2suCiBDT05TT0xFIE1F
U1NBR0U6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94
bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5waHA/cmVkaXJlY3QtcHJlZmxp
Z2h0PXRydWUmJTIwJTIwdXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9y
ZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3ctc3Rhci5jZ2kmJTIwJTIwYWNjZXNz
LWNvbnRyb2wtYWxsb3ctb3JpZ2luPSouIFByZWZsaWdodCByZXNwb25zZSBpcyBub3Qgc3VjY2Vz
c2Z1bAorQ09OU09MRSBNRVNTQUdFOiBYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8v
bG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3JlZGlyZWN0LWNvcnMucGhw
P3JlZGlyZWN0LXByZWZsaWdodD1mYWxzZSYlMjAlMjB1cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAw
L3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy1zdGFy
LmNnaSYlMjAlMjBhY2Nlc3MtY29udHJvbC1hbGxvdy1vcmlnaW49KiYlMjAlMjBhY2Nlc3MtY29u
dHJvbC1hbGxvdy1oZWFkZXJzPXgtd2Via2l0LiBGYWlsZWQgcmVkaXJlY3Rpb24gYWNjZXNzIGNv
bnRyb2wgY2hlY2suCiBUZXN0cyB0aGF0IGFzeW5jaHJvbm91cyBYTUxIdHRwUmVxdWVzdHMgaGFu
ZGxlIHJlZGlyZWN0cyBhY2NvcmRpbmcgdG8gdGhlIENPUlMgc3RhbmRhcmQuCiAKIFRlc3Rpbmcg
aHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9yZWRpcmVjdC1j
b3JzLnBocD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNl
cy9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy1zdGFyLmNnaSB3aXRob3V0IGNyZWRlbnRpYWxz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vz
cy1jb250cm9sLWFuZC1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1hbmQtcmVkaXJlY3RzLWV4cGVjdGVk
LnR4dAppbmRleCBlNWIyZmU3NTBmYWY5MGM4MDI1M2Q4ZTZlYzViYzc3MDIwYTQ5MDQwLi43NmI4
YjgwODdiZTJmNjNmM2E4NTRhNjExZmM0Y2IyM2RmZGI4M2EwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLWFuZC1yZWRpcmVj
dHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvYWNjZXNzLWNvbnRyb2wtYW5kLXJlZGlyZWN0cy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw2
IEBACitDT05TT0xFIE1FU1NBR0U6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwOi8vMTI3LjAuMC4x
OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93
LmNnaS4gRmFpbGVkIHJlZGlyZWN0aW9uIGFjY2VzcyBjb250cm9sIGNoZWNrLgorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDI1OiBYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxo
b3N0OjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAw
L3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy5jZ2ku
IEZhaWxlZCByZWRpcmVjdGlvbiBhY2Nlc3MgY29udHJvbCBjaGVjay4KK0NPTlNPTEUgTUVTU0FH
RTogWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291
cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVz
dC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3cuY2dpLiBGYWlsZWQgcmVkaXJl
Y3Rpb24gYWNjZXNzIGNvbnRyb2wgY2hlY2suCiBUZXN0cyB0aGF0IHJlZGlyZWN0cyBiZXR3ZWVu
IG9yaWdpbnMgYXJlIG5ldmVyIGFsbG93ZWQsIGV2ZW4gd2hlbiBhY2Nlc3MgY29udHJvbCBpcyBp
bnZvbHZlZC4KIAogUGVyIHRoZSBzcGVjLCB0aGVzZSB0ZXN0IGNhc2VzIHNob3VsZCBiZSBhbGxv
d2VkLCBidXQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0cyBhcmUgY3VycmVudGx5IHVuc3VwcG9ydGVk
IGluIFdlYkNvcmUuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282108</attachid>
            <date>2016-06-27 00:59:32 -0700</date>
            <delta_ts>2016-06-27 01:28:48 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-159085-20160627095917.patch</filename>
            <type>text/plain</type>
            <size>21666</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODNmMzI3OWYwZmU5ZDFj
NWMxZjdkYzIzZWU5MWUzYjAxY2U2OWE3Ny4uMzQ0NTY3NTVmYzViMGM5ZDExZDAyMmZjMTI4NTJh
MjNmZGZjZmU4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE2LTA2LTI3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgZGlkRmFpbFJl
ZGlyZWN0Q2hlY2sgVGhyZWFkYWJsZUxvYWRlckNsaWVudCBjYWxsYmFjaworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5MDg1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFuaWVsIEJhdGVzLgorCisgICAgICAgIFJlbW92aW5nIGRpZEZhaWxSZWRpcmVj
dENoZWNrIGFuZCB1c2luZyBkaWRGYWlsQWNjZXNzQ29udHJvbENoZWNrIGluc3RlYWQuCisgICAg
ICAgIFRoZSBjaGFuZ2UgaW4gYmVoYXZpb3IgaXMgdGhhdCBhZGRpdGlvbmFsIGVycm9yIG1lc3Nh
Z2VzIGFyZSBvdXRwdXR0ZWQgaW4gdGhlIGNvbnNvbGUuCisgICAgICAgIFRoZXNlIG1lc3NhZ2Vz
IGdpdmUgYWRkaXRpb25hbCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uCisKKyAgICAgICAgQ292ZXJl
ZCBieSByZWJhc2VkIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRl
ci5jcHA6IFJlbW92aW5nIGRpZEZhaWxSZWRpcmVjdENoZWNrLgorICAgICAgICAqIE1vZHVsZXMv
ZmV0Y2gvRmV0Y2hMb2FkZXIuaDogRGl0dG8uCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ck5ldHdvcmtBZ2VudC5jcHA6IERpdHRvLgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVh
ZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyOjpyZWRpcmVjdFJlY2VpdmVkKTogQ2FsbGluZyBkaWRGYWlsQWNjZXNzQ29udHJvbENoZWNr
IHdpdGggaW5mb3JtYXRpb24gb24gZmFpbGluZworICAgICAgICBVUkwuCisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXF1ZXN0KTogRGl0dG8uCisgICAg
ICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaDogUmVtb3ZpbmcgZGlkRmFpbFJl
ZGlyZWN0Q2hlY2suCisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFw
cGVyLmg6IERpdHRvLgorICAgICAgICAqIGxvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNw
cDogRGl0dG8uCisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaDogRGl0
dG8uCisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6IERpdHRvLgorICAgICAgICAqIHBh
Z2UvRXZlbnRTb3VyY2UuaDogRGl0dG8uCisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3JpcHRM
b2FkZXIuY3BwOiBEaXR0by4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5o
OiBEaXR0by4KKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOiBEaXR0by4KKyAgICAg
ICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDogRGl0dG8uCisKIDIwMTYtMDYtMjYgIEd5dXlvdW5n
IEtpbSAgPGd5dXlvdW5nLmtpbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtFRkxdIEZpeCBidWls
ZCB3YXJuaW5nIHdoZW4gdXNpbmcgZ2VvY2x1ZTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaExvYWRlci5jcHAKaW5kZXggODg1ZmIyMjMzM2ViYzAwMmZlZjNmN2JhYTJjN2Uy
ODg2NzIwOTUyMy4uZGY0YTdlNzY3NWJkMDZmMWFjZTYyMDY4MTY4MTAyZDE4ODg3MWIyYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKQEAgLTE0NCwx
MSArMTQ0LDYgQEAgdm9pZCBGZXRjaExvYWRlcjo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9y
JikKICAgICBtX2NsaWVudC5kaWRGYWlsKCk7CiB9CiAKLXZvaWQgRmV0Y2hMb2FkZXI6OmRpZEZh
aWxSZWRpcmVjdENoZWNrKCkKLXsKLSAgICBtX2NsaWVudC5kaWRGYWlsKCk7Ci19Ci0KIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShGRVRDSF9BUEkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmgKaW5kZXggYjcyNWUzNTFhZWJmNzk2
OWU2Y2U0YWU1MmJiYTlhYjUzYzZhOTkwMi4uZDQ3M2ZmMTc0NTFmY2E1YzFhNzEzZmI1NDNiZDBi
NmEwYjFkZTAyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIu
aApAQCAtNjIsNyArNjIsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29u
c3QgY2hhciosIGludCkgZmluYWw7CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVk
IGxvbmcsIGRvdWJsZSkgZmluYWw7CiAgICAgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJy
b3ImKSBmaW5hbDsKLSAgICB2b2lkIGRpZEZhaWxSZWRpcmVjdENoZWNrKCkgZmluYWw7CiAKICAg
ICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcAppbmRleCA5MTg2ODZl
YTMyZWYwZmUwYmM0MTg1ZGJiODJiOGYwNzFmOGM0NmVmLi5jODM5N2YwYmJlZTQ5YWVlNDcwZjVk
MTFjODY0ZjFlYTJhMTIyYmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcApAQCAtMTI4LDkgKzEyOCw5IEBAIHB1YmxpYzoKICAg
ICAgICAgZGlzcG9zZSgpOwogICAgIH0KIAotICAgIHZvaWQgZGlkRmFpbFJlZGlyZWN0Q2hlY2so
KSBvdmVycmlkZQorICAgIHZvaWQgZGlkRmFpbEFjY2Vzc0NvbnRyb2xDaGVjayhjb25zdCBSZXNv
dXJjZUVycm9yJikgZmluYWwKICAgICB7Ci0gICAgICAgIG1fY2FsbGJhY2stPnNlbmRGYWlsdXJl
KEFTQ0lJTGl0ZXJhbCgiTG9hZGluZyByZXNvdXJjZSBmb3IgaW5zcGVjdG9yIGZhaWxlZCByZWRp
cmVjdCBjaGVjayIpKTsKKyAgICAgICAgbV9jYWxsYmFjay0+c2VuZEZhaWx1cmUoQVNDSUlMaXRl
cmFsKCJMb2FkaW5nIHJlc291cmNlIGZvciBpbnNwZWN0b3IgZmFpbGVkIGFjY2VzcyBjb250cm9s
IGNoZWNrIikpOwogICAgICAgICBkaXNwb3NlKCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDAzYjRiY2I2
M2M1ZmNlNzUzNmI5OTY2MWM0YjI0ZWZlMTViMzRhNWIuLjk4MDNiNWY1MGQyYjQ1ZDE4Y2QwYTky
OTc4ZDk1OGI5YTFhNWY4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC0xOTIsNiArMTkyLDE2IEBAIHZvaWQgRG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyOjpjbGVhclJlc291cmNlKCkKICAgICAgICAgbV9wcmVmbGlnaHRD
aGVja2VyID0gTnVsbG9wdDsKIH0KIAorc3RhdGljIGlubGluZSB2b2lkIHJlcG9ydENvbnRlbnRT
ZWN1cml0eVBvbGljeUVycm9yKFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgY29uc3Qg
VVJMJiB1cmwpCit7CisgICAgY2xpZW50LmRpZEZhaWxBY2Nlc3NDb250cm9sQ2hlY2soUmVzb3Vy
Y2VFcnJvcihlcnJvckRvbWFpbldlYktpdEludGVybmFsLCAwLCB1cmwsICJDcm9zcy1vcmlnaW4g
cmVkaXJlY3Rpb24gZGVuaWVkIGJ5IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LiIpKTsKK30KKwor
c3RhdGljIGlubGluZSB2b2lkIHJlcG9ydENyb3NzT3JpZ2luUmVzb3VyY2VTaGFyaW5nRXJyb3Io
VGhyZWFkYWJsZUxvYWRlckNsaWVudCYgY2xpZW50LCBjb25zdCBVUkwmIHVybCkKK3sKKyAgICBj
bGllbnQuZGlkRmFpbEFjY2Vzc0NvbnRyb2xDaGVjayhSZXNvdXJjZUVycm9yKGVycm9yRG9tYWlu
V2ViS2l0SW50ZXJuYWwsIDAsIHVybCwgIkNyb3NzLW9yaWdpbiByZWRpcmVjdGlvbiBkZW5pZWQg
YnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIpKTsKK30KKwogdm9pZCBE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI6OnJlZGlyZWN0UmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2Uq
IHJlc291cmNlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlZGlyZWN0UmVzcG9uc2UpCiB7CiAgICAgQVNTRVJUKG1fY2xpZW50KTsKQEAgLTE5OSw3
ICsyMDksNyBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6cmVkaXJlY3RSZWNlaXZl
ZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIFJlc291cgogCiAgICAgUmVmPERvY3VtZW50VGhy
ZWFkYWJsZUxvYWRlcj4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAgICAgaWYgKCFpc0FsbG93ZWRC
eUNvbnRlbnRTZWN1cml0eVBvbGljeShyZXF1ZXN0LnVybCgpLCAhcmVkaXJlY3RSZXNwb25zZS5p
c051bGwoKSkpIHsKLSAgICAgICAgbV9jbGllbnQtPmRpZEZhaWxSZWRpcmVjdENoZWNrKCk7Cisg
ICAgICAgIHJlcG9ydENvbnRlbnRTZWN1cml0eVBvbGljeUVycm9yKCptX2NsaWVudCwgcmVkaXJl
Y3RSZXNwb25zZS51cmwoKSk7CiAgICAgICAgIHJlcXVlc3QgPSBSZXNvdXJjZVJlcXVlc3QoKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTI0NSw3ICsyNTUsNyBAQCB2b2lkIERvY3VtZW50
VGhyZWFkYWJsZUxvYWRlcjo6cmVkaXJlY3RSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSogcmVzb3Vy
Y2UsIFJlc291cgogICAgICAgICB9CiAgICAgfQogCi0gICAgbV9jbGllbnQtPmRpZEZhaWxSZWRp
cmVjdENoZWNrKCk7CisgICAgcmVwb3J0Q3Jvc3NPcmlnaW5SZXNvdXJjZVNoYXJpbmdFcnJvcigq
bV9jbGllbnQsIHJlZGlyZWN0UmVzcG9uc2UudXJsKCkpOwogICAgIHJlcXVlc3QgPSBSZXNvdXJj
ZVJlcXVlc3QoKTsKIH0KIApAQCAtMzgxLDkgKzM5MSwxNSBAQCB2b2lkIERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcjo6bG9hZFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBT
ZWN1cgogICAgIC8vIHJlcXVlc3QgYW5kIHJlc3BvbnNlIFVSTHMuIFRoaXMgaXNuJ3QgYSBwZXJm
ZWN0IHRlc3QgdGhvdWdoLCBzaW5jZSBhIHNlcnZlciBjYW4gc2VydmUgYSByZWRpcmVjdCB0byB0
aGUgc2FtZSBVUkwgdGhhdCB3YXMKICAgICAvLyByZXF1ZXN0ZWQuIEFsc28gY29tcGFyaW5nIHRo
ZSByZXF1ZXN0IGFuZCByZXNwb25zZSBVUkxzIGFzIHN0cmluZ3Mgd2lsbCBmYWlsIGlmIHRoZSBy
ZXF1ZXN0VVJMIHN0aWxsIGhhcyBpdHMgY3JlZGVudGlhbHMuCiAgICAgYm9vbCBkaWRSZWRpcmVj
dCA9IHJlcXVlc3RVUkwgIT0gcmVzcG9uc2UudXJsKCk7Ci0gICAgaWYgKGRpZFJlZGlyZWN0ICYm
ICghaXNBbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kocmVzcG9uc2UudXJsKCksIGRpZFJl
ZGlyZWN0KSB8fCAhaXNBbGxvd2VkUmVkaXJlY3QocmVzcG9uc2UudXJsKCkpKSkgewotICAgICAg
ICBtX2NsaWVudC0+ZGlkRmFpbFJlZGlyZWN0Q2hlY2soKTsKLSAgICAgICAgcmV0dXJuOworICAg
IGlmIChkaWRSZWRpcmVjdCkgeworICAgICAgICBpZiAoIWlzQWxsb3dlZEJ5Q29udGVudFNlY3Vy
aXR5UG9saWN5KHJlc3BvbnNlLnVybCgpLCBkaWRSZWRpcmVjdCkpIHsKKyAgICAgICAgICAgIHJl
cG9ydENvbnRlbnRTZWN1cml0eVBvbGljeUVycm9yKCptX2NsaWVudCwgcmVxdWVzdFVSTCk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFpc0FsbG93ZWRSZWRp
cmVjdChyZXNwb25zZS51cmwoKSkpIHsKKyAgICAgICAgICAgIHJlcG9ydENyb3NzT3JpZ2luUmVz
b3VyY2VTaGFyaW5nRXJyb3IoKm1fY2xpZW50LCByZXF1ZXN0VVJMKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGRpZFJlY2VpdmVSZXNwb25zZShpZGVudGlm
aWVyLCByZXNwb25zZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFk
YWJsZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2Fk
ZXJDbGllbnQuaAppbmRleCA3YzA2ZmI0M2NhOTIyYjU3ZmM1ZThlYzE3OTRlZmYxNWM4ZmE5YTRm
Li42MjlhYTNkOTJhYWU2NDRmMWFhZTFiZjk0MTE2NjdjNmU4Y2RhYTQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKQEAgLTQ3LDcgKzQ3LDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9h
ZGluZyh1bnNpZ25lZCBsb25nIC8qaWRlbnRpZmllciovLCBkb3VibGUgLypmaW5pc2hUaW1lKi8p
IHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikg
eyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsQWNjZXNzQ29udHJvbENoZWNrKGNvbnN0
IFJlc291cmNlRXJyb3ImIGVycm9yKSB7IGRpZEZhaWwoZXJyb3IpOyB9Ci0gICAgICAgIHZpcnR1
YWwgdm9pZCBkaWRGYWlsUmVkaXJlY3RDaGVjaygpIHsgfQogCiAgICAgcHJvdGVjdGVkOgogICAg
ICAgICBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCmluZGV4IGJiNzNhNDU2
NWY3ZjM1MDNkMTdkNDY4OTY5OWRkMjYwZmMzNjRjNGYuLjZjM2VlNWIzODUyYzFkZTYwODQ4ZWQ0
OWMzZDY1Y2ZmMmI3NTIzMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJl
YWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9U
aHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC05NSwxMyArOTUsNiBAQCBwdWJsaWM6
CiAgICAgICAgICAgICBtX2NsaWVudC0+ZGlkRmFpbEFjY2Vzc0NvbnRyb2xDaGVjayhlcnJvcik7
CiAgICAgfQogCi0gICAgdm9pZCBkaWRGYWlsUmVkaXJlY3RDaGVjaygpCi0gICAgewotICAgICAg
ICBtX2RvbmUgPSB0cnVlOwotICAgICAgICBpZiAobV9jbGllbnQpCi0gICAgICAgICAgICBtX2Ns
aWVudC0+ZGlkRmFpbFJlZGlyZWN0Q2hlY2soKTsKLSAgICB9Ci0KICAgICB2b2lkIGRpZFJlY2Vp
dmVBdXRoZW50aWNhdGlvbkNhbmNlbGxhdGlvbih1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogICAgIHsKICAgICAgICAgaWYgKG1fY2xp
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIu
Y3BwCmluZGV4IDY2MDJkY2VkNDM2ODFjMzU4NjEwZDM4NGJlZjM5MGZjYjY4NTQ4YjguLjBiZDgx
NTVkYTYwYjk0OGMzYTg0MzQ2NTU5MThkMDgwY2Q3OGQ2YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTIwNiwxNCArMjA2LDQg
QEAgdm9pZCBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRGYWls
QWNjZXNzQ29udHJvbENoZWNrKGNvbnN0IFIKICAgICB9LCBtX3Rhc2tNb2RlKTsKIH0KIAotdm9p
ZCBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRGYWlsUmVkaXJl
Y3RDaGVjaygpCi17Ci0gICAgbV9sb2FkaW5nRmluaXNoZWQgPSB0cnVlOwotICAgIFJlZjxUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlcj4gcHJvdGVjdGVkV29ya2VyQ2xpZW50V3JhcHBlciA9
ICptX3dvcmtlckNsaWVudFdyYXBwZXI7Ci0gICAgbV9sb2FkZXJQcm94eS5wb3N0VGFza0Zvck1v
ZGVUb1dvcmtlckdsb2JhbFNjb3BlKFtwcm90ZWN0ZWRXb3JrZXJDbGllbnRXcmFwcGVyID0gV1RG
TW92ZShwcm90ZWN0ZWRXb3JrZXJDbGllbnRXcmFwcGVyKV0gKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQpIG11dGFibGUgewotICAgICAgICBBU1NFUlRfVU5VU0VEKGNvbnRleHQsIGNv
bnRleHQuaXNXb3JrZXJHbG9iYWxTY29wZSgpKTsKLSAgICAgICAgcHJvdGVjdGVkV29ya2VyQ2xp
ZW50V3JhcHBlci0+ZGlkRmFpbFJlZGlyZWN0Q2hlY2soKTsKLSAgICB9LCBtX3Rhc2tNb2RlKTsK
LX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9X
b3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggNjZiZTBlODUyZTliOTUzZjg2MjM4YWIwNWUw
MTA3OWU2YzQ3YTNhNy4uOTBiZjkwZGJlODdkODE4NDU3NjI0NmM0MzllMzcwNmVhM2EwNWU0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCkBA
IC0xMDUsNyArMTA1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdm9pZCBk
aWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgZG91YmxlIGZpbmlzaFRp
bWUpIG92ZXJyaWRlOwogICAgICAgICAgICAgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJy
b3ImKSBvdmVycmlkZTsKICAgICAgICAgICAgIHZvaWQgZGlkRmFpbEFjY2Vzc0NvbnRyb2xDaGVj
ayhjb25zdCBSZXNvdXJjZUVycm9yJikgb3ZlcnJpZGU7Ci0gICAgICAgICAgICB2b2lkIGRpZEZh
aWxSZWRpcmVjdENoZWNrKCkgb3ZlcnJpZGU7CiAKICAgICAgICAgICAgIC8vIE9ubHkgdG8gYmUg
dXNlZCBvbiB0aGUgbWFpbiB0aHJlYWQuCiAgICAgICAgICAgICBSZWZQdHI8VGhyZWFkYWJsZUxv
YWRlcj4gbV9tYWluVGhyZWFkTG9hZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudFNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcApp
bmRleCBhOGRkMzBkM2RmMWRlNDM4Y2Q2NzM0MTgwY2YwZmZmMjIyMDJhMTU4Li43NzE1MmU1OGFl
MjQ0ZWIwNTAyNjRjNzRkZmNjZGU1MWYxOWE0YWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291
cmNlLmNwcApAQCAtMjYxLDExICsyNjEsNiBAQCB2b2lkIEV2ZW50U291cmNlOjpkaWRGYWlsQWNj
ZXNzQ29udHJvbENoZWNrKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogICAgIGFib3J0Q29u
bmVjdGlvbkF0dGVtcHQoKTsKIH0KIAotdm9pZCBFdmVudFNvdXJjZTo6ZGlkRmFpbFJlZGlyZWN0
Q2hlY2soKQotewotICAgIGFib3J0Q29ubmVjdGlvbkF0dGVtcHQoKTsKLX0KLQogdm9pZCBFdmVu
dFNvdXJjZTo6YWJvcnRDb25uZWN0aW9uQXR0ZW1wdCgpCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUg
PT0gQ09OTkVDVElORyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291
cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5kZXggYWM0MjE5MWM3
MmZiYjIxOTllZGQ2NGI3YTEyNGIyNzhiN2ZmNTdkNi4uNmI0Zjc2NzZiYzllOTY2ZWNkNjljZTMz
YmViMWZlZTdmZTU2MjhkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNv
dXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaApAQCAtODIsNyAr
ODIsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25n
LCBkb3VibGUpIGZpbmFsOwogICAgIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikg
ZmluYWw7CiAgICAgdm9pZCBkaWRGYWlsQWNjZXNzQ29udHJvbENoZWNrKGNvbnN0IFJlc291cmNl
RXJyb3ImKSBmaW5hbDsKLSAgICB2b2lkIGRpZEZhaWxSZWRpcmVjdENoZWNrKCkgZmluYWw7CiAK
ICAgICB2b2lkIHN0b3AoKSBmaW5hbDsKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5jcHAKaW5kZXggOTVlMDczODQ1OWMyOWExYTNkZjNjMjIxZTlkODMxNzU0N2ZiY2Rk
ZS4uOTU0N2RhMmUyMzJlOTQ1YTAzYzIyNjlkMjI0YzhhMjM0ZGFlMTFmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcApAQCAtMTYxLDExICsxNjEs
NiBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9y
JikKICAgICBub3RpZnlFcnJvcigpOwogfQogCi12b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6ZGlk
RmFpbFJlZGlyZWN0Q2hlY2soKQotewotICAgIG5vdGlmeUVycm9yKCk7Ci19Ci0KIHZvaWQgV29y
a2VyU2NyaXB0TG9hZGVyOjpub3RpZnlFcnJvcigpCiB7CiAgICAgbV9mYWlsZWQgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKaW5kZXggZWE2NTU2
ZDM3YmEzZmQyNmJlNzUyNjA3YTZiZTM3ZmNlYjI3YjQ0YS4uNGIxNWI3OWI4M2FhZjBkODBiOWY1
YjdiZmE2MmIyMTZjY2E2NjI5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5oCkBAIC02OSw3ICs2OSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCkg
b3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25nIGlk
ZW50aWZpZXIsIGRvdWJsZSkgb3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgZGlkRmFpbChjb25zdCBS
ZXNvdXJjZUVycm9yJikgb3ZlcnJpZGU7Ci0gICAgICAgIHZvaWQgZGlkRmFpbFJlZGlyZWN0Q2hl
Y2soKSBvdmVycmlkZTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIGZyaWVuZCBjbGFzcyBXVEY6
OlJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuY3BwCmluZGV4IDg3Y2RmYTdiMWEyOGYzNjE1NDhmMGMxM2FkYWQ4ZTY3YTYyMTkwZGUu
LjgxYzYzZDdiZjE5M2RkYjA3OGNhYTk1NTYwZTVmZDlhMzQ4YjJiNDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtMTAzOCwxMSArMTAzOCw2IEBAIHZvaWQgWE1MSHR0
cFJlcXVlc3Q6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiAgICAgbmV0d29y
a0Vycm9yKCk7CiB9CiAKLXZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWxSZWRpcmVjdENoZWNr
KCkKLXsKLSAgICBuZXR3b3JrRXJyb3IoKTsKLX0KLQogdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlk
RmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGRvdWJsZSkKIHsKICAgICBp
ZiAobV9lcnJvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggYjg4MDg3MmMy
Y2MxOGI2YTViNDY3ZTRmNjBiMzJhNTM2YzZhMTU4NC4uOWIzM2ZiNjE5MGY1YWQ3ZmFjZDU0ODIx
MTY3ODg5N2IxOTNiZDk3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTE1
MSw3ICsxNTEsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hh
ciogZGF0YSwgaW50IGRhdGFMZW5ndGgpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkRmluaXNoTG9h
ZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGRvdWJsZSBmaW5pc2hUaW1lKSBvdmVycmlk
ZTsKICAgICB2b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpIG92ZXJyaWRlOwotICAg
IHZvaWQgZGlkRmFpbFJlZGlyZWN0Q2hlY2soKSBvdmVycmlkZTsKIAogICAgIGJvb2wgcmVzcG9u
c2VJc1hNTCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjViYmMzYzdhNzc0NmRjOWEzNzg2OTY5ZTY4ODQ2
NzVkZWE1YWY4MS4uMTMyMjFhZGExOWNkNzIyZDRkNWEwZTUxMDU3NDU2ZDEzNDk3ZDEwYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA2LTI3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgZGlkRmFpbFJlZGlyZWN0Q2hlY2sgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCBjYWxsYmFjaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU5MDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFuaWVsIEJhdGVz
LgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
Y29ubmVjdC1zcmMtZXZlbnRzb3VyY2UtcmVkaXJlY3QtdG8tYmxvY2tlZC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29u
bmVjdC1zcmMteG1saHR0cHJlcXVlc3QtcmVkaXJlY3QtdG8tYmxvY2tlZC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29y
a2VyLWNzcC1ibG9ja3MteGhyLXJlZGlyZWN0LWNyb3NzLW9yaWdpbi1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1hbmQtcmVk
aXJlY3RzLWFzeW5jLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L2FjY2Vzcy1jb250cm9sLWFuZC1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0OgorCiAyMDE2
LTA2LTI2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVncmVz
c2lvbjogSFRNTE9wdGlvbnNDb2xsZWN0aW9uJ3MgbmFtZWQgcHJvcGVydGllcyBoYXZlIHByZWNl
ZGVuY2Ugb3ZlciBpbmRleGVkIHByb3BlcnRpZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLWV2ZW50
c291cmNlLXJlZGlyZWN0LXRvLWJsb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMtZXZlbnRz
b3VyY2UtcmVkaXJlY3QtdG8tYmxvY2tlZC1leHBlY3RlZC50eHQKaW5kZXggNWNhY2Y5NWY4Mzg4
NDI5YjdjMDI1ODI5OGQyMTNhMGI2YTc4MjkzNS4uNzRhNjE2Zjk2YTkzZmExNzA3MGJjYjgyMTY4
YzEzZWJkMjU5MjY4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMtZXZlbnRzb3VyY2UtcmVkaXJlY3Qt
dG8tYmxvY2tlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMtZXZlbnRzb3VyY2UtcmVkaXJl
Y3QtdG8tYmxvY2tlZC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw1IEBACiBDT05TT0xFIE1FU1NB
R0U6IFJlZnVzZWQgdG8gY29ubmVjdCB0byBodHRwOi8vbG9jYWxob3N0OjgwMDAvZXZlbnRzb3Vy
Y2UvcmVzb3VyY2VzL3NpbXBsZS1ldmVudC1zdHJlYW0uYXNpcyBiZWNhdXNlIGl0IGRvZXMgbm90
IGFwcGVhciBpbiB0aGUgY29ubmVjdC1zcmMgZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3Vy
aXR5IFBvbGljeS4KK0NPTlNPTEUgTUVTU0FHRTogRXZlbnRTb3VyY2UgY2Fubm90IGxvYWQgaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJj
ZXMvcmVkaXIucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvZXZlbnRzb3VyY2UvcmVzb3Vy
Y2VzL3NpbXBsZS1ldmVudC1zdHJlYW0uYXNpcy4gQ3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9uIGRl
bmllZCBieSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KIFBBU1MgRXZlbnRTb3VyY2UoKSBkaWQg
bm90IGZvbGxvdyB0aGUgZGlzYWxsb3dlZCByZWRpcmVjdC4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMteG1saHR0cHJlcXVlc3QtcmVkaXJl
Y3QtdG8tYmxvY2tlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy14bWxodHRwcmVxdWVzdC1yZWRp
cmVjdC10by1ibG9ja2VkLWV4cGVjdGVkLnR4dAppbmRleCA1NTA2YTAxZDUxZTE2YmEyZTFjMDlj
M2Q2M2ZlMDQ2MWMwODRkODFhLi40NzMwYjJhNDgzOTRkYzU0OWZhMmM5OTdjMmI0OWYyYWE4ZTQ3
ZTY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy14bWxodHRwcmVxdWVzdC1yZWRpcmVjdC10by1ibG9j
a2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy14bWxodHRwcmVxdWVzdC1yZWRpcmVjdC10
by1ibG9ja2VkLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDUgQEAKIENPTlNPTEUgTUVTU0FHRTog
UmVmdXNlZCB0byBjb25uZWN0IHRvIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3hoci1yZWRpcmVjdC1ub3QtYWxsb3dlZC5wbCBi
ZWNhdXNlIGl0IGRvZXMgbm90IGFwcGVhciBpbiB0aGUgY29ubmVjdC1zcmMgZGlyZWN0aXZlIG9m
IHRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KK0NPTlNPTEUgTUVTU0FHRTogWE1MSHR0cFJl
cXVlc3QgY2Fubm90IGxvYWQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvcmVkaXIucGhwP3VybD1odHRwOi8vbG9jYWxob3N0Ojgw
MDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy94aHItcmVkaXJlY3Qt
bm90LWFsbG93ZWQucGwuIENyb3NzLW9yaWdpbiByZWRpcmVjdGlvbiBkZW5pZWQgYnkgQ29udGVu
dCBTZWN1cml0eSBQb2xpY3kuCiBQQVNTIFhNTEh0dHBSZXF1ZXN0LnNlbmQoKSBkaWQgbm90IGZv
bGxvdyB0aGUgZGlzYWxsb3dlZCByZWRpcmVjdC4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLWNzcC1ibG9ja3MteGhyLXJlZGlyZWN0LWNyb3NzLW9y
aWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS93b3JrZXItY3NwLWJsb2Nrcy14aHItcmVkaXJlY3QtY3Jvc3Mtb3Jp
Z2luLWV4cGVjdGVkLnR4dAppbmRleCA3MDc1MzZmMTg1MWI0NDZkZTAzMmJhYWRiZjY5MjZiMjU0
NDlmZDk2Li5jNTlhMDU5OTUxM2YxZjc5Nzg2MjkyMjZmMGZhY2QwZDIxNGMxMjFlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS93b3JrZXItY3NwLWJsb2Nrcy14aHItcmVkaXJlY3QtY3Jvc3Mtb3JpZ2luLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS93b3JrZXItY3NwLWJsb2Nrcy14aHItcmVkaXJlY3QtY3Jvc3Mtb3JpZ2luLWV4cGVjdGVk
LnR4dApAQCAtMSwzICsxLDQgQEAKK0NPTlNPTEUgTUVTU0FHRTogWE1MSHR0cFJlcXVlc3QgY2Fu
bm90IGxvYWQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9yZXNvdXJjZXMvcmVkaXIucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0
cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LmNnaS4gQ3Jvc3Mt
b3JpZ2luIHJlZGlyZWN0aW9uIGRlbmllZCBieSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KIFRo
aXMgdGVzdHMgYW4gWEhSIHJlcXVlc3QgbWFkZSBmcm9tIGEgd29ya2VyIGlzIGJsb2NrZWQgaWYg
aXQgcmVkaXJlY3RzIHRvIGEgY3Jvc3Mtb3JpZ2luIHJlc291cmNlIHRoYXQgaXMgbm90IGxpc3Rl
ZCBhcyBhIGNvbm5lY3Qtc3JjIGluIHRoZSBDU1Agb2YgdGhlIHdvcmtlci4KIAogUEFTUyB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IE5ldHdvcmtFcnJvcjogRE9NIEV4Y2VwdGlvbiAxOS4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRy
b2wtYW5kLXJlZGlyZWN0cy1hc3luYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLWFuZC1yZWRpcmVjdHMtYXN5bmMtZXhw
ZWN0ZWQudHh0CmluZGV4IDY2MzdlMmJkMzhiZmJiYWJkMTVjYTgzYzY1ZWUyMmEzMjA1ZDczNzAu
LmRiOTdkMzlkM2Q2MTAxM2NkMWFiODc0MDA2YmYxMzYxOTdkMzU4ZGEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtYW5kLXJl
ZGlyZWN0cy1hc3luYy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1hbmQtcmVkaXJlY3RzLWFzeW5jLWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogWE1MSHR0cFJlcXVlc3QgY2Fu
bm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9y
ZWRpcmVjdC1jb3JzLnBocD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0
L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy1zdGFyLmNnaS4gQ3Jvc3Mtb3Jp
Z2luIHJlZGlyZWN0aW9uIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBw
b2xpY3kuCitDT05TT0xFIE1FU1NBR0U6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5w
aHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNj
ZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3ctc3Rhci5jZ2kmJTIwJTIwYWNjZXNzLWNvbnRyb2wtYWxs
b3ctb3JpZ2luPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC4gQ3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9u
IGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuCitDT05TT0xF
IE1FU1NBR0U6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5waHA/dXJsPWh0dHA6Ly91
c2VybmFtZTpwYXNzd29yZEBsb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMv
YWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3ctc3Rhci5jZ2kmJTIwJTIwYWNjZXNzLWNvbnRyb2wt
YWxsb3ctb3JpZ2luPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC4gQ3Jvc3Mtb3JpZ2luIHJlZGlyZWN0
aW9uIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuCitDT05T
T0xFIE1FU1NBR0U6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5waHA/dXJsPWZvbzov
L2Jhci5jZ2kmJTIwJTIwYWNjZXNzLWNvbnRyb2wtYWxsb3ctb3JpZ2luPWh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC4gQ3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9uIGRlbmllZCBieSBDcm9zcy1PcmlnaW4g
UmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuCiBDT05TT0xFIE1FU1NBR0U6IFhNTEh0dHBSZXF1ZXN0
IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJj
ZXMvcmVkaXJlY3QtY29ycy5waHA/cmVkaXJlY3QtcHJlZmxpZ2h0PXRydWUmJTIwJTIwdXJsPWh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRy
b2wtYmFzaWMtYWxsb3ctc3Rhci5jZ2kmJTIwJTIwYWNjZXNzLWNvbnRyb2wtYWxsb3ctb3JpZ2lu
PSouIFByZWZsaWdodCByZXNwb25zZSBpcyBub3Qgc3VjY2Vzc2Z1bAorQ09OU09MRSBNRVNTQUdF
OiBYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0
cHJlcXVlc3QvcmVzb3VyY2VzL3JlZGlyZWN0LWNvcnMucGhwP3JlZGlyZWN0LXByZWZsaWdodD1m
YWxzZSYlMjAlMjB1cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291
cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy1zdGFyLmNnaSYlMjAlMjBhY2Nlc3MtY29u
dHJvbC1hbGxvdy1vcmlnaW49KiYlMjAlMjBhY2Nlc3MtY29udHJvbC1hbGxvdy1oZWFkZXJzPXgt
d2Via2l0LiBDcm9zcy1vcmlnaW4gcmVkaXJlY3Rpb24gZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBS
ZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4KIFRlc3RzIHRoYXQgYXN5bmNocm9ub3VzIFhNTEh0dHBS
ZXF1ZXN0cyBoYW5kbGUgcmVkaXJlY3RzIGFjY29yZGluZyB0byB0aGUgQ09SUyBzdGFuZGFyZC4K
IAogVGVzdGluZyBodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2Vz
L3JlZGlyZWN0LWNvcnMucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVl
c3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LXN0YXIuY2dpIHdpdGhvdXQg
Y3JlZGVudGlhbHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvYWNjZXNzLWNvbnRyb2wtYW5kLXJlZGlyZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLWFuZC1yZWRpcmVj
dHMtZXhwZWN0ZWQudHh0CmluZGV4IGU1YjJmZTc1MGZhZjkwYzgwMjUzZDhlNmVjNWJjNzcwMjBh
NDkwNDAuLjk0MmU4OTU0NmRiYTI2MDA2MDQ3ZTllZmZmMjA1OTI5N2ZlMWI0MmUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wt
YW5kLXJlZGlyZWN0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1hbmQtcmVkaXJlY3RzLWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDYgQEAKK0NPTlNPTEUgTUVTU0FHRTogWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxv
YWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wt
YmFzaWMtYWxsb3cuY2dpLiBDcm9zcy1vcmlnaW4gcmVkaXJlY3Rpb24gZGVuaWVkIGJ5IENyb3Nz
LU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAy
NTogWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291
cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVz
dC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3cuY2dpLiBDcm9zcy1vcmlnaW4g
cmVkaXJlY3Rpb24gZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGlj
eS4KK0NPTlNPTEUgTUVTU0FHRTogWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3cu
Y2dpLiBDcm9zcy1vcmlnaW4gcmVkaXJlY3Rpb24gZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNv
dXJjZSBTaGFyaW5nIHBvbGljeS4KIFRlc3RzIHRoYXQgcmVkaXJlY3RzIGJldHdlZW4gb3JpZ2lu
cyBhcmUgbmV2ZXIgYWxsb3dlZCwgZXZlbiB3aGVuIGFjY2VzcyBjb250cm9sIGlzIGludm9sdmVk
LgogCiBQZXIgdGhlIHNwZWMsIHRoZXNlIHRlc3QgY2FzZXMgc2hvdWxkIGJlIGFsbG93ZWQsIGJ1
dCBjcm9zcy1vcmlnaW4gcmVkaXJlY3RzIGFyZSBjdXJyZW50bHkgdW5zdXBwb3J0ZWQgaW4gV2Vi
Q29yZS4K
</data>

          </attachment>
      

    </bug>

</bugzilla>