<?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>219223</bug_id>
          
          <creation_ts>2020-11-20 13:59:59 -0800</creation_ts>
          <short_desc>AXIsolatedTree::m_axObjectCache should not be accessed on the secondary AX thread.</short_desc>
          <delta_ts>2020-11-30 06:11:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Andres Gonzalez">andresg_22</reporter>
          <assigned_to name="Andres Gonzalez">andresg_22</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1709636</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-11-20 13:59:59 -0800</bug_when>
    <thetext>AXIsolatedTree::m_axObjectCache should not be accessed on the secondary AX thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709653</commentid>
    <comment_count>1</comment_count>
      <attachid>414727</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-11-20 14:21:58 -0800</bug_when>
    <thetext>Created attachment 414727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709771</commentid>
    <comment_count>2</comment_count>
      <attachid>414727</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2020-11-21 11:07:22 -0800</bug_when>
    <thetext>Comment on attachment 414727
Patch

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

seems like a good change overall. only comment is that m_usingAXThread is not immediately clear for it&apos;s purpose based on the name. 
Does it mean that this Tree can use the AX thread, or it is on the AX thread? Is there a more clear name available?

&gt; Source/WebCore/ChangeLog:10
&gt; +        methods. this problem is fixed with this change by adding the member

this problem &gt; This problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709844</commentid>
    <comment_count>3</comment_count>
      <attachid>414791</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-11-22 11:37:59 -0800</bug_when>
    <thetext>Created attachment 414791
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709845</commentid>
    <comment_count>4</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-11-22 11:40:11 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #2)
&gt; Comment on attachment 414727 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=414727&amp;action=review
&gt; 
&gt; seems like a good change overall. only comment is that m_usingAXThread is
&gt; not immediately clear for it&apos;s purpose based on the name. 
&gt; Does it mean that this Tree can use the AX thread, or it is on the AX
&gt; thread? Is there a more clear name available?

Renamed it to m_usedOnAXThread.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        methods. this problem is fixed with this change by adding the member
&gt; 
&gt; this problem &gt; This problem

Fixed. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710382</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-27 14:01:31 -0800</bug_when>
    <thetext>&lt;rdar://problem/71768053&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710578</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-30 06:11:25 -0800</bug_when>
    <thetext>Committed r270238: &lt;https://trac.webkit.org/changeset/270238&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 414791.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414727</attachid>
            <date>2020-11-20 14:21:58 -0800</date>
            <delta_ts>2020-11-22 11:37:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219223-20201120172156.patch</filename>
            <type>text/plain</type>
            <size>18988</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTFiNTI2MDRkMWZjN2Q0
ZGI2NjYxMDViMTFmYmM2Yzk2YTIwNWIxMy4uY2FhZmY0ZGFmMDg5YWI1Y2FiNjQ2M2ExMjI2ZDEz
NjE4ZjdmNTFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIwLTExLTIwICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBWElzb2xhdGVk
VHJlZTo6bV9heE9iamVjdENhY2hlIHNob3VsZCBub3QgYmUgYWNjZXNzZWQgb24gdGhlIHNlY29u
ZGFyeSBBWCB0aHJlYWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTkyMjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBWElzb2xhdGVkVHJlZTo6bV9heE9iamVjdENhY2hlIHdhcyBiZWluZyBzZXQgb24g
dGhlIG1haW4gdGhyZWFkIGFuZAorICAgICAgICBhbHNvIGFjY2Vzc2VkIG9uIHRoZSBBWCB0aHJl
YWQgaW4gdGhlIG5vZGVGb3JJRCBhbmQgYXBwbHlQZW5kaW5nQ2hhbmdlcworICAgICAgICBtZXRo
b2RzLiB0aGlzIHByb2JsZW0gaXMgZml4ZWQgd2l0aCB0aGlzIGNoYW5nZSBieSBhZGRpbmcgdGhl
IG1lbWJlcgorICAgICAgICB2YXJpYWJsZSBtX3VzaW5nQVhUaHJlYWQgdGhhdCBpcyBpbml0aWFs
aXplZCBvbiB0aGUgbWFpbiB0aHJlYWQgYW5kIG9ubHkKKyAgICAgICAgdXNlZCBvbiB0aGUgQVgg
dGhyZWFkLiBUaGlzIG1lYW5zIGFsc28gYSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24gc2luY2UK
KyAgICAgICAgbm9kZUZvcklEIGFuZCBhcHBseVBlbmRpbmdDaGFuZ2VzIGFyZSBjYWxsZWQgdmVy
eSBmcmVxdWVudGx5LgorICAgICAgICBJbiBhZGRpdGlvbiwgdGhlIGNoYW5nZSB0byBBWElzb2xh
dGVkVHJlZTo6Y3JlYXRlIGZpeGVzIGEgcG9zc2libGUgcmFjZQorICAgICAgICBjb25kaXRpb24g
YmV0d2VlbiB0aGUgdGltZSB0aGUgbmV3bHkgY3JlYXRlZCB0cmVlIHdhcyBhZGRlZCB0byB0aGUg
bWFwCisgICAgICAgIG9mIHRyZWVzIG9uIHRoZSBtYWluIHRocmVhZCwgYW5kIHRoZSB0aW1lIHRo
YXQgdGhlIHRyZWUgaXMgcmVhZHkgdG8gYmUKKyAgICAgICAgdXNlZCBvbiB0aGUgQVggdGhyZWFk
LiBOb3cgdGhlIG5ld2x5IGNyZWF0ZWQgdHJlZSBpcyBub3QgYWRkZWQgdG8gdGhlCisgICAgICAg
IHRyZWVzIG1hcCB1bnRpbCBpdCBpcyBmdWxseSBmdW5jdGlvbmFsLgorCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0
Q2FjaGU6OmdldE9yQ3JlYXRlSXNvbGF0ZWRUcmVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkFYT2JqZWN0Q2FjaGU6OmdlbmVyYXRlSXNvbGF0ZWRUcmVlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmdlbmVyYXRlSXNvbGF0ZWRUcmVlKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkFYT2JqZWN0Q2FjaGU6OnBhZ2VJRCBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkT2JqZWN0OjpBWElzb2xhdGVkT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNv
bGF0ZWRPYmplY3Q6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0
Ojphc3NvY2lhdGVkQVhPYmplY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRl
ZE9iamVjdDo6c2V0U2VsZWN0ZWRDaGlsZHJlbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNv
bGF0ZWRUcmVlOjpBWElzb2xhdGVkVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVk
VHJlZTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6bm9kZUZvcklEIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjpjcmVhdGVTdWJ0cmVlKToKKyAgICAgICAg
KFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjp1cGRhdGVOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6
OkFYSXNvbGF0ZWRUcmVlOjphcHBseVBlbmRpbmdDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6
OkFYSXNvbGF0ZWRUcmVlOjpjcmVhdGVUcmVlRm9yUGFnZUlEKTogRGVsZXRlZC4KKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmF4T2JqZWN0Q2FjaGUgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnNldEFYT2JqZWN0Q2FjaGUpOiBEZWxldGVkLgorCiAy
MDIwLTExLTE5ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAgICAg
ICAgVXNlIGZpbmFsIGluIGdlbmVyYXRlZCB3cmFwcGVyIG93bmVyIGNvZGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDUyODVhZDY1NjU0
NzI1ZGQ5ZjIzMDE1Mzc4YWQ4YjAwYTg1ODUxMWYuLjVlZGZkM2Y2M2I1OGU4MWJhZGRmZWU4MjE5
ZDIwMDAxYWFhNDczZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9i
amVjdENhY2hlLmNwcApAQCAtNzg5LDcgKzc4OSw3IEBAIFJlZlB0cjxBWElzb2xhdGVkVHJlZT4g
QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGVJc29sYXRlZFRyZWUoKSBjb25zdAogICAgIGF1dG8g
dHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKCptX3BhZ2VJRCk7CiAgICAgaWYg
KCF0cmVlKSB7CiAgICAgICAgIHRyZWUgPSBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZVZhbHVlRnJv
bU1haW5UaHJlYWQ8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlPj4oW3RoaXNdICgpIC0+IFJlZlB0cjxB
WElzb2xhdGVkVHJlZT4gewotICAgICAgICAgICAgcmV0dXJuIGdlbmVyYXRlSXNvbGF0ZWRUcmVl
KCptX3BhZ2VJRCwgbV9kb2N1bWVudCk7CisgICAgICAgICAgICByZXR1cm4gZ2VuZXJhdGVJc29s
YXRlZFRyZWUoKTsKICAgICAgICAgfSk7CiAgICAgICAgIEFYT2JqZWN0Q2FjaGU6OmluaXRpYWxp
emVTZWNvbmRhcnlBWFRocmVhZCgpOwogICAgIH0KQEAgLTMxNjEsMjkgKzMxNjEsMTEgQEAgdm9p
ZCBBWE9iamVjdENhY2hlOjpwZXJmb3JtRGVmZXJyZWRDYWNoZVVwZGF0ZSgpCiB9CiAgICAgCiAj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKLVJlZjxBWElzb2xhdGVkVHJl
ZT4gQVhPYmplY3RDYWNoZTo6Z2VuZXJhdGVJc29sYXRlZFRyZWUoUGFnZUlkZW50aWZpZXIgcGFn
ZUlELCBEb2N1bWVudCYgZG9jdW1lbnQpCitSZWY8QVhJc29sYXRlZFRyZWU+IEFYT2JqZWN0Q2Fj
aGU6OmdlbmVyYXRlSXNvbGF0ZWRUcmVlKCkgY29uc3QKIHsKICAgICBBWFRSQUNFKCJBWE9iamVj
dENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkVHJlZSIpOwogICAgIFJFTEVBU0VfQVNTRVJUKGlzTWFp
blRocmVhZCgpKTsKLQotICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZT4gdHJlZShBWElzb2xhdGVk
VHJlZTo6Y3JlYXRlVHJlZUZvclBhZ2VJRChwYWdlSUQpKTsKLQotICAgIC8vIFNldCB0aGUgcm9v
dCBhbmQgZm9jdXNlZCBvYmplY3RzIGluIHRoZSBpc29sYXRlZCB0cmVlLiBGb3IgdGhhdCwgd2Ug
bmVlZAotICAgIC8vIHRoZSByb290IGFuZCB0aGUgZm9jdXNlZCBvYmplY3QgaW4gdGhlIEFYT2Jq
ZWN0IHRyZWUuCi0gICAgYXV0byogYXhPYmplY3RDYWNoZSA9IGRvY3VtZW50LmF4T2JqZWN0Q2Fj
aGUoKTsKLSAgICBpZiAoIWF4T2JqZWN0Q2FjaGUpCi0gICAgICAgIHJldHVybiBtYWtlUmVmKCp0
cmVlKTsKLSAgICB0cmVlLT5zZXRBWE9iamVjdENhY2hlKGF4T2JqZWN0Q2FjaGUpOwotCi0gICAg
YXV0byogYXhSb290ID0gYXhPYmplY3RDYWNoZS0+Z2V0T3JDcmVhdGUoZG9jdW1lbnQudmlldygp
KTsKLSAgICBpZiAoYXhSb290KQotICAgICAgICB0cmVlLT5nZW5lcmF0ZVN1YnRyZWUoKmF4Um9v
dCwgbnVsbHB0ciwgdHJ1ZSk7Ci0KLSAgICBhdXRvKiBheEZvY3VzID0gYXhPYmplY3RDYWNoZS0+
Zm9jdXNlZE9iamVjdChkb2N1bWVudCk7Ci0gICAgaWYgKGF4Rm9jdXMpCi0gICAgICAgIHRyZWUt
PnNldEZvY3VzZWROb2RlSUQoYXhGb2N1cy0+b2JqZWN0SUQoKSk7Ci0KLSAgICByZXR1cm4gbWFr
ZVJlZigqdHJlZSk7CisgICAgcmV0dXJuIEFYSXNvbGF0ZWRUcmVlOjpjcmVhdGUoY29uc3RfY2Fz
dDxBWE9iamVjdENhY2hlKj4odGhpcykpOwogfQogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OnVwZGF0
ZUlzb2xhdGVkVHJlZShBWENvcmVPYmplY3QmIG9iamVjdCwgQVhOb3RpZmljYXRpb24gbm90aWZp
Y2F0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApp
bmRleCA5ZmM0ZGNjODg5ZGU1ZjBmZDNmMTFlNmUxZTgwNDk0YWNlNWUwYzQ2Li5mYWQ5MjNhOTNk
YzA0MjY0OGJhMjU4NzRlNzc4ZDBhYTg0ZDNkNTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtMTQ1LDYgKzE0NSw3IEBAIHB1YmxpYzoKICAg
ICB+QVhPYmplY3RDYWNoZSgpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgQVhDb3JlT2JqZWN0KiBm
b2N1c2VkVUlFbGVtZW50Rm9yUGFnZShjb25zdCBQYWdlKik7CisgICAgc3RhdGljIEFYQ29yZU9i
amVjdCogZm9jdXNlZE9iamVjdChEb2N1bWVudCYpOwogCiAgICAgLy8gUmV0dXJucyB0aGUgcm9v
dCBvYmplY3QgZm9yIHRoZSBlbnRpcmUgZG9jdW1lbnQuCiAgICAgV0VCQ09SRV9FWFBPUlQgQVhD
b3JlT2JqZWN0KiByb290T2JqZWN0KCk7CkBAIC0zNDksNiArMzUwLDcgQEAgcHVibGljOgogICAg
IEFYQ29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVDYWNoZSogY29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVD
YWNoZSgpIHsgcmV0dXJuIG1fY29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVDYWNoZS5nZXQoKTsgfQog
CiAgICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9kb2N1bWVudDsgfQor
ICAgIE9wdGlvbmFsPFBhZ2VJZGVudGlmaWVyPiBwYWdlSUQoKSBjb25zdCB7IHJldHVybiBtX3Bh
Z2VJRDsgfQogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHN0YXRpYyB2b2lkIHNldFNob3VsZFJl
cG9zdE5vdGlmaWNhdGlvbnNGb3JUZXN0cyhib29sIHZhbHVlKTsKQEAgLTM2OSw3ICszNzEsNyBA
QCBwcml2YXRlOgogICAgIEFYQ29yZU9iamVjdCogaXNvbGF0ZWRUcmVlUm9vdE9iamVjdCgpOwog
ICAgIEFYQ29yZU9iamVjdCogaXNvbGF0ZWRUcmVlRm9jdXNlZE9iamVjdCgpOwogICAgIHZvaWQg
c2V0SXNvbGF0ZWRUcmVlRm9jdXNlZE9iamVjdChOb2RlKik7Ci0gICAgc3RhdGljIFJlZjxBWElz
b2xhdGVkVHJlZT4gZ2VuZXJhdGVJc29sYXRlZFRyZWUoUGFnZUlkZW50aWZpZXIsIERvY3VtZW50
Jik7CisgICAgUmVmPEFYSXNvbGF0ZWRUcmVlPiBnZW5lcmF0ZUlzb2xhdGVkVHJlZSgpIGNvbnN0
OwogICAgIFJlZlB0cjxBWElzb2xhdGVkVHJlZT4gZ2V0T3JDcmVhdGVJc29sYXRlZFRyZWUoKSBj
b25zdDsKICAgICB2b2lkIHVwZGF0ZUlzb2xhdGVkVHJlZShBWENvcmVPYmplY3QmLCBBWE5vdGlm
aWNhdGlvbik7CiAgICAgdm9pZCB1cGRhdGVJc29sYXRlZFRyZWUoQVhDb3JlT2JqZWN0KiwgQVhO
b3RpZmljYXRpb24pOwpAQCAtNDI5LDkgKzQzMSw3IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToK
ICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiByb290V2ViQXJlYSgpOwotCiAgICAgc3RhdGljIEFj
Y2Vzc2liaWxpdHlPYmplY3QqIGZvY3VzZWRJbWFnZU1hcFVJRWxlbWVudChIVE1MQXJlYUVsZW1l
bnQqKTsKLSAgICBzdGF0aWMgQVhDb3JlT2JqZWN0KiBmb2N1c2VkT2JqZWN0KERvY3VtZW50Jik7
CiAKICAgICBBWElEIGdldEFYSUQoQWNjZXNzaWJpbGl0eU9iamVjdCopOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNv
bGF0ZWRPYmplY3QuY3BwCmluZGV4IDg3YTIwNzMzMDU1Mjc3ZjY5YjE4ZGYwZDQzYjMzYzRlNDc4
YjVlYzAuLmM4Y2IwYzM2NGViOGQwODcwOGUwYzkwMDUwMzFmY2IzMzlmODUyMWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRPYmplY3QuY3BwCkBAIC0zNiwxNCArMzYsMTIgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1BWElzb2xhdGVkT2JqZWN0OjpBWElzb2xhdGVkT2JqZWN0KEFYQ29yZU9iamVj
dCYgb2JqZWN0LCBBWElzb2xhdGVkVHJlZUlEIHRyZWVJRCwgQVhJRCBwYXJlbnRJRCkKLSAgICA6
IG1fdHJlZUlEKHRyZWVJRCkKK0FYSXNvbGF0ZWRPYmplY3Q6OkFYSXNvbGF0ZWRPYmplY3QoQVhD
b3JlT2JqZWN0JiBvYmplY3QsIEFYSXNvbGF0ZWRUcmVlKiB0cmVlLCBBWElEIHBhcmVudElEKQor
ICAgIDogbV9jYWNoZWRUcmVlKHRyZWUpCiAgICAgLCBtX3BhcmVudElEKHBhcmVudElEKQogICAg
ICwgbV9pZChvYmplY3Qub2JqZWN0SUQoKSkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkp
OwotICAgIGlmIChhdXRvIHRyZWUgPSBBWElzb2xhdGVkVHJlZTo6dHJlZUZvcklEKG1fdHJlZUlE
KSkKLSAgICAgICAgbV9jYWNoZWRUcmVlID0gdHJlZTsKICAgICBpZiAobV9pZCAhPSBJbnZhbGlk
QVhJRCkKICAgICAgICAgaW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEob2JqZWN0LCBwYXJlbnRJRCA9
PSBJbnZhbGlkQVhJRCk7CiAgICAgZWxzZSB7CkBAIC01Miw5ICs1MCw5IEBAIEFYSXNvbGF0ZWRP
YmplY3Q6OkFYSXNvbGF0ZWRPYmplY3QoQVhDb3JlT2JqZWN0JiBvYmplY3QsIEFYSXNvbGF0ZWRU
cmVlSUQgdHJlZUlECiAgICAgfQogfQogCi1SZWY8QVhJc29sYXRlZE9iamVjdD4gQVhJc29sYXRl
ZE9iamVjdDo6Y3JlYXRlKEFYQ29yZU9iamVjdCYgb2JqZWN0LCBBWElzb2xhdGVkVHJlZUlEIHRy
ZWVJRCwgQVhJRCBwYXJlbnRJRCkKK1JlZjxBWElzb2xhdGVkT2JqZWN0PiBBWElzb2xhdGVkT2Jq
ZWN0OjpjcmVhdGUoQVhDb3JlT2JqZWN0JiBvYmplY3QsIEFYSXNvbGF0ZWRUcmVlKiB0cmVlLCBB
WElEIHBhcmVudElEKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFYSXNvbGF0ZWRPYmpl
Y3Qob2JqZWN0LCB0cmVlSUQsIHBhcmVudElEKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
QVhJc29sYXRlZE9iamVjdChvYmplY3QsIHRyZWUsIHBhcmVudElEKSk7CiB9CiAKIEFYSXNvbGF0
ZWRPYmplY3Q6On5BWElzb2xhdGVkT2JqZWN0KCkKQEAgLTQwNSw2ICs0MDMsMTQgQEAgdm9pZCBB
WElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXplQXR0cmlidXRlRGF0YShBWENvcmVPYmplY3QmIG9i
amVjdCwgYm9vbCBpc1Jvb3QKICAgICBpbml0aWFsaXplUGxhdGZvcm1Qcm9wZXJ0aWVzKG9iamVj
dCk7CiB9CiAKK0FYQ29yZU9iamVjdCogQVhJc29sYXRlZE9iamVjdDo6YXNzb2NpYXRlZEFYT2Jq
ZWN0KCkgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworCisgICAgYXV0byog
YXhPYmplY3RDYWNoZSA9IHRoaXMtPmF4T2JqZWN0Q2FjaGUoKTsKKyAgICByZXR1cm4gYXhPYmpl
Y3RDYWNoZSAmJiBtX2lkICE9IEludmFsaWRBWElEID8gYXhPYmplY3RDYWNoZS0+b2JqZWN0RnJv
bUFYSUQobV9pZCkgOiBudWxscHRyOworfQorCiB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OnNldE1h
dGhzY3JpcHRzKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgQVhDb3JlT2JqZWN0JiBvYmpl
Y3QpCiB7CiAgICAgQWNjZXNzaWJpbGl0eU1hdGhNdWx0aXNjcmlwdFBhaXJzIHBhaXJzOwpAQCAt
NTExLDEwICs1MTcsMTIgQEAgdm9pZCBBWElzb2xhdGVkT2JqZWN0OjpzZXRTZWxlY3RlZENoaWxk
cmVuKGNvbnN0IEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgc2UKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQogCi0gICAgICAgIEFTU0VSVChheE9iamVjdENhY2hlKCkpOworICAg
ICAgICBhdXRvKiBheE9iamVjdENhY2hlID0gdGhpcy0+YXhPYmplY3RDYWNoZSgpOworICAgICAg
ICBpZiAoIWF4T2JqZWN0Q2FjaGUpCisgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgYXV0
byBheElEcyA9IHRyZWUoKS0+aWRzRm9yT2JqZWN0cyhzZWxlY3RlZENoaWxkcmVuKTsKLSAgICAg
ICAgYXV0byBheFNlbGVjdGVkQ2hpbGRyZW4gPSBheE9iamVjdENhY2hlKCktPm9iamVjdHNGb3JJ
RHMoYXhJRHMpOworICAgICAgICBhdXRvIGF4U2VsZWN0ZWRDaGlsZHJlbiA9IGF4T2JqZWN0Q2Fj
aGUtPm9iamVjdHNGb3JJRHMoYXhJRHMpOwogICAgICAgICBvYmplY3QtPnNldFNlbGVjdGVkQ2hp
bGRyZW4oYXhTZWxlY3RlZENoaWxkcmVuKTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmpl
Y3QuaAppbmRleCBiNjdmOGFhMDM3NmFjMDJiN2YyMGFjYTVmNGY4MjJkMWE1NTJjZGU0Li5mMDcw
YjI2MzkzNWU4YTRiNGU0YzM0NGExOTc3MmMwOGJlMDVmNTE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9i
amVjdC5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIEFYSXNvbGF0ZWRUcmVlOwogY2xhc3MgQVhJ
c29sYXRlZE9iamVjdCBmaW5hbCA6IHB1YmxpYyBBWENvcmVPYmplY3QgewogICAgIGZyaWVuZCBj
bGFzcyBBWElzb2xhdGVkVHJlZTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPEFYSXNvbGF0ZWRP
YmplY3Q+IGNyZWF0ZShBWENvcmVPYmplY3QmLCBBWElzb2xhdGVkVHJlZUlELCBBWElEIHBhcmVu
dElEKTsKKyAgICBzdGF0aWMgUmVmPEFYSXNvbGF0ZWRPYmplY3Q+IGNyZWF0ZShBWENvcmVPYmpl
Y3QmLCBBWElzb2xhdGVkVHJlZSosIEFYSUQgcGFyZW50SUQpOwogICAgIH5BWElzb2xhdGVkT2Jq
ZWN0KCk7CiAKICAgICB2b2lkIHNldE9iamVjdElEKEFYSUQgaWQpIG92ZXJyaWRlIHsgbV9pZCA9
IGlkOyB9CkBAIC01OCwxNCArNTgsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0RldGFjaGVkKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHNldFBhcmVudChBWElEKTsKLSAgICB2b2lkIHNl
dENoaWxkcmVuSURzKFZlY3RvcjxBWElEPiYmIGNoaWxkcmVuSURzKQotICAgIHsKLSAgICAgICAg
Ly8gRklYTUU6IFRoZSBmb2xsb3dpbmcgQVNTRVJUIHNob3VsZCBiZSBtZXQgYnV0IGl0IGlzIGNv
bW1lbnRlZCBvdXQgYXQgdGhlCi0gICAgICAgIC8vIG1vbWVudCBiZWNhdXNlIG9mIDxyZGFyOi8v
cHJvYmxlbS82Mzk4NTY0Nj4gQWZ0ZXIgY2FsbGluZyBfQVhVSUVsZW1lbnRVc2VTZWNvbmRhcnlB
WFRocmVhZCh0cnVlKSwKLSAgICAgICAgLy8gc3RpbGwgcmVjZWl2ZXMgY2xpZW50IHJlcXVlc3Qg
b24gbWFpbiB0aHJlYWQuCi0gICAgICAgIC8vIEFTU0VSVChheE9iamVjdENhY2hlKCktPmNhblVz
ZVNlY29uZGFyeUFYVGhyZWFkKCkgPyAhaXNNYWluVGhyZWFkKCkgOiBpc01haW5UaHJlYWQoKSk7
Ci0gICAgICAgIG1fY2hpbGRyZW5JRHMgPSBjaGlsZHJlbklEczsKLSAgICB9CiAKIHByaXZhdGU6
CiAgICAgdm9pZCBkZXRhY2hSZW1vdGVQYXJ0cyhBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUp
IG92ZXJyaWRlOwpAQCAtNzMsMTkgKzY1LDE0IEBAIHByaXZhdGU6CiAKICAgICBBWElEIHBhcmVu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50SUQ7IH0KIAotICAgIEFYSXNvbGF0ZWRUcmVlSUQg
dHJlZUlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3RyZWVJRDsgfQogICAgIEFYSXNvbGF0
ZWRUcmVlKiB0cmVlKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZWRUcmVlLmdldCgpOyB9CiAKICAg
ICBBWElzb2xhdGVkT2JqZWN0KCkgPSBkZWZhdWx0OwotICAgIEFYSXNvbGF0ZWRPYmplY3QoQVhD
b3JlT2JqZWN0JiwgQVhJc29sYXRlZFRyZWVJRCwgQVhJRCBwYXJlbnRJRCk7CisgICAgQVhJc29s
YXRlZE9iamVjdChBWENvcmVPYmplY3QmLCBBWElzb2xhdGVkVHJlZSosIEFYSUQgcGFyZW50SUQp
OwogICAgIGJvb2wgaXNBWElzb2xhdGVkT2JqZWN0SW5zdGFuY2UoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBpbml0aWFsaXplQXR0cmlidXRlRGF0YShBWENvcmVP
YmplY3QmLCBib29sIGlzUm9vdCk7CiAgICAgdm9pZCBpbml0aWFsaXplUGxhdGZvcm1Qcm9wZXJ0
aWVzKGNvbnN0IEFYQ29yZU9iamVjdCYpOwotICAgIEFYQ29yZU9iamVjdCogYXNzb2NpYXRlZEFY
T2JqZWN0KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0g
ICAgICAgIHJldHVybiBtX2lkICE9IEludmFsaWRBWElEID8gYXhPYmplY3RDYWNoZSgpLT5vYmpl
Y3RGcm9tQVhJRChtX2lkKSA6IG51bGxwdHI7Ci0gICAgfQorICAgIEFYQ29yZU9iamVjdCogYXNz
b2NpYXRlZEFYT2JqZWN0KCkgY29uc3Q7CiAKICAgICB2b2lkIHNldFByb3BlcnR5KEFYUHJvcGVy
dHlOYW1lLCBBWFByb3BlcnR5VmFsdWVWYXJpYW50JiYsIGJvb2wgc2hvdWxkUmVtb3ZlID0gZmFs
c2UpOwogICAgIHZvaWQgc2V0T2JqZWN0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWUsIEFYQ29yZU9i
amVjdCopOwpAQCAtNjUwLDcgKzYzNyw2IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIGlubmVySFRN
TCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIFN0cmluZyBvdXRlckhUTUwoKSBjb25zdCBvdmVycmlk
ZTsKIAotICAgIEFYSXNvbGF0ZWRUcmVlSUQgbV90cmVlSUQ7CiAgICAgUmVmUHRyPEFYSXNvbGF0
ZWRUcmVlPiBtX2NhY2hlZFRyZWU7CiAgICAgQVhJRCBtX3BhcmVudElEIHsgSW52YWxpZEFYSUQg
fTsKICAgICBBWElEIG1faWQgeyBJbnZhbGlkQVhJRCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3Bw
CmluZGV4IDc3NGViMGI4MzczYWI2YWZjMzUzMTJjZmU0NTg4ZjY1ZTM2ZWU1ZjIuLjM5NmEzMDlk
MDI5ZmJhMWVjNjVkYjcwYTU5Y2VjOTY3Nzk5NjlmYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5j
cHAKQEAgLTU1LDEwICs1NSwxMyBAQCBIYXNoTWFwPEFYSXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElz
b2xhdGVkVHJlZT4+JiBBWElzb2xhdGVkVHJlZTo6dHJlZUlEQ2FjaGUoKQogICAgIHJldHVybiBt
YXA7CiB9CiAKLUFYSXNvbGF0ZWRUcmVlOjpBWElzb2xhdGVkVHJlZSgpCitBWElzb2xhdGVkVHJl
ZTo6QVhJc29sYXRlZFRyZWUoQVhPYmplY3RDYWNoZSogYXhPYmplY3RDYWNoZSkKICAgICA6IG1f
dHJlZUlEKG5ld1RyZWVJRCgpKQorICAgICwgbV9heE9iamVjdENhY2hlKGF4T2JqZWN0Q2FjaGUp
CisgICAgLCBtX3VzaW5nQVhUaHJlYWQoYXhPYmplY3RDYWNoZS0+Y2FuVXNlU2Vjb25kYXJ5QVhU
aHJlYWQoKSkKIHsKICAgICBBWFRSQUNFKCJBWElzb2xhdGVkVHJlZTo6QVhJc29sYXRlZFRyZWUi
KTsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogfQogCiBBWElzb2xhdGVkVHJlZTo6fkFY
SXNvbGF0ZWRUcmVlKCkKQEAgLTcwLDE5ICs3MywxMiBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjpj
bGVhcigpCiB7CiAgICAgQVhUUkFDRSgiQVhJc29sYXRlZFRyZWU6OmNsZWFyIik7CiAgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBtX2F4T2JqZWN0Q2FjaGUgPSBudWxscHRyOwogCiAg
ICAgTG9ja0hvbGRlciBsb2NrZXIgeyBtX2NoYW5nZUxvZ0xvY2sgfTsKICAgICBtX3BlbmRpbmdT
dWJ0cmVlUmVtb3ZhbHMuYXBwZW5kKG1fcm9vdE5vZGUtPm9iamVjdElEKCkpOwogICAgIG1fcm9v
dE5vZGUgPSBudWxscHRyOwogICAgIG1fbm9kZU1hcC5jbGVhcigpOwotICAgIG1fYXhPYmplY3RD
YWNoZSA9IG51bGxwdHI7Ci19Ci0KLVJlZjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6
OmNyZWF0ZSgpCi17Ci0gICAgQVhUUkFDRSgiQVhJc29sYXRlZFRyZWU6OmNyZWF0ZSIpOwotICAg
IEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQVhJc29s
YXRlZFRyZWUoKSk7CiB9CiAKIFJlZlB0cjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6
OnRyZWVGb3JJRChBWElzb2xhdGVkVHJlZUlEIHRyZWVJRCkKQEAgLTkxLDE2ICs4NywzMiBAQCBS
ZWZQdHI8QVhJc29sYXRlZFRyZWU+IEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9ySUQoQVhJc29sYXRl
ZFRyZWVJRCB0cmVlSUQpCiAgICAgcmV0dXJuIHRyZWVJRENhY2hlKCkuZ2V0KHRyZWVJRCk7CiB9
CiAKLVJlZjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OmNyZWF0ZVRyZWVGb3JQYWdl
SUQoUGFnZUlkZW50aWZpZXIgcGFnZUlEKQorUmVmPEFYSXNvbGF0ZWRUcmVlPiBBWElzb2xhdGVk
VHJlZTo6Y3JlYXRlKEFYT2JqZWN0Q2FjaGUqIGF4T2JqZWN0Q2FjaGUpCiB7Ci0gICAgQVhUUkFD
RSgiQVhJc29sYXRlZFRyZWU6OmNyZWF0ZVRyZWVGb3JQYWdlSUQiKTsKKyAgICBBWFRSQUNFKCJB
WElzb2xhdGVkVHJlZTo6Y3JlYXRlIik7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAg
ICBBU1NFUlQoYXhPYmplY3RDYWNoZSAmJiBheE9iamVjdENhY2hlLT5wYWdlSUQoKSk7CisKKyAg
ICBhdXRvIHRyZWUgPSBhZG9wdFJlZigqbmV3IEFYSXNvbGF0ZWRUcmVlKGF4T2JqZWN0Q2FjaGUp
KTsKKworICAgIC8vIEdlbmVyYXRlIHRoZSBub2RlcyBvZiB0aGUgdHJlZSBhbmQgc2V0IGl0cyBy
b290IGFuZCBmb2N1c2VkIG9iamVjdHMuCisgICAgLy8gRm9yIHRoaXMsIHdlIG5lZWQgdGhlIHJv
b3QgYW5kIGZvY3VzZWQgb2JqZWN0cyBvZiB0aGUgQVhPYmplY3QgdHJlZS4KKyAgICBhdXRvKiBh
eFJvb3QgPSBheE9iamVjdENhY2hlLT5nZXRPckNyZWF0ZShheE9iamVjdENhY2hlLT5kb2N1bWVu
dCgpLnZpZXcoKSk7CisgICAgaWYgKGF4Um9vdCkKKyAgICAgICAgdHJlZS0+Z2VuZXJhdGVTdWJ0
cmVlKCpheFJvb3QsIG51bGxwdHIsIHRydWUpOworICAgIGF1dG8qIGF4Rm9jdXMgPSBheE9iamVj
dENhY2hlLT5mb2N1c2VkT2JqZWN0KGF4T2JqZWN0Q2FjaGUtPmRvY3VtZW50KCkpOworICAgIGlm
IChheEZvY3VzKQorICAgICAgICB0cmVlLT5zZXRGb2N1c2VkTm9kZUlEKGF4Rm9jdXMtPm9iamVj
dElEKCkpOworCisgICAgLy8gTm93IHRoYXQgdGhlIHRyZWUgaXMgcmVhZHkgdG8gdGFrZSBjbGll
bnQgcmVxdWVzdHMsIGFkZCBpdCB0byB0aGUgdHJlZQorICAgIC8vIG1hcHMgc28gdGhhdCBpdCBj
YW4gYmUgZm91bmQuCisgICAgYXV0byBwYWdlSUQgPSBheE9iamVjdENhY2hlLT5wYWdlSUQoKTsK
ICAgICBMb2NrSG9sZGVyIGxvY2tlcihzX2NhY2hlTG9jayk7Ci0gICAgQVNTRVJUKCF0cmVlUGFn
ZUNhY2hlKCkuY29udGFpbnMocGFnZUlEKSk7CisgICAgQVNTRVJUKCF0cmVlUGFnZUNhY2hlKCku
Y29udGFpbnMoKnBhZ2VJRCkpOworICAgIHRyZWVQYWdlQ2FjaGUoKS5zZXQoKnBhZ2VJRCwgdHJl
ZS5jb3B5UmVmKCkpOworICAgIHRyZWVJRENhY2hlKCkuc2V0KHRyZWUtPnRyZWVJRCgpLCB0cmVl
LmNvcHlSZWYoKSk7CiAKLSAgICBhdXRvIG5ld1RyZWUgPSBBWElzb2xhdGVkVHJlZTo6Y3JlYXRl
KCk7Ci0gICAgdHJlZVBhZ2VDYWNoZSgpLnNldChwYWdlSUQsIG5ld1RyZWUuY29weVJlZigpKTsK
LSAgICB0cmVlSURDYWNoZSgpLnNldChuZXdUcmVlLT50cmVlSUQoKSwgbmV3VHJlZS5jb3B5UmVm
KCkpOwotICAgIHJldHVybiBuZXdUcmVlOworICAgIHJldHVybiB0cmVlOwogfQogCiB2b2lkIEFY
SXNvbGF0ZWRUcmVlOjpyZW1vdmVUcmVlRm9yUGFnZUlEKFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCkK
QEAgLTEyOCw3ICsxNDAsNyBAQCBSZWZQdHI8QVhJc29sYXRlZFRyZWU+IEFYSXNvbGF0ZWRUcmVl
Ojp0cmVlRm9yUGFnZUlEKFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCkKIFJlZlB0cjxBWElzb2xhdGVk
T2JqZWN0PiBBWElzb2xhdGVkVHJlZTo6bm9kZUZvcklEKEFYSUQgYXhJRCkgY29uc3QKIHsKICAg
ICAvLyBJbiBpc29sYXRlZCB0cmVlIG1vZGUgMiwgb25seSBhY2Nlc3MgbV9yZWFkZXJUaHJlYWRO
b2RlTWFwIG9uIHRoZSBBWCB0aHJlYWQuCi0gICAgaWYgKGF4T2JqZWN0Q2FjaGUoKS0+Y2FuVXNl
U2Vjb25kYXJ5QVhUaHJlYWQoKSAmJiBpc01haW5UaHJlYWQoKSkKKyAgICBpZiAobV91c2luZ0FY
VGhyZWFkICYmIGlzTWFpblRocmVhZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAg
IHJldHVybiBheElEICE9IEludmFsaWRBWElEID8gbV9yZWFkZXJUaHJlYWROb2RlTWFwLmdldChh
eElEKSA6IG51bGxwdHI7CkBAIC0xODcsNyArMTk5LDcgQEAgUmVmPEFYSXNvbGF0ZWRPYmplY3Q+
IEFYSXNvbGF0ZWRUcmVlOjpjcmVhdGVTdWJ0cmVlKEFYQ29yZU9iamVjdCYgYXhPYmplY3QsIEFY
SUQKICAgICBBWFRSQUNFKCJBWElzb2xhdGVkVHJlZTo6Y3JlYXRlU3VidHJlZSIpOwogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICBhdXRvIG9iamVjdCA9IEFYSXNvbGF0ZWRPYmpl
Y3Q6OmNyZWF0ZShheE9iamVjdCwgbV90cmVlSUQsIHBhcmVudElEKTsKKyAgICBhdXRvIG9iamVj
dCA9IEFYSXNvbGF0ZWRPYmplY3Q6OmNyZWF0ZShheE9iamVjdCwgdGhpcywgcGFyZW50SUQpOwog
ICAgIGlmIChvYmplY3QtPm9iamVjdElEKCkgPT0gSW52YWxpZEFYSUQpIHsKICAgICAgICAgLy8g
RWl0aGVyIHRoZSBheE9iamVjdCBoYXMgYW4gaW52YWxpZCBJRCBvciBzb21ldGhpbmcgZWxzZSB3
ZW50IHRlcnJpYmx5IHdyb25nLiBEb24ndCBib3RoZXIgZG9pbmcgYW55dGhpbmcgZWxzZS4KICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0yMjksNyArMjQxLDcgQEAgdm9pZCBBWElz
b2xhdGVkVHJlZTo6dXBkYXRlTm9kZShBWENvcmVPYmplY3QmIGF4T2JqZWN0KQogICAgIGF1dG8q
IGF4UGFyZW50ID0gYXhPYmplY3QucGFyZW50T2JqZWN0KCk7CiAgICAgQVhJRCBwYXJlbnRJRCA9
IGF4UGFyZW50ID8gYXhQYXJlbnQtPm9iamVjdElEKCkgOiBJbnZhbGlkQVhJRDsKIAotICAgIGF1
dG8gbmV3T2JqZWN0ID0gQVhJc29sYXRlZE9iamVjdDo6Y3JlYXRlKGF4T2JqZWN0LCBtX3RyZWVJ
RCwgcGFyZW50SUQpOworICAgIGF1dG8gbmV3T2JqZWN0ID0gQVhJc29sYXRlZE9iamVjdDo6Y3Jl
YXRlKGF4T2JqZWN0LCB0aGlzLCBwYXJlbnRJRCk7CiAgICAgbmV3T2JqZWN0LT5tX2NoaWxkcmVu
SURzID0gYXhPYmplY3QuY2hpbGRyZW5JRHMoKTsKIAogICAgIExvY2tIb2xkZXIgbG9ja2VyIHsg
bV9jaGFuZ2VMb2dMb2NrIH07CkBAIC00MTksNyArNDMxLDcgQEAgdm9pZCBBWElzb2xhdGVkVHJl
ZTo6YXBwbHlQZW5kaW5nQ2hhbmdlcygpCiAgICAgQVhUUkFDRSgiQVhJc29sYXRlZFRyZWU6OmFw
cGx5UGVuZGluZ0NoYW5nZXMiKTsKIAogICAgIC8vIEluIGlzb2xhdGVkIHRyZWUgbW9kZSAyLCBv
bmx5IGFwcGx5IHBlbmRpbmcgY2hhbmdlcyBvbiB0aGUgQVggdGhyZWFkLgotICAgIGlmIChheE9i
amVjdENhY2hlKCktPmNhblVzZVNlY29uZGFyeUFYVGhyZWFkKCkgJiYgaXNNYWluVGhyZWFkKCkp
CisgICAgaWYgKG1fdXNpbmdBWFRocmVhZCAmJiBpc01haW5UaHJlYWQoKSkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgTG9ja0hvbGRlciBsb2NrZXIgeyBtX2NoYW5nZUxvZ0xvY2sgfTsKQEAgLTQ4
Nyw3ICs0OTksNyBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjphcHBseVBlbmRpbmdDaGFuZ2VzKCkK
ICAgICBmb3IgKGF1dG8mIHVwZGF0ZSA6IG1fcGVuZGluZ0NoaWxkcmVuVXBkYXRlcykgewogICAg
ICAgICBBWExPRyhtYWtlU3RyaW5nKCJ1cGRhdGluZyBjaGlsZHJlbiBmb3IgYXhJRCAiLCB1cGRh
dGUuZmlyc3QpKTsKICAgICAgICAgaWYgKGF1dG8gb2JqZWN0ID0gbm9kZUZvcklEKHVwZGF0ZS5m
aXJzdCkpCi0gICAgICAgICAgICBvYmplY3QtPnNldENoaWxkcmVuSURzKFdURk1vdmUodXBkYXRl
LnNlY29uZCkpOworICAgICAgICAgICAgb2JqZWN0LT5tX2NoaWxkcmVuSURzID0gV1RGTW92ZSh1
cGRhdGUuc2Vjb25kKTsKICAgICB9CiAgICAgbV9wZW5kaW5nQ2hpbGRyZW5VcGRhdGVzLmNsZWFy
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0
cmVlL0FYSXNvbGF0ZWRUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xh
dGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCmluZGV4IGNjMTk1ZjM5ODNkNDYwZDNkMjdmYWVhMDRj
YmIxNzljN2ZjY2QxNWIuLjA1NjI5MzIwOTBiNGM2ODY5ZmZmMTYyNzA4MGMxYjI1NGI1Y2RlMTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FY
SXNvbGF0ZWRUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZFRyZWUuaApAQCAtMzIyLDE2ICszMjIsMTQgQEAgY2xhc3MgQVhJc29s
YXRlZFRyZWUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QVhJc29sYXRlZFRyZWU+IHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBWElzb2xhdGVkVHJlZSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIGZyaWVuZCBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpU
ZXh0U3RyZWFtJiwgQVhJc29sYXRlZFRyZWUmKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPEFY
SXNvbGF0ZWRUcmVlPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUmVmPEFYSXNvbGF0ZWRUcmVlPiBj
cmVhdGUoQVhPYmplY3RDYWNoZSopOwogICAgIHZpcnR1YWwgfkFYSXNvbGF0ZWRUcmVlKCk7CiAK
LSAgICBzdGF0aWMgUmVmPEFYSXNvbGF0ZWRUcmVlPiBjcmVhdGVUcmVlRm9yUGFnZUlEKFBhZ2VJ
ZGVudGlmaWVyKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVUcmVlRm9yUGFnZUlEKFBhZ2VJZGVu
dGlmaWVyKTsKIAogICAgIHN0YXRpYyBSZWZQdHI8QVhJc29sYXRlZFRyZWU+IHRyZWVGb3JQYWdl
SUQoUGFnZUlkZW50aWZpZXIpOwogICAgIHN0YXRpYyBSZWZQdHI8QVhJc29sYXRlZFRyZWU+IHRy
ZWVGb3JJRChBWElzb2xhdGVkVHJlZUlEKTsKLSAgICBBWE9iamVjdENhY2hlKiBheE9iamVjdENh
Y2hlKCkgY29uc3QgeyByZXR1cm4gbV9heE9iamVjdENhY2hlOyB9Ci0gICAgdm9pZCBzZXRBWE9i
amVjdENhY2hlKEFYT2JqZWN0Q2FjaGUqIGF4T2JqZWN0Q2FjaGUpIHsgbV9heE9iamVjdENhY2hl
ID0gYXhPYmplY3RDYWNoZTsgfQorICAgIEFYT2JqZWN0Q2FjaGUqIGF4T2JqZWN0Q2FjaGUoKSBj
b25zdDsKIAogICAgIFJlZlB0cjxBWElzb2xhdGVkT2JqZWN0PiByb290Tm9kZSgpOwogICAgIFJl
ZlB0cjxBWElzb2xhdGVkT2JqZWN0PiBmb2N1c2VkTm9kZSgpOwpAQCAtMzY4LDcgKzM2Niw3IEBA
IHB1YmxpYzoKICAgICBBWElzb2xhdGVkVHJlZUlEIHRyZWVJRCgpIGNvbnN0IHsgcmV0dXJuIG1f
dHJlZUlEOyB9CiAKIHByaXZhdGU6Ci0gICAgQVhJc29sYXRlZFRyZWUoKTsKKyAgICBBWElzb2xh
dGVkVHJlZShBWE9iamVjdENhY2hlKik7CiAgICAgdm9pZCBjbGVhcigpOwogCiAgICAgc3RhdGlj
IEhhc2hNYXA8QVhJc29sYXRlZFRyZWVJRCwgUmVmPEFYSXNvbGF0ZWRUcmVlPj4mIHRyZWVJRENh
Y2hlKCk7CkBAIC0zODEsNiArMzc5LDcgQEAgcHJpdmF0ZToKIAogICAgIEFYSXNvbGF0ZWRUcmVl
SUQgbV90cmVlSUQ7CiAgICAgQVhPYmplY3RDYWNoZSogbV9heE9iamVjdENhY2hlIHsgbnVsbHB0
ciB9OworICAgIGJvb2wgbV91c2luZ0FYVGhyZWFkIHsgdHJ1ZSB9OwogCiAgICAgLy8gT25seSBh
Y2Nlc3NlZCBvbiBtYWluIHRocmVhZC4KICAgICBIYXNoTWFwPEFYSUQsIFZlY3RvcjxBWElEPj4g
bV9ub2RlTWFwOwpAQCAtMzk5LDYgKzM5OCwxMiBAQCBwcml2YXRlOgogICAgIExvY2sgbV9jaGFu
Z2VMb2dMb2NrOwogfTsKIAoraW5saW5lIEFYT2JqZWN0Q2FjaGUqIEFYSXNvbGF0ZWRUcmVlOjph
eE9iamVjdENhY2hlKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAg
IHJldHVybiBtX2F4T2JqZWN0Q2FjaGU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAog
I2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414791</attachid>
            <date>2020-11-22 11:37:59 -0800</date>
            <delta_ts>2020-11-30 06:11:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219223-20201122143758.patch</filename>
            <type>text/plain</type>
            <size>18978</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzIzYWI2YjRlNmM0NDFj
MDYzZWM1Mzg0YzZmOTA5NDdiZDFhNDY5ZC4uNWNlYjBjNDk3ZTNlMjYzMzlmN2YzNWEwNTU2OTJi
NWZjZGY0NjZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIwLTExLTIyICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBBWElzb2xhdGVk
VHJlZTo6bV9heE9iamVjdENhY2hlIHNob3VsZCBub3QgYmUgYWNjZXNzZWQgb24gdGhlIHNlY29u
ZGFyeSBBWCB0aHJlYWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTkyMjMKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVpemFjaC4KKwor
ICAgICAgICBBWElzb2xhdGVkVHJlZTo6bV9heE9iamVjdENhY2hlIHdhcyBiZWluZyBzZXQgb24g
dGhlIG1haW4gdGhyZWFkIGFuZAorICAgICAgICBhbHNvIGFjY2Vzc2VkIG9uIHRoZSBBWCB0aHJl
YWQgaW4gdGhlIG5vZGVGb3JJRCBhbmQgYXBwbHlQZW5kaW5nQ2hhbmdlcworICAgICAgICBtZXRo
b2RzLiBUaGlzIHByb2JsZW0gaXMgZml4ZWQgd2l0aCB0aGlzIGNoYW5nZSBieSBhZGRpbmcgdGhl
IG1lbWJlcgorICAgICAgICB2YXJpYWJsZSBtX3VzZWRPbkFYVGhyZWFkIHRoYXQgaXMgaW5pdGlh
bGl6ZWQgb24gdGhlIG1haW4gdGhyZWFkIGFuZCBvbmx5CisgICAgICAgIHVzZWQgb24gdGhlIEFY
IHRocmVhZC4gVGhpcyBtZWFucyBhbHNvIGEgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uIHNpbmNl
CisgICAgICAgIG5vZGVGb3JJRCBhbmQgYXBwbHlQZW5kaW5nQ2hhbmdlcyBhcmUgY2FsbGVkIHZl
cnkgZnJlcXVlbnRseS4KKyAgICAgICAgSW4gYWRkaXRpb24sIHRoZSBjaGFuZ2UgdG8gQVhJc29s
YXRlZFRyZWU6OmNyZWF0ZSBmaXhlcyBhIHBvc3NpYmxlIHJhY2UKKyAgICAgICAgY29uZGl0aW9u
IGJldHdlZW4gdGhlIHRpbWUgdGhlIG5ld2x5IGNyZWF0ZWQgdHJlZSB3YXMgYWRkZWQgdG8gdGhl
IG1hcAorICAgICAgICBvZiB0cmVlcyBvbiB0aGUgbWFpbiB0aHJlYWQsIGFuZCB0aGUgdGltZSB0
aGF0IHRoZSB0cmVlIGlzIHJlYWR5IHRvIGJlCisgICAgICAgIHVzZWQgb24gdGhlIEFYIHRocmVh
ZC4gTm93IHRoZSBuZXdseSBjcmVhdGVkIHRyZWUgaXMgbm90IGFkZGVkIHRvIHRoZQorICAgICAg
ICB0cmVlcyBtYXAgdW50aWwgaXQgaXMgZnVsbHkgZnVuY3Rpb25hbC4KKworICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVj
dENhY2hlOjpnZXRPckNyZWF0ZUlzb2xhdGVkVHJlZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjpnZW5lcmF0ZUlzb2xhdGVkVHJlZSk6IERlbGV0ZWQsIHRoZSBjcmVh
dGlvbgorICAgICAgICBhbmQgaW5pdGlhbGl6YXRpb24gb2YgdGhlIGlzb2xhdGVkIHRyZWUgaXMg
bm93IGRvbmUgaW4KKyAgICAgICAgQVhJc29sYXRlZFRyZWU6OmNyZWF0ZS4KKworICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmpl
Y3RDYWNoZTo6cGFnZUlEIGNvbnN0KTogR2V0dGVyIGZvciB0aGUgbV9wYWdlSUQgbWVtYmVyCisg
ICAgICAgIHZhcmlhYmxlLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0
OjpBWElzb2xhdGVkT2JqZWN0KTogTm93IHRha2VzIGEgcG9pbnRlciB0IHRoZQorICAgICAgICB0
cmVlIGluc3RlYWQgb2YgYSB0cmVlIElELgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZE9i
amVjdDo6Y3JlYXRlKTogU2FtZSBhcyBhYm92ZS4KKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRPYmplY3Q6OmFzc29jaWF0ZWRBWE9iamVjdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpB
WElzb2xhdGVkT2JqZWN0OjpzZXRTZWxlY3RlZENoaWxkcmVuKTogQ2hlY2sgZm9yIG51bGxpdHkg
b2YKKyAgICAgICAgdGhlIEFYT2JqZWN0Q2FjaGUuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNv
bGF0ZWRUcmVlOjpBWElzb2xhdGVkVHJlZSk6IFRha2VzIGFuIEFYT2JqZWN0Q2FjaGUuCisgICAg
ICAgIChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6
QVhJc29sYXRlZFRyZWU6OmNyZWF0ZSk6IFRha2VzIGFuIEFYT2JqZWN0Q2FjaGUuCisgICAgICAg
IChXZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6bm9kZUZvcklEIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjpjcmVhdGVTdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6
OkFYSXNvbGF0ZWRUcmVlOjp1cGRhdGVOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlOjphcHBseVBlbmRpbmdDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0
ZWRUcmVlOjpjcmVhdGVUcmVlRm9yUGFnZUlEKTogRGVsZXRlZCwgYmVjYW1lCisgICAgICAgIEFY
SXNvbGF0ZWRUcmVlOjpjcmVhdGUuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRy
ZWUvQVhJc29sYXRlZFRyZWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjph
eE9iamVjdENhY2hlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjpz
ZXRBWE9iamVjdENhY2hlKTogRGVsZXRlZCwgY2FuIGJlIHNldCBvbmx5IGF0CisgICAgICAgIGNv
bnN0cnVjdGlvbiB0aW1lLgorCiAyMDIwLTExLTIyICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gQ29udmVydCBzb21lIHJlbWFp
bmluZyBJbmxpbmVCb3ggYWNjZXNzIHRvIHVzZSBpbmxpbmUgaXRlcmF0b3IKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDc2OWQxZTlmZGUx
ZDIzNjdmZmRmZWJmY2E1ZDU5ZDNkZDM0OWExMGUuLmRhYjU1ZmIyN2Q4MTYwZDRiNzdhNDYyMjE2
YmVmMjE4MGRkNmE4NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9i
amVjdENhY2hlLmNwcApAQCAtNzg5LDcgKzc4OSw3IEBAIFJlZlB0cjxBWElzb2xhdGVkVHJlZT4g
QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGVJc29sYXRlZFRyZWUoKSBjb25zdAogICAgIGF1dG8g
dHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjp0cmVlRm9yUGFnZUlEKCptX3BhZ2VJRCk7CiAgICAgaWYg
KCF0cmVlKSB7CiAgICAgICAgIHRyZWUgPSBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZVZhbHVlRnJv
bU1haW5UaHJlYWQ8UmVmUHRyPEFYSXNvbGF0ZWRUcmVlPj4oW3RoaXNdICgpIC0+IFJlZlB0cjxB
WElzb2xhdGVkVHJlZT4gewotICAgICAgICAgICAgcmV0dXJuIGdlbmVyYXRlSXNvbGF0ZWRUcmVl
KCptX3BhZ2VJRCwgbV9kb2N1bWVudCk7CisgICAgICAgICAgICByZXR1cm4gQVhJc29sYXRlZFRy
ZWU6OmNyZWF0ZShjb25zdF9jYXN0PEFYT2JqZWN0Q2FjaGUqPih0aGlzKSk7CiAgICAgICAgIH0p
OwogICAgICAgICBBWE9iamVjdENhY2hlOjppbml0aWFsaXplU2Vjb25kYXJ5QVhUaHJlYWQoKTsK
ICAgICB9CkBAIC0zMTYxLDMxICszMTYxLDYgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpwZXJmb3Jt
RGVmZXJyZWRDYWNoZVVwZGF0ZSgpCiB9CiAgICAgCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlf
SVNPTEFURURfVFJFRSkKLVJlZjxBWElzb2xhdGVkVHJlZT4gQVhPYmplY3RDYWNoZTo6Z2VuZXJh
dGVJc29sYXRlZFRyZWUoUGFnZUlkZW50aWZpZXIgcGFnZUlELCBEb2N1bWVudCYgZG9jdW1lbnQp
Ci17Ci0gICAgQVhUUkFDRSgiQVhPYmplY3RDYWNoZTo6Z2VuZXJhdGVJc29sYXRlZFRyZWUiKTsK
LSAgICBSRUxFQVNFX0FTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0KLSAgICBSZWZQdHI8QVhJc29s
YXRlZFRyZWU+IHRyZWUoQVhJc29sYXRlZFRyZWU6OmNyZWF0ZVRyZWVGb3JQYWdlSUQocGFnZUlE
KSk7Ci0KLSAgICAvLyBTZXQgdGhlIHJvb3QgYW5kIGZvY3VzZWQgb2JqZWN0cyBpbiB0aGUgaXNv
bGF0ZWQgdHJlZS4gRm9yIHRoYXQsIHdlIG5lZWQKLSAgICAvLyB0aGUgcm9vdCBhbmQgdGhlIGZv
Y3VzZWQgb2JqZWN0IGluIHRoZSBBWE9iamVjdCB0cmVlLgotICAgIGF1dG8qIGF4T2JqZWN0Q2Fj
aGUgPSBkb2N1bWVudC5heE9iamVjdENhY2hlKCk7Ci0gICAgaWYgKCFheE9iamVjdENhY2hlKQot
ICAgICAgICByZXR1cm4gbWFrZVJlZigqdHJlZSk7Ci0gICAgdHJlZS0+c2V0QVhPYmplY3RDYWNo
ZShheE9iamVjdENhY2hlKTsKLQotICAgIGF1dG8qIGF4Um9vdCA9IGF4T2JqZWN0Q2FjaGUtPmdl
dE9yQ3JlYXRlKGRvY3VtZW50LnZpZXcoKSk7Ci0gICAgaWYgKGF4Um9vdCkKLSAgICAgICAgdHJl
ZS0+Z2VuZXJhdGVTdWJ0cmVlKCpheFJvb3QsIG51bGxwdHIsIHRydWUpOwotCi0gICAgYXV0byog
YXhGb2N1cyA9IGF4T2JqZWN0Q2FjaGUtPmZvY3VzZWRPYmplY3RGb3JQYWdlKGRvY3VtZW50LnBh
Z2UoKSk7Ci0gICAgaWYgKGF4Rm9jdXMpCi0gICAgICAgIHRyZWUtPnNldEZvY3VzZWROb2RlSUQo
YXhGb2N1cy0+b2JqZWN0SUQoKSk7Ci0KLSAgICByZXR1cm4gbWFrZVJlZigqdHJlZSk7Ci19Ci0K
IHZvaWQgQVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVlKEFYQ29yZU9iamVjdCYgb2Jq
ZWN0LCBBWE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCiB7CiAgICAgQVhUUkFDRSgiQVhPYmpl
Y3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVlIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDc2YTMxNjI4MWMwMTJkODMyNzZkNjRmYWU5ZWMx
MjhhNmI0OWIyMzguLmU5MmVjMGU0ZjRiOTQ3YjFlOWI5MTM4YzRiZDUxOWUzN2M1NTA0ZTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0zNTAs
NiArMzUwLDcgQEAgcHVibGljOgogICAgIEFYQ29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVDYWNoZSog
Y29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVDYWNoZSgpIHsgcmV0dXJuIG1fY29tcHV0ZWRPYmplY3RB
dHRyaWJ1dGVDYWNoZS5nZXQoKTsgfQogCiAgICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9kb2N1bWVudDsgfQorICAgIE9wdGlvbmFsPFBhZ2VJZGVudGlmaWVyPiBwYWdl
SUQoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VJRDsgfQogCiAjaWYgUExBVEZPUk0oTUFDKQogICAg
IHN0YXRpYyB2b2lkIHNldFNob3VsZFJlcG9zdE5vdGlmaWNhdGlvbnNGb3JUZXN0cyhib29sIHZh
bHVlKTsKQEAgLTM3MCw3ICszNzEsNiBAQCBwcml2YXRlOgogICAgIEFYQ29yZU9iamVjdCogaXNv
bGF0ZWRUcmVlUm9vdE9iamVjdCgpOwogICAgIEFYQ29yZU9iamVjdCogaXNvbGF0ZWRUcmVlRm9j
dXNlZE9iamVjdCgpOwogICAgIHZvaWQgc2V0SXNvbGF0ZWRUcmVlRm9jdXNlZE9iamVjdChOb2Rl
Kik7Ci0gICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZT4gZ2VuZXJhdGVJc29sYXRlZFRyZWUo
UGFnZUlkZW50aWZpZXIsIERvY3VtZW50Jik7CiAgICAgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiBn
ZXRPckNyZWF0ZUlzb2xhdGVkVHJlZSgpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRlSXNvbGF0ZWRU
cmVlKEFYQ29yZU9iamVjdCYsIEFYTm90aWZpY2F0aW9uKTsKICAgICB2b2lkIHVwZGF0ZUlzb2xh
dGVkVHJlZShBWENvcmVPYmplY3QqLCBBWE5vdGlmaWNhdGlvbik7CkBAIC00MzAsNyArNDMwLDYg
QEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHJvb3RX
ZWJBcmVhKCk7Ci0KICAgICBzdGF0aWMgQWNjZXNzaWJpbGl0eU9iamVjdCogZm9jdXNlZEltYWdl
TWFwVUlFbGVtZW50KEhUTUxBcmVhRWxlbWVudCopOwogCiAgICAgQVhJRCBnZXRBWElEKEFjY2Vz
c2liaWxpdHlPYmplY3QqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKaW5kZXggODdhMjA3
MzMwNTUyNzdmNjliMThkZjBkNDNiMzNjNGU0NzhiNWVjMC4uYzhjYjBjMzY0ZWI4ZDA4NzA4ZTBj
OTAwNTAzMWZjYjMzOWY4NTIxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKQEAgLTM2
LDE0ICszNiwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUFYSXNvbGF0ZWRPYmplY3Q6
OkFYSXNvbGF0ZWRPYmplY3QoQVhDb3JlT2JqZWN0JiBvYmplY3QsIEFYSXNvbGF0ZWRUcmVlSUQg
dHJlZUlELCBBWElEIHBhcmVudElEKQotICAgIDogbV90cmVlSUQodHJlZUlEKQorQVhJc29sYXRl
ZE9iamVjdDo6QVhJc29sYXRlZE9iamVjdChBWENvcmVPYmplY3QmIG9iamVjdCwgQVhJc29sYXRl
ZFRyZWUqIHRyZWUsIEFYSUQgcGFyZW50SUQpCisgICAgOiBtX2NhY2hlZFRyZWUodHJlZSkKICAg
ICAsIG1fcGFyZW50SUQocGFyZW50SUQpCiAgICAgLCBtX2lkKG9iamVjdC5vYmplY3RJRCgpKQog
ewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgaWYgKGF1dG8gdHJlZSA9IEFYSXNv
bGF0ZWRUcmVlOjp0cmVlRm9ySUQobV90cmVlSUQpKQotICAgICAgICBtX2NhY2hlZFRyZWUgPSB0
cmVlOwogICAgIGlmIChtX2lkICE9IEludmFsaWRBWElEKQogICAgICAgICBpbml0aWFsaXplQXR0
cmlidXRlRGF0YShvYmplY3QsIHBhcmVudElEID09IEludmFsaWRBWElEKTsKICAgICBlbHNlIHsK
QEAgLTUyLDkgKzUwLDkgQEAgQVhJc29sYXRlZE9iamVjdDo6QVhJc29sYXRlZE9iamVjdChBWENv
cmVPYmplY3QmIG9iamVjdCwgQVhJc29sYXRlZFRyZWVJRCB0cmVlSUQKICAgICB9CiB9CiAKLVJl
ZjxBWElzb2xhdGVkT2JqZWN0PiBBWElzb2xhdGVkT2JqZWN0OjpjcmVhdGUoQVhDb3JlT2JqZWN0
JiBvYmplY3QsIEFYSXNvbGF0ZWRUcmVlSUQgdHJlZUlELCBBWElEIHBhcmVudElEKQorUmVmPEFY
SXNvbGF0ZWRPYmplY3Q+IEFYSXNvbGF0ZWRPYmplY3Q6OmNyZWF0ZShBWENvcmVPYmplY3QmIG9i
amVjdCwgQVhJc29sYXRlZFRyZWUqIHRyZWUsIEFYSUQgcGFyZW50SUQpCiB7Ci0gICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQVhJc29sYXRlZE9iamVjdChvYmplY3QsIHRyZWVJRCwgcGFyZW50SUQp
KTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBWElzb2xhdGVkT2JqZWN0KG9iamVjdCwgdHJl
ZSwgcGFyZW50SUQpKTsKIH0KIAogQVhJc29sYXRlZE9iamVjdDo6fkFYSXNvbGF0ZWRPYmplY3Qo
KQpAQCAtNDA1LDYgKzQwMywxNCBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxpemVB
dHRyaWJ1dGVEYXRhKEFYQ29yZU9iamVjdCYgb2JqZWN0LCBib29sIGlzUm9vdAogICAgIGluaXRp
YWxpemVQbGF0Zm9ybVByb3BlcnRpZXMob2JqZWN0KTsKIH0KIAorQVhDb3JlT2JqZWN0KiBBWElz
b2xhdGVkT2JqZWN0Ojphc3NvY2lhdGVkQVhPYmplY3QoKSBjb25zdAoreworICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CisKKyAgICBhdXRvKiBheE9iamVjdENhY2hlID0gdGhpcy0+YXhPYmpl
Y3RDYWNoZSgpOworICAgIHJldHVybiBheE9iamVjdENhY2hlICYmIG1faWQgIT0gSW52YWxpZEFY
SUQgPyBheE9iamVjdENhY2hlLT5vYmplY3RGcm9tQVhJRChtX2lkKSA6IG51bGxwdHI7Cit9CisK
IHZvaWQgQVhJc29sYXRlZE9iamVjdDo6c2V0TWF0aHNjcmlwdHMoQVhQcm9wZXJ0eU5hbWUgcHJv
cGVydHlOYW1lLCBBWENvcmVPYmplY3QmIG9iamVjdCkKIHsKICAgICBBY2Nlc3NpYmlsaXR5TWF0
aE11bHRpc2NyaXB0UGFpcnMgcGFpcnM7CkBAIC01MTEsMTAgKzUxNywxMiBAQCB2b2lkIEFYSXNv
bGF0ZWRPYmplY3Q6OnNldFNlbGVjdGVkQ2hpbGRyZW4oY29uc3QgQWNjZXNzaWJpbGl0eUNoaWxk
cmVuVmVjdG9yJiBzZQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAg
QVNTRVJUKGF4T2JqZWN0Q2FjaGUoKSk7CisgICAgICAgIGF1dG8qIGF4T2JqZWN0Q2FjaGUgPSB0
aGlzLT5heE9iamVjdENhY2hlKCk7CisgICAgICAgIGlmICghYXhPYmplY3RDYWNoZSkKKyAgICAg
ICAgICAgIHJldHVybjsKIAogICAgICAgICBhdXRvIGF4SURzID0gdHJlZSgpLT5pZHNGb3JPYmpl
Y3RzKHNlbGVjdGVkQ2hpbGRyZW4pOwotICAgICAgICBhdXRvIGF4U2VsZWN0ZWRDaGlsZHJlbiA9
IGF4T2JqZWN0Q2FjaGUoKS0+b2JqZWN0c0ZvcklEcyhheElEcyk7CisgICAgICAgIGF1dG8gYXhT
ZWxlY3RlZENoaWxkcmVuID0gYXhPYmplY3RDYWNoZS0+b2JqZWN0c0ZvcklEcyhheElEcyk7CiAg
ICAgICAgIG9iamVjdC0+c2V0U2VsZWN0ZWRDaGlsZHJlbihheFNlbGVjdGVkQ2hpbGRyZW4pOwog
ICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oCmluZGV4IGI2N2Y4YWEwMzc2YWMwMmI3
ZjIwYWNhNWY0ZjgyMmQxYTU1MmNkZTQuLmYwNzBiMjYzOTM1ZThhNGI0ZTRjMzQ0YTE5NzcyYzA4
YmUwNWY1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmgKQEAgLTQ3LDcgKzQ3LDcgQEAgY2xh
c3MgQVhJc29sYXRlZFRyZWU7CiBjbGFzcyBBWElzb2xhdGVkT2JqZWN0IGZpbmFsIDogcHVibGlj
IEFYQ29yZU9iamVjdCB7CiAgICAgZnJpZW5kIGNsYXNzIEFYSXNvbGF0ZWRUcmVlOwogcHVibGlj
OgotICAgIHN0YXRpYyBSZWY8QVhJc29sYXRlZE9iamVjdD4gY3JlYXRlKEFYQ29yZU9iamVjdCYs
IEFYSXNvbGF0ZWRUcmVlSUQsIEFYSUQgcGFyZW50SUQpOworICAgIHN0YXRpYyBSZWY8QVhJc29s
YXRlZE9iamVjdD4gY3JlYXRlKEFYQ29yZU9iamVjdCYsIEFYSXNvbGF0ZWRUcmVlKiwgQVhJRCBw
YXJlbnRJRCk7CiAgICAgfkFYSXNvbGF0ZWRPYmplY3QoKTsKIAogICAgIHZvaWQgc2V0T2JqZWN0
SUQoQVhJRCBpZCkgb3ZlcnJpZGUgeyBtX2lkID0gaWQ7IH0KQEAgLTU4LDE0ICs1OCw2IEBAIHB1
YmxpYzoKICAgICBib29sIGlzRGV0YWNoZWQoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQg
c2V0UGFyZW50KEFYSUQpOwotICAgIHZvaWQgc2V0Q2hpbGRyZW5JRHMoVmVjdG9yPEFYSUQ+JiYg
Y2hpbGRyZW5JRHMpCi0gICAgewotICAgICAgICAvLyBGSVhNRTogVGhlIGZvbGxvd2luZyBBU1NF
UlQgc2hvdWxkIGJlIG1ldCBidXQgaXQgaXMgY29tbWVudGVkIG91dCBhdCB0aGUKLSAgICAgICAg
Ly8gbW9tZW50IGJlY2F1c2Ugb2YgPHJkYXI6Ly9wcm9ibGVtLzYzOTg1NjQ2PiBBZnRlciBjYWxs
aW5nIF9BWFVJRWxlbWVudFVzZVNlY29uZGFyeUFYVGhyZWFkKHRydWUpLAotICAgICAgICAvLyBz
dGlsbCByZWNlaXZlcyBjbGllbnQgcmVxdWVzdCBvbiBtYWluIHRocmVhZC4KLSAgICAgICAgLy8g
QVNTRVJUKGF4T2JqZWN0Q2FjaGUoKS0+Y2FuVXNlU2Vjb25kYXJ5QVhUaHJlYWQoKSA/ICFpc01h
aW5UaHJlYWQoKSA6IGlzTWFpblRocmVhZCgpKTsKLSAgICAgICAgbV9jaGlsZHJlbklEcyA9IGNo
aWxkcmVuSURzOwotICAgIH0KIAogcHJpdmF0ZToKICAgICB2b2lkIGRldGFjaFJlbW90ZVBhcnRz
KEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSkgb3ZlcnJpZGU7CkBAIC03MywxOSArNjUsMTQg
QEAgcHJpdmF0ZToKIAogICAgIEFYSUQgcGFyZW50KCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnRJ
RDsgfQogCi0gICAgQVhJc29sYXRlZFRyZWVJRCB0cmVlSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0
dXJuIG1fdHJlZUlEOyB9CiAgICAgQVhJc29sYXRlZFRyZWUqIHRyZWUoKSBjb25zdCB7IHJldHVy
biBtX2NhY2hlZFRyZWUuZ2V0KCk7IH0KIAogICAgIEFYSXNvbGF0ZWRPYmplY3QoKSA9IGRlZmF1
bHQ7Ci0gICAgQVhJc29sYXRlZE9iamVjdChBWENvcmVPYmplY3QmLCBBWElzb2xhdGVkVHJlZUlE
LCBBWElEIHBhcmVudElEKTsKKyAgICBBWElzb2xhdGVkT2JqZWN0KEFYQ29yZU9iamVjdCYsIEFY
SXNvbGF0ZWRUcmVlKiwgQVhJRCBwYXJlbnRJRCk7CiAgICAgYm9vbCBpc0FYSXNvbGF0ZWRPYmpl
Y3RJbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIGlu
aXRpYWxpemVBdHRyaWJ1dGVEYXRhKEFYQ29yZU9iamVjdCYsIGJvb2wgaXNSb290KTsKICAgICB2
b2lkIGluaXRpYWxpemVQbGF0Zm9ybVByb3BlcnRpZXMoY29uc3QgQVhDb3JlT2JqZWN0Jik7Ci0g
ICAgQVhDb3JlT2JqZWN0KiBhc3NvY2lhdGVkQVhPYmplY3QoKSBjb25zdAotICAgIHsKLSAgICAg
ICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICAgICAgcmV0dXJuIG1faWQgIT0gSW52YWxp
ZEFYSUQgPyBheE9iamVjdENhY2hlKCktPm9iamVjdEZyb21BWElEKG1faWQpIDogbnVsbHB0cjsK
LSAgICB9CisgICAgQVhDb3JlT2JqZWN0KiBhc3NvY2lhdGVkQVhPYmplY3QoKSBjb25zdDsKIAog
ICAgIHZvaWQgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWUsIEFYUHJvcGVydHlWYWx1ZVZhcmlh
bnQmJiwgYm9vbCBzaG91bGRSZW1vdmUgPSBmYWxzZSk7CiAgICAgdm9pZCBzZXRPYmplY3RQcm9w
ZXJ0eShBWFByb3BlcnR5TmFtZSwgQVhDb3JlT2JqZWN0Kik7CkBAIC02NTAsNyArNjM3LDYgQEAg
cHJpdmF0ZToKICAgICBTdHJpbmcgaW5uZXJIVE1MKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgU3Ry
aW5nIG91dGVySFRNTCgpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgQVhJc29sYXRlZFRyZWVJRCBt
X3RyZWVJRDsKICAgICBSZWZQdHI8QVhJc29sYXRlZFRyZWU+IG1fY2FjaGVkVHJlZTsKICAgICBB
WElEIG1fcGFyZW50SUQgeyBJbnZhbGlkQVhJRCB9OwogICAgIEFYSUQgbV9pZCB7IEludmFsaWRB
WElEIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lz
b2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAKaW5kZXggNzc0ZWIwYjgzNzNhYjZhZmMzNTMx
MmNmZTQ1ODhmNjVlMzZlZTVmMi4uODBkZTVjOTJkMTk2MGViN2ZlMTJiNTZkZDA2MDc0NDE4OTIz
MGUwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRy
ZWUvQVhJc29sYXRlZFRyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcApAQCAtNTUsMTAgKzU1LDEzIEBAIEhhc2hN
YXA8QVhJc29sYXRlZFRyZWVJRCwgUmVmPEFYSXNvbGF0ZWRUcmVlPj4mIEFYSXNvbGF0ZWRUcmVl
Ojp0cmVlSURDYWNoZSgpCiAgICAgcmV0dXJuIG1hcDsKIH0KIAotQVhJc29sYXRlZFRyZWU6OkFY
SXNvbGF0ZWRUcmVlKCkKK0FYSXNvbGF0ZWRUcmVlOjpBWElzb2xhdGVkVHJlZShBWE9iamVjdENh
Y2hlKiBheE9iamVjdENhY2hlKQogICAgIDogbV90cmVlSUQobmV3VHJlZUlEKCkpCisgICAgLCBt
X2F4T2JqZWN0Q2FjaGUoYXhPYmplY3RDYWNoZSkKKyAgICAsIG1fdXNlZE9uQVhUaHJlYWQoYXhP
YmplY3RDYWNoZS0+Y2FuVXNlU2Vjb25kYXJ5QVhUaHJlYWQoKSkKIHsKICAgICBBWFRSQUNFKCJB
WElzb2xhdGVkVHJlZTo6QVhJc29sYXRlZFRyZWUiKTsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOwogfQogCiBBWElzb2xhdGVkVHJlZTo6fkFYSXNvbGF0ZWRUcmVlKCkKQEAgLTcwLDE5ICs3
MywxMiBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjpjbGVhcigpCiB7CiAgICAgQVhUUkFDRSgiQVhJ
c29sYXRlZFRyZWU6OmNsZWFyIik7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBt
X2F4T2JqZWN0Q2FjaGUgPSBudWxscHRyOwogCiAgICAgTG9ja0hvbGRlciBsb2NrZXIgeyBtX2No
YW5nZUxvZ0xvY2sgfTsKICAgICBtX3BlbmRpbmdTdWJ0cmVlUmVtb3ZhbHMuYXBwZW5kKG1fcm9v
dE5vZGUtPm9iamVjdElEKCkpOwogICAgIG1fcm9vdE5vZGUgPSBudWxscHRyOwogICAgIG1fbm9k
ZU1hcC5jbGVhcigpOwotICAgIG1fYXhPYmplY3RDYWNoZSA9IG51bGxwdHI7Ci19Ci0KLVJlZjxB
WElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OmNyZWF0ZSgpCi17Ci0gICAgQVhUUkFDRSgi
QVhJc29sYXRlZFRyZWU6OmNyZWF0ZSIpOwotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0g
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQVhJc29sYXRlZFRyZWUoKSk7CiB9CiAKIFJlZlB0cjxB
WElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JJRChBWElzb2xhdGVkVHJlZUlE
IHRyZWVJRCkKQEAgLTkxLDE2ICs4NywzMiBAQCBSZWZQdHI8QVhJc29sYXRlZFRyZWU+IEFYSXNv
bGF0ZWRUcmVlOjp0cmVlRm9ySUQoQVhJc29sYXRlZFRyZWVJRCB0cmVlSUQpCiAgICAgcmV0dXJu
IHRyZWVJRENhY2hlKCkuZ2V0KHRyZWVJRCk7CiB9CiAKLVJlZjxBWElzb2xhdGVkVHJlZT4gQVhJ
c29sYXRlZFRyZWU6OmNyZWF0ZVRyZWVGb3JQYWdlSUQoUGFnZUlkZW50aWZpZXIgcGFnZUlEKQor
UmVmPEFYSXNvbGF0ZWRUcmVlPiBBWElzb2xhdGVkVHJlZTo6Y3JlYXRlKEFYT2JqZWN0Q2FjaGUq
IGF4T2JqZWN0Q2FjaGUpCiB7Ci0gICAgQVhUUkFDRSgiQVhJc29sYXRlZFRyZWU6OmNyZWF0ZVRy
ZWVGb3JQYWdlSUQiKTsKKyAgICBBWFRSQUNFKCJBWElzb2xhdGVkVHJlZTo6Y3JlYXRlIik7Cisg
ICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBBU1NFUlQoYXhPYmplY3RDYWNoZSAmJiBh
eE9iamVjdENhY2hlLT5wYWdlSUQoKSk7CisKKyAgICBhdXRvIHRyZWUgPSBhZG9wdFJlZigqbmV3
IEFYSXNvbGF0ZWRUcmVlKGF4T2JqZWN0Q2FjaGUpKTsKKworICAgIC8vIEdlbmVyYXRlIHRoZSBu
b2RlcyBvZiB0aGUgdHJlZSBhbmQgc2V0IGl0cyByb290IGFuZCBmb2N1c2VkIG9iamVjdHMuCisg
ICAgLy8gRm9yIHRoaXMsIHdlIG5lZWQgdGhlIHJvb3QgYW5kIGZvY3VzZWQgb2JqZWN0cyBvZiB0
aGUgQVhPYmplY3QgdHJlZS4KKyAgICBhdXRvKiBheFJvb3QgPSBheE9iamVjdENhY2hlLT5nZXRP
ckNyZWF0ZShheE9iamVjdENhY2hlLT5kb2N1bWVudCgpLnZpZXcoKSk7CisgICAgaWYgKGF4Um9v
dCkKKyAgICAgICAgdHJlZS0+Z2VuZXJhdGVTdWJ0cmVlKCpheFJvb3QsIG51bGxwdHIsIHRydWUp
OworICAgIGF1dG8qIGF4Rm9jdXMgPSBheE9iamVjdENhY2hlLT5mb2N1c2VkT2JqZWN0Rm9yUGFn
ZShheE9iamVjdENhY2hlLT5kb2N1bWVudCgpLnBhZ2UoKSk7CisgICAgaWYgKGF4Rm9jdXMpCisg
ICAgICAgIHRyZWUtPnNldEZvY3VzZWROb2RlSUQoYXhGb2N1cy0+b2JqZWN0SUQoKSk7CisKKyAg
ICAvLyBOb3cgdGhhdCB0aGUgdHJlZSBpcyByZWFkeSB0byB0YWtlIGNsaWVudCByZXF1ZXN0cywg
YWRkIGl0IHRvIHRoZSB0cmVlCisgICAgLy8gbWFwcyBzbyB0aGF0IGl0IGNhbiBiZSBmb3VuZC4K
KyAgICBhdXRvIHBhZ2VJRCA9IGF4T2JqZWN0Q2FjaGUtPnBhZ2VJRCgpOwogICAgIExvY2tIb2xk
ZXIgbG9ja2VyKHNfY2FjaGVMb2NrKTsKLSAgICBBU1NFUlQoIXRyZWVQYWdlQ2FjaGUoKS5jb250
YWlucyhwYWdlSUQpKTsKKyAgICBBU1NFUlQoIXRyZWVQYWdlQ2FjaGUoKS5jb250YWlucygqcGFn
ZUlEKSk7CisgICAgdHJlZVBhZ2VDYWNoZSgpLnNldCgqcGFnZUlELCB0cmVlLmNvcHlSZWYoKSk7
CisgICAgdHJlZUlEQ2FjaGUoKS5zZXQodHJlZS0+dHJlZUlEKCksIHRyZWUuY29weVJlZigpKTsK
IAotICAgIGF1dG8gbmV3VHJlZSA9IEFYSXNvbGF0ZWRUcmVlOjpjcmVhdGUoKTsKLSAgICB0cmVl
UGFnZUNhY2hlKCkuc2V0KHBhZ2VJRCwgbmV3VHJlZS5jb3B5UmVmKCkpOwotICAgIHRyZWVJRENh
Y2hlKCkuc2V0KG5ld1RyZWUtPnRyZWVJRCgpLCBuZXdUcmVlLmNvcHlSZWYoKSk7Ci0gICAgcmV0
dXJuIG5ld1RyZWU7CisgICAgcmV0dXJuIHRyZWU7CiB9CiAKIHZvaWQgQVhJc29sYXRlZFRyZWU6
OnJlbW92ZVRyZWVGb3JQYWdlSUQoUGFnZUlkZW50aWZpZXIgcGFnZUlEKQpAQCAtMTI4LDcgKzE0
MCw3IEBAIFJlZlB0cjxBWElzb2xhdGVkVHJlZT4gQVhJc29sYXRlZFRyZWU6OnRyZWVGb3JQYWdl
SUQoUGFnZUlkZW50aWZpZXIgcGFnZUlEKQogUmVmUHRyPEFYSXNvbGF0ZWRPYmplY3Q+IEFYSXNv
bGF0ZWRUcmVlOjpub2RlRm9ySUQoQVhJRCBheElEKSBjb25zdAogewogICAgIC8vIEluIGlzb2xh
dGVkIHRyZWUgbW9kZSAyLCBvbmx5IGFjY2VzcyBtX3JlYWRlclRocmVhZE5vZGVNYXAgb24gdGhl
IEFYIHRocmVhZC4KLSAgICBpZiAoYXhPYmplY3RDYWNoZSgpLT5jYW5Vc2VTZWNvbmRhcnlBWFRo
cmVhZCgpICYmIGlzTWFpblRocmVhZCgpKQorICAgIGlmIChtX3VzZWRPbkFYVGhyZWFkICYmIGlz
TWFpblRocmVhZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIHJldHVybiBheElE
ICE9IEludmFsaWRBWElEID8gbV9yZWFkZXJUaHJlYWROb2RlTWFwLmdldChheElEKSA6IG51bGxw
dHI7CkBAIC0xODcsNyArMTk5LDcgQEAgUmVmPEFYSXNvbGF0ZWRPYmplY3Q+IEFYSXNvbGF0ZWRU
cmVlOjpjcmVhdGVTdWJ0cmVlKEFYQ29yZU9iamVjdCYgYXhPYmplY3QsIEFYSUQKICAgICBBWFRS
QUNFKCJBWElzb2xhdGVkVHJlZTo6Y3JlYXRlU3VidHJlZSIpOwogICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CiAKLSAgICBhdXRvIG9iamVjdCA9IEFYSXNvbGF0ZWRPYmplY3Q6OmNyZWF0ZShh
eE9iamVjdCwgbV90cmVlSUQsIHBhcmVudElEKTsKKyAgICBhdXRvIG9iamVjdCA9IEFYSXNvbGF0
ZWRPYmplY3Q6OmNyZWF0ZShheE9iamVjdCwgdGhpcywgcGFyZW50SUQpOwogICAgIGlmIChvYmpl
Y3QtPm9iamVjdElEKCkgPT0gSW52YWxpZEFYSUQpIHsKICAgICAgICAgLy8gRWl0aGVyIHRoZSBh
eE9iamVjdCBoYXMgYW4gaW52YWxpZCBJRCBvciBzb21ldGhpbmcgZWxzZSB3ZW50IHRlcnJpYmx5
IHdyb25nLiBEb24ndCBib3RoZXIgZG9pbmcgYW55dGhpbmcgZWxzZS4KICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CkBAIC0yMjksNyArMjQxLDcgQEAgdm9pZCBBWElzb2xhdGVkVHJlZTo6
dXBkYXRlTm9kZShBWENvcmVPYmplY3QmIGF4T2JqZWN0KQogICAgIGF1dG8qIGF4UGFyZW50ID0g
YXhPYmplY3QucGFyZW50T2JqZWN0KCk7CiAgICAgQVhJRCBwYXJlbnRJRCA9IGF4UGFyZW50ID8g
YXhQYXJlbnQtPm9iamVjdElEKCkgOiBJbnZhbGlkQVhJRDsKIAotICAgIGF1dG8gbmV3T2JqZWN0
ID0gQVhJc29sYXRlZE9iamVjdDo6Y3JlYXRlKGF4T2JqZWN0LCBtX3RyZWVJRCwgcGFyZW50SUQp
OworICAgIGF1dG8gbmV3T2JqZWN0ID0gQVhJc29sYXRlZE9iamVjdDo6Y3JlYXRlKGF4T2JqZWN0
LCB0aGlzLCBwYXJlbnRJRCk7CiAgICAgbmV3T2JqZWN0LT5tX2NoaWxkcmVuSURzID0gYXhPYmpl
Y3QuY2hpbGRyZW5JRHMoKTsKIAogICAgIExvY2tIb2xkZXIgbG9ja2VyIHsgbV9jaGFuZ2VMb2dM
b2NrIH07CkBAIC00MTksNyArNDMxLDcgQEAgdm9pZCBBWElzb2xhdGVkVHJlZTo6YXBwbHlQZW5k
aW5nQ2hhbmdlcygpCiAgICAgQVhUUkFDRSgiQVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGluZ0No
YW5nZXMiKTsKIAogICAgIC8vIEluIGlzb2xhdGVkIHRyZWUgbW9kZSAyLCBvbmx5IGFwcGx5IHBl
bmRpbmcgY2hhbmdlcyBvbiB0aGUgQVggdGhyZWFkLgotICAgIGlmIChheE9iamVjdENhY2hlKCkt
PmNhblVzZVNlY29uZGFyeUFYVGhyZWFkKCkgJiYgaXNNYWluVGhyZWFkKCkpCisgICAgaWYgKG1f
dXNlZE9uQVhUaHJlYWQgJiYgaXNNYWluVGhyZWFkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAg
IExvY2tIb2xkZXIgbG9ja2VyIHsgbV9jaGFuZ2VMb2dMb2NrIH07CkBAIC00ODcsNyArNDk5LDcg
QEAgdm9pZCBBWElzb2xhdGVkVHJlZTo6YXBwbHlQZW5kaW5nQ2hhbmdlcygpCiAgICAgZm9yIChh
dXRvJiB1cGRhdGUgOiBtX3BlbmRpbmdDaGlsZHJlblVwZGF0ZXMpIHsKICAgICAgICAgQVhMT0co
bWFrZVN0cmluZygidXBkYXRpbmcgY2hpbGRyZW4gZm9yIGF4SUQgIiwgdXBkYXRlLmZpcnN0KSk7
CiAgICAgICAgIGlmIChhdXRvIG9iamVjdCA9IG5vZGVGb3JJRCh1cGRhdGUuZmlyc3QpKQotICAg
ICAgICAgICAgb2JqZWN0LT5zZXRDaGlsZHJlbklEcyhXVEZNb3ZlKHVwZGF0ZS5zZWNvbmQpKTsK
KyAgICAgICAgICAgIG9iamVjdC0+bV9jaGlsZHJlbklEcyA9IFdURk1vdmUodXBkYXRlLnNlY29u
ZCk7CiAgICAgfQogICAgIG1fcGVuZGluZ0NoaWxkcmVuVXBkYXRlcy5jbGVhcigpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJ
c29sYXRlZFRyZWUuaAppbmRleCBjYzE5NWYzOTgzZDQ2MGQzZDI3ZmFlYTA0Y2JiMTc5YzdmY2Nk
MTViLi43MzAyZGViNzE5OTNlNDdkOTg4Y2E1OTlmNDNkYWMxODM0YjlkZjQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJl
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNv
bGF0ZWRUcmVlLmgKQEAgLTMyMiwxNiArMzIyLDE0IEBAIGNsYXNzIEFYSXNvbGF0ZWRUcmVlIDog
cHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEFYSXNvbGF0ZWRUcmVlPiB7CiAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQVhJc29sYXRlZFRyZWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBmcmllbmQgV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYs
IEFYSXNvbGF0ZWRUcmVlJik7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJl
ZT4gY3JlYXRlKCk7CisgICAgc3RhdGljIFJlZjxBWElzb2xhdGVkVHJlZT4gY3JlYXRlKEFYT2Jq
ZWN0Q2FjaGUqKTsKICAgICB2aXJ0dWFsIH5BWElzb2xhdGVkVHJlZSgpOwogCi0gICAgc3RhdGlj
IFJlZjxBWElzb2xhdGVkVHJlZT4gY3JlYXRlVHJlZUZvclBhZ2VJRChQYWdlSWRlbnRpZmllcik7
CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlVHJlZUZvclBhZ2VJRChQYWdlSWRlbnRpZmllcik7CiAK
ICAgICBzdGF0aWMgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiB0cmVlRm9yUGFnZUlEKFBhZ2VJZGVu
dGlmaWVyKTsKICAgICBzdGF0aWMgUmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiB0cmVlRm9ySUQoQVhJ
c29sYXRlZFRyZWVJRCk7Ci0gICAgQVhPYmplY3RDYWNoZSogYXhPYmplY3RDYWNoZSgpIGNvbnN0
IHsgcmV0dXJuIG1fYXhPYmplY3RDYWNoZTsgfQotICAgIHZvaWQgc2V0QVhPYmplY3RDYWNoZShB
WE9iamVjdENhY2hlKiBheE9iamVjdENhY2hlKSB7IG1fYXhPYmplY3RDYWNoZSA9IGF4T2JqZWN0
Q2FjaGU7IH0KKyAgICBBWE9iamVjdENhY2hlKiBheE9iamVjdENhY2hlKCkgY29uc3Q7CiAKICAg
ICBSZWZQdHI8QVhJc29sYXRlZE9iamVjdD4gcm9vdE5vZGUoKTsKICAgICBSZWZQdHI8QVhJc29s
YXRlZE9iamVjdD4gZm9jdXNlZE5vZGUoKTsKQEAgLTM2OCw3ICszNjYsNyBAQCBwdWJsaWM6CiAg
ICAgQVhJc29sYXRlZFRyZWVJRCB0cmVlSUQoKSBjb25zdCB7IHJldHVybiBtX3RyZWVJRDsgfQog
CiBwcml2YXRlOgotICAgIEFYSXNvbGF0ZWRUcmVlKCk7CisgICAgQVhJc29sYXRlZFRyZWUoQVhP
YmplY3RDYWNoZSopOwogICAgIHZvaWQgY2xlYXIoKTsKIAogICAgIHN0YXRpYyBIYXNoTWFwPEFY
SXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+JiB0cmVlSURDYWNoZSgpOwpAQCAt
MzgxLDYgKzM3OSw3IEBAIHByaXZhdGU6CiAKICAgICBBWElzb2xhdGVkVHJlZUlEIG1fdHJlZUlE
OwogICAgIEFYT2JqZWN0Q2FjaGUqIG1fYXhPYmplY3RDYWNoZSB7IG51bGxwdHIgfTsKKyAgICBi
b29sIG1fdXNlZE9uQVhUaHJlYWQgeyB0cnVlIH07CiAKICAgICAvLyBPbmx5IGFjY2Vzc2VkIG9u
IG1haW4gdGhyZWFkLgogICAgIEhhc2hNYXA8QVhJRCwgVmVjdG9yPEFYSUQ+PiBtX25vZGVNYXA7
CkBAIC0zOTksNiArMzk4LDEyIEBAIHByaXZhdGU6CiAgICAgTG9jayBtX2NoYW5nZUxvZ0xvY2s7
CiB9OwogCitpbmxpbmUgQVhPYmplY3RDYWNoZSogQVhJc29sYXRlZFRyZWU6OmF4T2JqZWN0Q2Fj
aGUoKSBjb25zdAoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgcmV0dXJuIG1f
YXhPYmplY3RDYWNoZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>