<?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>209269</bug_id>
          
          <creation_ts>2020-03-18 21:02:57 -0700</creation_ts>
          <short_desc>Use helper function retainPtr(T*) instead of creating one.</short_desc>
          <delta_ts>2020-03-18 22:19:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andres Gonzalez">andresg_22</reporter>
          <assigned_to name="Andres Gonzalez">andresg_22</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>darin</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>1631524</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-03-18 21:02:57 -0700</bug_when>
    <thetext>Use helper function retainPtr(T*) instead of creating one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631532</commentid>
    <comment_count>1</comment_count>
      <attachid>393944</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-03-18 21:11:42 -0700</bug_when>
    <thetext>Created attachment 393944
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631544</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-18 22:18:35 -0700</bug_when>
    <thetext>Committed r258681: &lt;https://trac.webkit.org/changeset/258681&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 393944.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631545</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-18 22:19:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/60619069&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393944</attachid>
            <date>2020-03-18 21:11:42 -0700</date>
            <delta_ts>2020-03-18 22:18:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209269-20200319001141.patch</filename>
            <type>text/plain</type>
            <size>24003</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NjczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM5NmM2ZGE2YjM5Mzg5
YjJjZTBlZjJhMTQ1YTQwNTQwYTdjZjYyNy4uZjk3NzIzNzVkMWI3OTdiZDUzNDBiMzAzY2I3M2Qw
YTcyM2U4M2RhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTAzLTE4ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgaGVscGVy
IGZ1bmN0aW9uIHJldGFpblB0cihUKikgaW5zdGVhZCBvZiBjcmVhdGluZyBvbmUuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkyNjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGFjb3JyZWN0
aW9uIHRvIHBhdGNoIGluIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwOTI0Ny4KKyAgICAgICAgVXNlIHRoZSBleGlzdGluZyByZXRhaW5QdHIgaGVscGVyIGZ1
bnRpb24gaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBoZWxwZXIuCisKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbToKKyAgICAg
ICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYXR0YWNobWVudFZpZXddKToKKyAg
ICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgZG9BWEF0dHJpYnV0ZWRTdHJp
bmdGb3JUZXh0TWFya2VyUmFuZ2U6c3BlbGxDaGVjazpdKToKKyAgICAgICAgKC1bV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXIgdGV4dE1hcmtlclJhbmdlRnJvbVZpc2libGVQb3NpdGlvbnM6
ZW5kUG9zaXRpb246XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
IGFzc29jaWF0ZWRQbHVnaW5QYXJlbnRdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXIgd2luZG93RWxlbWVudDpdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOl0pOgorICAgICAgICAo
LVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5U2hvd0NvbnRleHRN
ZW51XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHRleHRNYXJr
ZXJSYW5nZUF0VGV4dE1hcmtlcjpmb3JVbml0Ol0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlciBsaW5lVGV4dE1hcmtlclJhbmdlRm9yVGV4dE1hcmtlcjpmb3JVbml0
Ol0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciB0ZXh0TWFya2Vy
Rm9yVGV4dE1hcmtlcjphdFVuaXQ6XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpmb3JQYXJhbWV0ZXI6XSk6Cisg
ICAgICAgIChyZXRhaW5XcmFwcGVyKTogRGVsZXRlZC4KKwogMjAyMC0wMy0xOCAgQW5kcmVzIEdv
bnphbGV6ICA8YW5kcmVzZ18yMkBhcHBsZS5jb20+CiAKICAgICAgICAgU2V2ZXJhbCBUZXh0TWFy
a2VyIGF0dHJpYnV0ZXMgbmVlZCB0byBydW4gb24gdGhlIG1haW4gdGhyZWFkLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQppbmRleCA3ZmM1YmIyNmMxM2JmMGM1MzZmYmE5
MjA5NmM0N2U5MmQyMWQyZDAzLi41OTdkOGIwNDk0MDIyOTVjZmQwMjNhZjViMGI2ZGRmNzE5YTJl
MjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQpAQCAtNTUzLDE2
ICs1NTMsMTEgQEAgZXh0ZXJuICJDIiBBWFVJRWxlbWVudFJlZiBOU0FjY2Vzc2liaWxpdHlDcmVh
dGVBWFVJRWxlbWVudFJlZihpZCBlbGVtZW50KTsKICAgICBbc3VwZXIgZGV0YWNoXTsKIH0KIAot
c3RhdGljIGlubGluZSBSZXRhaW5QdHI8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI+IHJl
dGFpbldyYXBwZXIoV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIpCi17Ci0g
ICAgcmV0dXJuIFJldGFpblB0cjxXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4od3JhcHBl
cik7Ci19Ci0KIC0gKGlkKWF0dGFjaG1lbnRWaWV3CiB7CiAgICAgQVNTRVJUKHNlbGYuYXhCYWNr
aW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSk7CiAKLSAgICByZXR1cm4gQWNjZXNzaWJpbGl0eTo6
cmV0cmlldmVBdXRvcmVsZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFkPGlkPihbcHJvdGVjdGVkU2Vs
ZiA9IHJldGFpbldyYXBwZXIoc2VsZildICgpIC0+IFJldGFpblB0cjxpZD4geworICAgIHJldHVy
biBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8
aWQ+KFtwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYpXSAoKSAtPiBSZXRhaW5QdHI8aWQ+
IHsKICAgICAgICAgYXV0byogd2lkZ2V0ID0gcHJvdGVjdGVkU2VsZi5nZXQoKS5heEJhY2tpbmdP
YmplY3QtPndpZGdldEZvckF0dGFjaG1lbnRWaWV3KCk7CiAgICAgICAgIGlmICghd2lkZ2V0KQog
ICAgICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTEyNTIsNyArMTI0Nyw3IEBAIHN0YXRpYyBOU1N0
cmluZyogbnNTdHJpbmdGb3JSZXBsYWNlZE5vZGUoTm9kZSogcmVwbGFjZWROb2RlKQogCiAtIChO
U0F0dHJpYnV0ZWRTdHJpbmcqKWRvQVhBdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdl
OihpZCl0ZXh0TWFya2VyUmFuZ2Ugc3BlbGxDaGVjazooQk9PTClzcGVsbENoZWNrCiB7Ci0gICAg
cmV0dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlVmFsdWVGcm9tTWFpblRocmVhZDxOU0F0dHJp
YnV0ZWRTdHJpbmcgKj4oWyZ0ZXh0TWFya2VyUmFuZ2UsICZzcGVsbENoZWNrLCBwcm90ZWN0ZWRT
ZWxmID0gcmV0YWluV3JhcHBlcihzZWxmKV0gKCkgLT4gTlNBdHRyaWJ1dGVkU3RyaW5nICogewor
ICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8TlNB
dHRyaWJ1dGVkU3RyaW5nICo+KFsmdGV4dE1hcmtlclJhbmdlLCAmc3BlbGxDaGVjaywgcHJvdGVj
dGVkU2VsZiA9IHJldGFpblB0cihzZWxmKV0gKCkgLT4gTlNBdHRyaWJ1dGVkU3RyaW5nICogewog
ICAgICAgICBhdXRvKiBiYWNraW5nT2JqZWN0ID0gcHJvdGVjdGVkU2VsZi5nZXQoKS5heEJhY2tp
bmdPYmplY3Q7CiAgICAgICAgIGlmICghYmFja2luZ09iamVjdCkKICAgICAgICAgICAgIHJldHVy
biBuaWw7CkBAIC0xMjk4LDcgKzEyOTMsNyBAQCBzdGF0aWMgTlNTdHJpbmcqIG5zU3RyaW5nRm9y
UmVwbGFjZWROb2RlKE5vZGUqIHJlcGxhY2VkTm9kZSkKIAogLSAoaWQpdGV4dE1hcmtlclJhbmdl
RnJvbVZpc2libGVQb3NpdGlvbnM6KGNvbnN0IFZpc2libGVQb3NpdGlvbiYpc3RhcnRQb3NpdGlv
biBlbmRQb3NpdGlvbjooY29uc3QgVmlzaWJsZVBvc2l0aW9uJillbmRQb3NpdGlvbgogewotICAg
IHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8TlNBdHRy
aWJ1dGVkU3RyaW5nICo+KFsmc3RhcnRQb3NpdGlvbiwgJmVuZFBvc2l0aW9uLCBwcm90ZWN0ZWRT
ZWxmID0gcmV0YWluV3JhcHBlcihzZWxmKV0gKCkgLT4gaWQgeworICAgIHJldHVybiBBY2Nlc3Np
YmlsaXR5OjpyZXRyaWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8TlNBdHRyaWJ1dGVkU3RyaW5nICo+
KFsmc3RhcnRQb3NpdGlvbiwgJmVuZFBvc2l0aW9uLCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRy
KHNlbGYpXSAoKSAtPiBpZCB7CiAgICAgICAgIGF1dG8qIGJhY2tpbmdPYmplY3QgPSBwcm90ZWN0
ZWRTZWxmLmdldCgpLmF4QmFja2luZ09iamVjdDsKICAgICAgICAgaWYgKCFiYWNraW5nT2JqZWN0
KQogICAgICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTE5MTksNyArMTkxNCw3IEBAIHN0YXRpYyBO
U011dGFibGVBcnJheSAqY29udmVydFN0cmluZ3NUb05TQXJyYXkoY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIHZlY3RvcikKIAogLSAoaWQpYXNzb2NpYXRlZFBsdWdpblBhcmVudAogewotICAgIHJldHVy
biBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8
aWQ+KFtwcm90ZWN0ZWRTZWxmID0gcmV0YWluV3JhcHBlcihzZWxmKV0gKCkgLT4gUmV0YWluUHRy
PGlkPiB7CisgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlQXV0b3JlbGVhc2VkVmFs
dWVGcm9tTWFpblRocmVhZDxpZD4oW3Byb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZildICgp
IC0+IFJldGFpblB0cjxpZD4gewogICAgICAgICBhdXRvKiBiYWNraW5nT2JqZWN0ID0gcHJvdGVj
dGVkU2VsZi5nZXQoKS5heEJhY2tpbmdPYmplY3Q7CiAgICAgICAgIGlmICghYmFja2luZ09iamVj
dCB8fCAhYmFja2luZ09iamVjdC0+aGFzQXBwbGVQREZBbm5vdGF0aW9uQXR0cmlidXRlKCkpCiAg
ICAgICAgICAgICByZXR1cm4gbmlsOwpAQCAtMjI4OSw3ICsyMjg0LDcgQEAgQUxMT1dfREVQUkVD
QVRFRF9ERUNMQVJBVElPTlNfRU5ECiAKIC0gKGlkKXdpbmRvd0VsZW1lbnQ6KE5TU3RyaW5nKilh
dHRyaWJ1dGVOYW1lCiB7Ci0gICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlQXV0b3Jl
bGVhc2VkVmFsdWVGcm9tTWFpblRocmVhZDxpZD4oW2F0dHJpYnV0ZU5hbWUsIHByb3RlY3RlZFNl
bGYgPSByZXRhaW5XcmFwcGVyKHNlbGYpXSAoKSAtPiBSZXRhaW5QdHI8aWQ+IHsKKyAgICByZXR1
cm4gQWNjZXNzaWJpbGl0eTo6cmV0cmlldmVBdXRvcmVsZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFk
PGlkPihbYXR0cmlidXRlTmFtZSwgcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKV0gKCkg
LT4gUmV0YWluUHRyPGlkPiB7CiAgICAgICAgIGlkIHJlbW90ZVBhcmVudCA9IFtwcm90ZWN0ZWRT
ZWxmIHJlbW90ZUFjY2Vzc2liaWxpdHlQYXJlbnRPYmplY3RdOwogICAgICAgICBpZiAocmVtb3Rl
UGFyZW50KSB7CiAgICAgICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJ
TgpAQCAtMjgyNCwxMyArMjgxOSwxMyBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9O
U19FTkQKICAgICAgICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0eVZlcnRpY2FsT3JpZW50YXRpb25W
YWx1ZTsKIAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJBWFNlbGVj
dGVkVGV4dE1hcmtlclJhbmdlIl0pIHsKLSAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6OnJl
dHJpZXZlQXV0b3JlbGVhc2VkVmFsdWVGcm9tTWFpblRocmVhZDxpZD4oW3Byb3RlY3RlZFNlbGYg
PSByZXRhaW5XcmFwcGVyKHNlbGYpXSAoKSAtPiBSZXRhaW5QdHI8aWQ+IHsKKyAgICAgICAgcmV0
dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlQXV0b3JlbGVhc2VkVmFsdWVGcm9tTWFpblRocmVh
ZDxpZD4oW3Byb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZildICgpIC0+IFJldGFpblB0cjxp
ZD4gewogICAgICAgICAgICAgcmV0dXJuIFtwcm90ZWN0ZWRTZWxmIHRleHRNYXJrZXJSYW5nZUZv
clNlbGVjdGlvbl07CiAgICAgICAgIH0pOwogICAgIH0KIAogICAgIGlmIChbYXR0cmlidXRlTmFt
ZSBpc0VxdWFsVG9TdHJpbmc6QCJBWFN0YXJ0VGV4dE1hcmtlciJdKSB7Ci0gICAgICAgIHJldHVy
biBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8
aWQ+KFtwcm90ZWN0ZWRTZWxmID0gcmV0YWluV3JhcHBlcihzZWxmKV0gKCkgLT4gUmV0YWluUHRy
PGlkPiB7CisgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNl
ZFZhbHVlRnJvbU1haW5UaHJlYWQ8aWQ+KFtwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYp
XSAoKSAtPiBSZXRhaW5QdHI8aWQ+IHsKICAgICAgICAgICAgIGlmIChhdXRvKiBiYWNraW5nT2Jq
ZWN0ID0gcHJvdGVjdGVkU2VsZi5nZXQoKS5heEJhY2tpbmdPYmplY3QpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIFtwcm90ZWN0ZWRTZWxmIHRleHRNYXJrZXJGb3JWaXNpYmxlUG9zaXRpb246c3Rh
cnRPZkRvY3VtZW50KGJhY2tpbmdPYmplY3QtPmRvY3VtZW50KCkpXTsKICAgICAgICAgICAgIHJl
dHVybiBuaWw7CkBAIC0yODM4LDcgKzI4MzMsNyBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVO
VEFUSU9OU19FTkQKICAgICB9CiAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3Ry
aW5nOkAiQVhFbmRUZXh0TWFya2VyIl0pIHsKLSAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6
OnJldHJpZXZlQXV0b3JlbGVhc2VkVmFsdWVGcm9tTWFpblRocmVhZDxpZD4oW3Byb3RlY3RlZFNl
bGYgPSByZXRhaW5XcmFwcGVyKHNlbGYpXSAoKSAtPiBSZXRhaW5QdHI8aWQ+IHsKKyAgICAgICAg
cmV0dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlQXV0b3JlbGVhc2VkVmFsdWVGcm9tTWFpblRo
cmVhZDxpZD4oW3Byb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZildICgpIC0+IFJldGFpblB0
cjxpZD4gewogICAgICAgICAgICAgaWYgKGF1dG8qIGJhY2tpbmdPYmplY3QgPSBwcm90ZWN0ZWRT
ZWxmLmdldCgpLmF4QmFja2luZ09iamVjdCkKICAgICAgICAgICAgICAgICByZXR1cm4gW3Byb3Rl
Y3RlZFNlbGYgdGV4dE1hcmtlckZvclZpc2libGVQb3NpdGlvbjplbmRPZkRvY3VtZW50KGJhY2tp
bmdPYmplY3QtPmRvY3VtZW50KCkpXTsKICAgICAgICAgICAgIHJldHVybiBuaWw7CkBAIC0zNDA2
LDcgKzM0MDEsNyBAQCBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIAogLSAodm9p
ZClhY2Nlc3NpYmlsaXR5U2hvd0NvbnRleHRNZW51CiB7Ci0gICAgQWNjZXNzaWJpbGl0eTo6cGVy
Zm9ybUZ1bmN0aW9uT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRTZWxmID0gcmV0YWluV3JhcHBlcihz
ZWxmKV0geworICAgIEFjY2Vzc2liaWxpdHk6OnBlcmZvcm1GdW5jdGlvbk9uTWFpblRocmVhZChb
cHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKV0gewogICAgICAgICBbcHJvdGVjdGVkU2Vs
ZiBfYWNjZXNzaWJpbGl0eVNob3dDb250ZXh0TWVudV07CiAgICAgfSk7CiB9CkBAIC0zNzgzLDcg
KzM3NzgsNyBAQCBlbnVtIGNsYXNzIFRleHRVbml0IHsKIAogLSAoaWQpdGV4dE1hcmtlclJhbmdl
QXRUZXh0TWFya2VyOihpZCl0ZXh0TWFya2VyIGZvclVuaXQ6KFRleHRVbml0KXRleHRVbml0CiB7
Ci0gICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlQXV0b3JlbGVhc2VkVmFsdWVGcm9t
TWFpblRocmVhZDxpZD4oWyZ0ZXh0TWFya2VyLCAmdGV4dFVuaXQsIHByb3RlY3RlZFNlbGYgPSBy
ZXRhaW5XcmFwcGVyKHNlbGYpXSAoKSAtPiBSZXRhaW5QdHI8aWQ+IHsKKyAgICByZXR1cm4gQWNj
ZXNzaWJpbGl0eTo6cmV0cmlldmVBdXRvcmVsZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFkPGlkPihb
JnRleHRNYXJrZXIsICZ0ZXh0VW5pdCwgcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKV0g
KCkgLT4gUmV0YWluUHRyPGlkPiB7CiAgICAgICAgIGF1dG8qIGJhY2tpbmdPYmplY3QgPSBwcm90
ZWN0ZWRTZWxmLmdldCgpLmF4QmFja2luZ09iamVjdDsKICAgICAgICAgaWYgKCFiYWNraW5nT2Jq
ZWN0KQogICAgICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTM4MTgsNyArMzgxMyw3IEBAIGVudW0g
Y2xhc3MgVGV4dFVuaXQgewogCiAtIChpZClsaW5lVGV4dE1hcmtlclJhbmdlRm9yVGV4dE1hcmtl
cjooaWQpdGV4dE1hcmtlciBmb3JVbml0OihUZXh0VW5pdCl0ZXh0VW5pdAogewotICAgIHJldHVy
biBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8
aWQ+KFsmdGV4dE1hcmtlciwgJnRleHRVbml0LCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluV3JhcHBl
cihzZWxmKV0gKCkgLT4gUmV0YWluUHRyPGlkPiB7CisgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6
OnJldHJpZXZlQXV0b3JlbGVhc2VkVmFsdWVGcm9tTWFpblRocmVhZDxpZD4oWyZ0ZXh0TWFya2Vy
LCAmdGV4dFVuaXQsIHByb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZildICgpIC0+IFJldGFp
blB0cjxpZD4gewogICAgICAgICBhdXRvKiBiYWNraW5nT2JqZWN0ID0gcHJvdGVjdGVkU2VsZi5n
ZXQoKS5heEJhY2tpbmdPYmplY3Q7CiAgICAgICAgIGlmICghYmFja2luZ09iamVjdCkKICAgICAg
ICAgICAgIHJldHVybiBuaWw7CkBAIC0zODUwLDcgKzM4NDUsNyBAQCBlbnVtIGNsYXNzIFRleHRV
bml0IHsKIAogLSAoaWQpdGV4dE1hcmtlckZvclRleHRNYXJrZXI6KGlkKXRleHRNYXJrZXIgYXRV
bml0OihUZXh0VW5pdCl0ZXh0VW5pdAogewotICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRy
aWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8aWQ+KFsmdGV4dE1hcmtlciwgJnRl
eHRVbml0LCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluV3JhcHBlcihzZWxmKV0gKCkgLT4gUmV0YWlu
UHRyPGlkPiB7CisgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlQXV0b3JlbGVhc2Vk
VmFsdWVGcm9tTWFpblRocmVhZDxpZD4oWyZ0ZXh0TWFya2VyLCAmdGV4dFVuaXQsIHByb3RlY3Rl
ZFNlbGYgPSByZXRhaW5QdHIoc2VsZildICgpIC0+IFJldGFpblB0cjxpZD4gewogICAgICAgICBh
dXRvKiBiYWNraW5nT2JqZWN0ID0gcHJvdGVjdGVkU2VsZi5nZXQoKS5heEJhY2tpbmdPYmplY3Q7
CiAgICAgICAgIGlmICghYmFja2luZ09iamVjdCkKICAgICAgICAgICAgIHJldHVybiBuaWw7CkBA
IC0zOTUyLDcgKzM5NDcsNyBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQK
ICAgICAvLyBkaXNwYXRjaAogICAgIGlmIChbYXR0cmlidXRlIGlzRXF1YWxUb1N0cmluZzpOU0Fj
Y2Vzc2liaWxpdHlTZWxlY3RUZXh0V2l0aENyaXRlcmlhUGFyYW1ldGVyaXplZEF0dHJpYnV0ZV0p
IHsKICAgICAgICAgLy8gVG8gYmUgZGVwcmVjYXRlZC4KLSAgICAgICAgYXV0byByZXN1bHQgPSBB
Y2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8VmVjdG9yPFN0cmluZz4+
KFtkaWN0aW9uYXJ5LCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluV3JhcHBlcihzZWxmKV0gKCkgLT4g
VmVjdG9yPFN0cmluZz4geworICAgICAgICBhdXRvIHJlc3VsdCA9IEFjY2Vzc2liaWxpdHk6OnJl
dHJpZXZlVmFsdWVGcm9tTWFpblRocmVhZDxWZWN0b3I8U3RyaW5nPj4oW2RpY3Rpb25hcnksIHBy
b3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZildICgpIC0+IFZlY3RvcjxTdHJpbmc+IHsKICAg
ICAgICAgICAgIGF1dG8qIGJhY2tpbmdPYmplY3QgPSBwcm90ZWN0ZWRTZWxmLmdldCgpLmF4QmFj
a2luZ09iamVjdDsKICAgICAgICAgICAgIGlmICghYmFja2luZ09iamVjdCkKICAgICAgICAgICAg
ICAgICByZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsKQEAgLTM5NzAsNyArMzk2NSw3IEBAIEFMTE9X
X0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogCiAgICAgaWYgKFthdHRyaWJ1dGUgaXNF
cXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0eVNlYXJjaFRleHRXaXRoQ3JpdGVyaWFQYXJhbWV0
ZXJpemVkQXR0cmlidXRlXSkgewogICAgICAgICBhdXRvIGNyaXRlcmlhID0gYWNjZXNzaWJpbGl0
eVNlYXJjaFRleHRDcml0ZXJpYUZvclBhcmFtZXRlcml6ZWRBdHRyaWJ1dGUoZGljdGlvbmFyeSk7
Ci0gICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVl
RnJvbU1haW5UaHJlYWQ8TlNBcnJheSAqPihbJmNyaXRlcmlhLCBwcm90ZWN0ZWRTZWxmID0gcmV0
YWluV3JhcHBlcihzZWxmKV0gKCkgLT4gUmV0YWluUHRyPE5TQXJyYXk+IHsKKyAgICAgICAgcmV0
dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlQXV0b3JlbGVhc2VkVmFsdWVGcm9tTWFpblRocmVh
ZDxOU0FycmF5ICo+KFsmY3JpdGVyaWEsIHByb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZild
ICgpIC0+IFJldGFpblB0cjxOU0FycmF5PiB7CiAgICAgICAgICAgICBhdXRvKiBiYWNraW5nT2Jq
ZWN0ID0gcHJvdGVjdGVkU2VsZi5nZXQoKS5heEJhY2tpbmdPYmplY3Q7CiAgICAgICAgICAgICBp
ZiAoIWJhY2tpbmdPYmplY3QpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTM5ODgs
NyArMzk4Myw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogICAgIH0K
IAogICAgIGlmIChbYXR0cmlidXRlIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlUZXh0
T3BlcmF0aW9uUGFyYW1ldGVyaXplZEF0dHJpYnV0ZV0pIHsKLSAgICAgICAgYXV0byBvcGVyYXRp
b25SZXN1bHQgPSBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8VmVj
dG9yPFN0cmluZz4+KFtkaWN0aW9uYXJ5LCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluV3JhcHBlcihz
ZWxmKV0gKCkgLT4gVmVjdG9yPFN0cmluZz4geworICAgICAgICBhdXRvIG9wZXJhdGlvblJlc3Vs
dCA9IEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlVmFsdWVGcm9tTWFpblRocmVhZDxWZWN0b3I8U3Ry
aW5nPj4oW2RpY3Rpb25hcnksIHByb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZildICgpIC0+
IFZlY3RvcjxTdHJpbmc+IHsKICAgICAgICAgICAgIGF1dG8qIGJhY2tpbmdPYmplY3QgPSBwcm90
ZWN0ZWRTZWxmLmdldCgpLmF4QmFja2luZ09iamVjdDsKICAgICAgICAgICAgIGlmICghYmFja2lu
Z09iamVjdCkKICAgICAgICAgICAgICAgICByZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsKQEAgLTQw
MTksNyArNDAxNCw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogICAg
IH0KIAogICAgIGlmIChbYXR0cmlidXRlIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlF
bmRUZXh0TWFya2VyRm9yQm91bmRzUGFyYW1ldGVyaXplZEF0dHJpYnV0ZV0pIHsKLSAgICAgICAg
cmV0dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlQXV0b3JlbGVhc2VkVmFsdWVGcm9tTWFpblRo
cmVhZDxpZD4oWyZyZWN0LCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluV3JhcHBlcihzZWxmKV0gKCkg
LT4gUmV0YWluUHRyPGlkPiB7CisgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2
ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8aWQ+KFsmcmVjdCwgcHJvdGVjdGVkU2Vs
ZiA9IHJldGFpblB0cihzZWxmKV0gKCkgLT4gUmV0YWluUHRyPGlkPiB7CiAgICAgICAgICAgICBh
dXRvKiBiYWNraW5nT2JqZWN0ID0gcHJvdGVjdGVkU2VsZi5nZXQoKS5heEJhY2tpbmdPYmplY3Q7
CiAgICAgICAgICAgICBpZiAoIWJhY2tpbmdPYmplY3QpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IG5pbDsKQEAgLTQwMzUsNyArNDAzMCw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJ
T05TX0VORAogICAgIH0KIAogICAgIGlmIChbYXR0cmlidXRlIGlzRXF1YWxUb1N0cmluZzpOU0Fj
Y2Vzc2liaWxpdHlTdGFydFRleHRNYXJrZXJGb3JCb3VuZHNQYXJhbWV0ZXJpemVkQXR0cmlidXRl
XSkgewotICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eTo6cmV0cmlldmVBdXRvcmVsZWFzZWRW
YWx1ZUZyb21NYWluVGhyZWFkPGlkPihbJnJlY3QsIHByb3RlY3RlZFNlbGYgPSByZXRhaW5XcmFw
cGVyKHNlbGYpXSAoKSAtPiBSZXRhaW5QdHI8aWQ+IHsKKyAgICAgICAgcmV0dXJuIEFjY2Vzc2li
aWxpdHk6OnJldHJpZXZlQXV0b3JlbGVhc2VkVmFsdWVGcm9tTWFpblRocmVhZDxpZD4oWyZyZWN0
LCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYpXSAoKSAtPiBSZXRhaW5QdHI8aWQ+IHsK
ICAgICAgICAgICAgIGF1dG8qIGJhY2tpbmdPYmplY3QgPSBwcm90ZWN0ZWRTZWxmLmdldCgpLmF4
QmFja2luZ09iamVjdDsKICAgICAgICAgICAgIGlmICghYmFja2luZ09iamVjdCkKICAgICAgICAg
ICAgICAgICByZXR1cm4gbmlsOwpAQCAtNDA1NSw3ICs0MDUwLDcgQEAgQUxMT1dfREVQUkVDQVRF
RF9JTVBMRU1FTlRBVElPTlNfRU5ECiAKICAgICBpZiAoW2F0dHJpYnV0ZSBpc0VxdWFsVG9TdHJp
bmc6TlNBY2Nlc3NpYmlsaXR5TWlzc3BlbGxpbmdUZXh0TWFya2VyUmFuZ2VQYXJhbWV0ZXJpemVk
QXR0cmlidXRlXSkgewogICAgICAgICBhdXRvIGNyaXRlcmlhID0gYWNjZXNzaWJpbGl0eU1pc3Nw
ZWxsaW5nU2VhcmNoQ3JpdGVyaWFGb3JQYXJhbWV0ZXJpemVkQXR0cmlidXRlKHNlbGYsIGRpY3Rp
b25hcnkpOwotICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eTo6cmV0cmlldmVBdXRvcmVsZWFz
ZWRWYWx1ZUZyb21NYWluVGhyZWFkPGlkPihbJmNyaXRlcmlhLCBwcm90ZWN0ZWRTZWxmID0gcmV0
YWluV3JhcHBlcihzZWxmKV0gKCkgLT4gUmV0YWluUHRyPGlkPiB7CisgICAgICAgIHJldHVybiBB
Y2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8aWQ+
KFsmY3JpdGVyaWEsIHByb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZildICgpIC0+IFJldGFp
blB0cjxpZD4gewogICAgICAgICAgICAgYXV0byogYmFja2luZ09iamVjdCA9IHByb3RlY3RlZFNl
bGYuZ2V0KCkuYXhCYWNraW5nT2JqZWN0OwogICAgICAgICAgICAgaWYgKCFiYWNraW5nT2JqZWN0
KQogICAgICAgICAgICAgICAgIHJldHVybiBuaWw7CkBAIC00MDY3LDcgKzQwNjIsNyBAQCBBTExP
V19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICAgICB9CiAKICAgICBpZiAoW2F0dHJp
YnV0ZSBpc0VxdWFsVG9TdHJpbmc6TlNBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcklzVmFsaWRQYXJh
bWV0ZXJpemVkQXR0cmlidXRlXSkgewotICAgICAgICBib29sIHJlc3VsdCA9IEFjY2Vzc2liaWxp
dHk6OnJldHJpZXZlVmFsdWVGcm9tTWFpblRocmVhZDxib29sPihbJnRleHRNYXJrZXIsIHByb3Rl
Y3RlZFNlbGYgPSByZXRhaW5XcmFwcGVyKHNlbGYpXSAoKSAtPiBib29sIHsKKyAgICAgICAgYm9v
bCByZXN1bHQgPSBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8Ym9v
bD4oWyZ0ZXh0TWFya2VyLCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYpXSAoKSAtPiBi
b29sIHsKICAgICAgICAgICAgIFZpc2libGVQb3NpdGlvbiBwb3MgPSBbcHJvdGVjdGVkU2VsZiB2
aXNpYmxlUG9zaXRpb25Gb3JUZXh0TWFya2VyOnRleHRNYXJrZXJdOwogICAgICAgICAgICAgcmV0
dXJuICFwb3MuaXNOdWxsKCk7CiAgICAgICAgIH0pOwpAQCAtNDA3NSwyMSArNDA3MCwyMSBAQCBB
TExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICAgICB9CiAKICAgICBpZiAoW2F0
dHJpYnV0ZSBpc0VxdWFsVG9TdHJpbmc6TlNBY2Nlc3NpYmlsaXR5SW5kZXhGb3JUZXh0TWFya2Vy
UGFyYW1ldGVyaXplZEF0dHJpYnV0ZV0pIHsKLSAgICAgICAgYXV0byByZXN1bHQgPSBBY2Nlc3Np
YmlsaXR5OjpyZXRyaWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8TlNJbnRlZ2VyPihbJnRleHRNYXJr
ZXIsIHByb3RlY3RlZFNlbGYgPSByZXRhaW5XcmFwcGVyKHNlbGYpXSAoKSAtPiBOU0ludGVnZXIg
eworICAgICAgICBhdXRvIHJlc3VsdCA9IEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlVmFsdWVGcm9t
TWFpblRocmVhZDxOU0ludGVnZXI+KFsmdGV4dE1hcmtlciwgcHJvdGVjdGVkU2VsZiA9IHJldGFp
blB0cihzZWxmKV0gKCkgLT4gTlNJbnRlZ2VyIHsKICAgICAgICAgICAgIHJldHVybiBbcHJvdGVj
dGVkU2VsZiBfaW5kZXhGb3JUZXh0TWFya2VyOnRleHRNYXJrZXJdOwogICAgICAgICB9KTsKICAg
ICAgICAgcmV0dXJuIFtOU051bWJlciBudW1iZXJXaXRoSW50ZWdlcjpyZXN1bHRdOwogICAgIH0K
IAogICAgIGlmIChbYXR0cmlidXRlIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlUZXh0
TWFya2VyRm9ySW5kZXhQYXJhbWV0ZXJpemVkQXR0cmlidXRlXSkgewotICAgICAgICByZXR1cm4g
QWNjZXNzaWJpbGl0eTo6cmV0cmlldmVBdXRvcmVsZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFkPGlk
PihbJm51bWJlciwgcHJvdGVjdGVkU2VsZiA9IHJldGFpbldyYXBwZXIoc2VsZildICgpIC0+IFJl
dGFpblB0cjxpZD4geworICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eTo6cmV0cmlldmVBdXRv
cmVsZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFkPGlkPihbJm51bWJlciwgcHJvdGVjdGVkU2VsZiA9
IHJldGFpblB0cihzZWxmKV0gKCkgLT4gUmV0YWluUHRyPGlkPiB7CiAgICAgICAgICAgICByZXR1
cm4gW3Byb3RlY3RlZFNlbGYgX3RleHRNYXJrZXJGb3JJbmRleDpbbnVtYmVyIGludGVnZXJWYWx1
ZV1dOwogICAgICAgICB9KTsKICAgICB9CiAKICAgICBpZiAoW2F0dHJpYnV0ZSBpc0VxdWFsVG9T
dHJpbmc6QCJBWFVJRWxlbWVudEZvclRleHRNYXJrZXIiXSkgewogICAgICAgICAvLyBGSVhNRTog
d2UgbmVlZCB0byByZXR1cm4gYW4gSXNvbGF0ZWRPYmplY3QgaWYgdGhpcyBpcyBjYWxsZWQgb24g
dGhlIEFYIHRocmVhZC4KLSAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlQXV0
b3JlbGVhc2VkVmFsdWVGcm9tTWFpblRocmVhZDxpZD4oWyZ0ZXh0TWFya2VyLCBwcm90ZWN0ZWRT
ZWxmID0gcmV0YWluV3JhcHBlcihzZWxmKV0gKCkgLT4gUmV0YWluUHRyPGlkPiB7CisgICAgICAg
IHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5U
aHJlYWQ8aWQ+KFsmdGV4dE1hcmtlciwgcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKV0g
KCkgLT4gUmV0YWluUHRyPGlkPiB7CiAgICAgICAgICAgICBhdXRvKiBheE9iamVjdCA9IFtwcm90
ZWN0ZWRTZWxmIGFjY2Vzc2liaWxpdHlPYmplY3RGb3JUZXh0TWFya2VyOnRleHRNYXJrZXJdOwog
ICAgICAgICAgICAgaWYgKCFheE9iamVjdCkKICAgICAgICAgICAgICAgICByZXR1cm4gbmlsOwpA
QCAtNDEwMCwxNCArNDA5NSwxNCBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19F
TkQKICAgICB9CiAKICAgICBpZiAoW2F0dHJpYnV0ZSBpc0VxdWFsVG9TdHJpbmc6QCJBWFRleHRN
YXJrZXJSYW5nZUZvclVJRWxlbWVudCJdKSB7Ci0gICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5
OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8aWQ+KFsmdWlFbGVtZW50
LCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluV3JhcHBlcihzZWxmKV0gKCkgLT4gUmV0YWluUHRyPGlk
PiB7CisgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZh
bHVlRnJvbU1haW5UaHJlYWQ8aWQ+KFsmdWlFbGVtZW50LCBwcm90ZWN0ZWRTZWxmID0gcmV0YWlu
UHRyKHNlbGYpXSAoKSAtPiBSZXRhaW5QdHI8aWQ+IHsKICAgICAgICAgICAgIFJlZlB0cjxSYW5n
ZT4gcmFuZ2UgPSB1aUVsZW1lbnQuZ2V0KCktPmVsZW1lbnRSYW5nZSgpOwogICAgICAgICAgICAg
cmV0dXJuIFtwcm90ZWN0ZWRTZWxmIHRleHRNYXJrZXJSYW5nZUZyb21SYW5nZTpyYW5nZV07CiAg
ICAgICAgIH0pOwogICAgIH0KIAogICAgIGlmIChbYXR0cmlidXRlIGlzRXF1YWxUb1N0cmluZzpA
IkFYTGluZUZvclRleHRNYXJrZXIiXSkgewotICAgICAgICBpbnQgcmVzdWx0ID0gQWNjZXNzaWJp
bGl0eTo6cmV0cmlldmVWYWx1ZUZyb21NYWluVGhyZWFkPGludD4oWyZ0ZXh0TWFya2VyLCBwcm90
ZWN0ZWRTZWxmID0gcmV0YWluV3JhcHBlcihzZWxmKV0gKCkgLT4gaW50IHsKKyAgICAgICAgaW50
IHJlc3VsdCA9IEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlVmFsdWVGcm9tTWFpblRocmVhZDxpbnQ+
KFsmdGV4dE1hcmtlciwgcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKV0gKCkgLT4gaW50
IHsKICAgICAgICAgICAgIGF1dG8qIGJhY2tpbmdPYmplY3QgPSBwcm90ZWN0ZWRTZWxmLmdldCgp
LmF4QmFja2luZ09iamVjdDsKICAgICAgICAgICAgIGlmICghYmFja2luZ09iamVjdCkKICAgICAg
ICAgICAgICAgICByZXR1cm4gLTE7CkBAIC00MTE5LDcgKzQxMTQsNyBAQCBBTExPV19ERVBSRUNB
VEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICAgICB9CiAKICAgICBpZiAoW2F0dHJpYnV0ZSBpc0Vx
dWFsVG9TdHJpbmc6QCJBWFRleHRNYXJrZXJSYW5nZUZvckxpbmUiXSkgewotICAgICAgICByZXR1
cm4gQWNjZXNzaWJpbGl0eTo6cmV0cmlldmVBdXRvcmVsZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFk
PGlkPihbJm51bWJlciwgcHJvdGVjdGVkU2VsZiA9IHJldGFpbldyYXBwZXIoc2VsZildICgpIC0+
IFJldGFpblB0cjxpZD4geworICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eTo6cmV0cmlldmVB
dXRvcmVsZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFkPGlkPihbJm51bWJlciwgcHJvdGVjdGVkU2Vs
ZiA9IHJldGFpblB0cihzZWxmKV0gKCkgLT4gUmV0YWluUHRyPGlkPiB7CiAgICAgICAgICAgICBh
dXRvKiBiYWNraW5nT2JqZWN0ID0gcHJvdGVjdGVkU2VsZi5nZXQoKS5heEJhY2tpbmdPYmplY3Q7
CiAgICAgICAgICAgICBWaXNpYmxlUG9zaXRpb25SYW5nZSB2cFJhbmdlOwogICAgICAgICAgICAg
aWYgKGJhY2tpbmdPYmplY3QgJiYgW251bWJlciB1bnNpZ25lZEludGVnZXJWYWx1ZV0gIT0gTlNO
b3RGb3VuZCkKQEAgLTQxMjksNyArNDEyNCw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5U
QVRJT05TX0VORAogICAgIH0KIAogICAgIGlmIChbYXR0cmlidXRlIGlzRXF1YWxUb1N0cmluZzpA
IkFYU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlIl0pIHsKLSAgICAgICAgcmV0dXJuIEFjY2Vzc2li
aWxpdHk6OnJldHJpZXZlVmFsdWVGcm9tTWFpblRocmVhZDxTdHJpbmc+KFsmdGV4dE1hcmtlclJh
bmdlLCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluV3JhcHBlcihzZWxmKV0gKCkgLT4gU3RyaW5nIHsK
KyAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlVmFsdWVGcm9tTWFpblRocmVh
ZDxTdHJpbmc+KFsmdGV4dE1hcmtlclJhbmdlLCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNl
bGYpXSAoKSAtPiBTdHJpbmcgewogICAgICAgICAgICAgUmVmUHRyPFJhbmdlPiByYW5nZSA9IFtw
cm90ZWN0ZWRTZWxmIHJhbmdlRm9yVGV4dE1hcmtlclJhbmdlOnRleHRNYXJrZXJSYW5nZV07CiAg
ICAgICAgICAgICBhdXRvKiBiYWNraW5nT2JqZWN0ID0gcHJvdGVjdGVkU2VsZi5nZXQoKS5heEJh
Y2tpbmdPYmplY3Q7CiAgICAgICAgICAgICByZXR1cm4gYmFja2luZ09iamVjdCA/IGJhY2tpbmdP
YmplY3QtPnN0cmluZ0ZvclJhbmdlKHJhbmdlKSA6IFN0cmluZygpOwpAQCAtNDE0MSw3ICs0MTM2
LDcgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgICAgIGlmICgh
cG9pbnRTZXQpCiAgICAgICAgICAgICByZXR1cm4gbmlsOwogCi0gICAgICAgIHJldHVybiBBY2Nl
c3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8aWQ+KFsm
d2ViQ29yZVBvaW50LCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluV3JhcHBlcihzZWxmKV0gKCkgLT4g
UmV0YWluUHRyPGlkPiB7CisgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1
dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8aWQ+KFsmd2ViQ29yZVBvaW50LCBwcm90ZWN0
ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYpXSAoKSAtPiBSZXRhaW5QdHI8aWQ+IHsKICAgICAgICAg
ICAgIGF1dG8qIGJhY2tpbmdPYmplY3QgPSBwcm90ZWN0ZWRTZWxmLmdldCgpLmF4QmFja2luZ09i
amVjdDsKICAgICAgICAgICAgIGlmICghYmFja2luZ09iamVjdCkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gbmlsOwpAQCAtNDE1Niw3ICs0MTUxLDcgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1F
TlRBVElPTlNfRU5ECiAgICAgfQogCiAgICAgaWYgKFthdHRyaWJ1dGUgaXNFcXVhbFRvU3RyaW5n
OkAiQVhCb3VuZHNGb3JUZXh0TWFya2VyUmFuZ2UiXSkgewotICAgICAgICBOU1JlY3QgcmVjdCA9
IEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlVmFsdWVGcm9tTWFpblRocmVhZDxOU1JlY3Q+KFsmdGV4
dE1hcmtlclJhbmdlLCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluV3JhcHBlcihzZWxmKV0gKCkgLT4g
TlNSZWN0IHsKKyAgICAgICAgTlNSZWN0IHJlY3QgPSBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZVZh
bHVlRnJvbU1haW5UaHJlYWQ8TlNSZWN0PihbJnRleHRNYXJrZXJSYW5nZSwgcHJvdGVjdGVkU2Vs
ZiA9IHJldGFpblB0cihzZWxmKV0gKCkgLT4gTlNSZWN0IHsKICAgICAgICAgICAgIGF1dG8qIGJh
Y2tpbmdPYmplY3QgPSBwcm90ZWN0ZWRTZWxmLmdldCgpLmF4QmFja2luZ09iamVjdDsKICAgICAg
ICAgICAgIGlmICghYmFja2luZ09iamVjdCkKICAgICAgICAgICAgICAgICByZXR1cm4gQ0dSZWN0
WmVybzsKQEAgLTQxNjksNyArNDE2NCw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJ
T05TX0VORAogICAgIH0KIAogICAgIGlmIChbYXR0cmlidXRlIGlzRXF1YWxUb1N0cmluZzpOU0Fj
Y2Vzc2liaWxpdHlCb3VuZHNGb3JSYW5nZVBhcmFtZXRlcml6ZWRBdHRyaWJ1dGVdKSB7Ci0gICAg
ICAgIE5TUmVjdCByZWN0ID0gQWNjZXNzaWJpbGl0eTo6cmV0cmlldmVWYWx1ZUZyb21NYWluVGhy
ZWFkPE5TUmVjdD4oWyZyYW5nZSwgcHJvdGVjdGVkU2VsZiA9IHJldGFpbldyYXBwZXIoc2VsZild
ICgpIC0+IE5TUmVjdCB7CisgICAgICAgIE5TUmVjdCByZWN0ID0gQWNjZXNzaWJpbGl0eTo6cmV0
cmlldmVWYWx1ZUZyb21NYWluVGhyZWFkPE5TUmVjdD4oWyZyYW5nZSwgcHJvdGVjdGVkU2VsZiA9
IHJldGFpblB0cihzZWxmKV0gKCkgLT4gTlNSZWN0IHsKICAgICAgICAgICAgIGF1dG8qIGJhY2tp
bmdPYmplY3QgPSBwcm90ZWN0ZWRTZWxmLmdldCgpLmF4QmFja2luZ09iamVjdDsKICAgICAgICAg
ICAgIGlmICghYmFja2luZ09iamVjdCkKICAgICAgICAgICAgICAgICByZXR1cm4gQ0dSZWN0WmVy
bzsKQEAgLTQxOTYsNyArNDE5MSw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05T
X0VORAogICAgICAgICAgICAgcmV0dXJuIGJhY2tpbmdPYmplY3QtPmRvQVhTdHJpbmdGb3JSYW5n
ZShwbGFpblRleHRSYW5nZSk7CiAgICAgICAgIH0KIAotICAgICAgICByZXR1cm4gQWNjZXNzaWJp
bGl0eTo6cmV0cmlldmVWYWx1ZUZyb21NYWluVGhyZWFkPFN0cmluZz4oWyZyYW5nZSwgcHJvdGVj
dGVkU2VsZiA9IHJldGFpbldyYXBwZXIoc2VsZildICgpIC0+IFN0cmluZyB7CisgICAgICAgIHJl
dHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8U3RyaW5nPihb
JnJhbmdlLCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYpXSAoKSAtPiBTdHJpbmcgewog
ICAgICAgICAgICAgYXV0byogYmFja2luZ09iamVjdCA9IHByb3RlY3RlZFNlbGYuZ2V0KCkuYXhC
YWNraW5nT2JqZWN0OwogICAgICAgICAgICAgaWYgKCFiYWNraW5nT2JqZWN0KQogICAgICAgICAg
ICAgICAgIHJldHVybiBTdHJpbmcoKTsKQEAgLTQyNDQsNyArNDIzOSw3IEBAIEFMTE9XX0RFUFJF
Q0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogICAgICAgICBpZiAoIUFYT2JqZWN0SXNUZXh0TWFy
a2VyKHRleHRNYXJrZXIxKSB8fCAhQVhPYmplY3RJc1RleHRNYXJrZXIodGV4dE1hcmtlcjIpKQog
ICAgICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eTo6
cmV0cmlldmVBdXRvcmVsZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFkPGlkPihbJnRleHRNYXJrZXIx
LCAmdGV4dE1hcmtlcjIsIHByb3RlY3RlZFNlbGYgPSByZXRhaW5XcmFwcGVyKHNlbGYpXSAoKSAt
PiBSZXRhaW5QdHI8aWQ+IHsKKyAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZl
QXV0b3JlbGVhc2VkVmFsdWVGcm9tTWFpblRocmVhZDxpZD4oWyZ0ZXh0TWFya2VyMSwgJnRleHRN
YXJrZXIyLCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYpXSAoKSAtPiBSZXRhaW5QdHI8
aWQ+IHsKICAgICAgICAgICAgIGF1dG8qIGJhY2tpbmdPYmplY3QgPSBwcm90ZWN0ZWRTZWxmLmdl
dCgpLmF4QmFja2luZ09iamVjdDsKICAgICAgICAgICAgIGlmICghYmFja2luZ09iamVjdCkKICAg
ICAgICAgICAgICAgICByZXR1cm4gbmlsOwpAQCAtNDI2MSwxNCArNDI1NiwxNCBAQCBBTExPV19E
RVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICAgICB9CiAKICAgICBpZiAoW2F0dHJpYnV0
ZSBpc0VxdWFsVG9TdHJpbmc6QCJBWE5leHRUZXh0TWFya2VyRm9yVGV4dE1hcmtlciJdKSB7Ci0g
ICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJv
bU1haW5UaHJlYWQ8aWQ+KFsmdGV4dE1hcmtlciwgcHJvdGVjdGVkU2VsZiA9IHJldGFpbldyYXBw
ZXIoc2VsZildICgpIC0+IFJldGFpblB0cjxpZD4geworICAgICAgICByZXR1cm4gQWNjZXNzaWJp
bGl0eTo6cmV0cmlldmVBdXRvcmVsZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFkPGlkPihbJnRleHRN
YXJrZXIsIHByb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZildICgpIC0+IFJldGFpblB0cjxp
ZD4gewogICAgICAgICAgICAgQ2hhcmFjdGVyT2Zmc2V0IGNoYXJhY3Rlck9mZnNldCA9IFtwcm90
ZWN0ZWRTZWxmIGNoYXJhY3Rlck9mZnNldEZvclRleHRNYXJrZXI6dGV4dE1hcmtlcl07CiAgICAg
ICAgICAgICByZXR1cm4gW3Byb3RlY3RlZFNlbGYgbmV4dFRleHRNYXJrZXJGb3JDaGFyYWN0ZXJP
ZmZzZXQ6Y2hhcmFjdGVyT2Zmc2V0XTsKICAgICAgICAgfSk7CiAgICAgfQogCiAgICAgaWYgKFth
dHRyaWJ1dGUgaXNFcXVhbFRvU3RyaW5nOkAiQVhQcmV2aW91c1RleHRNYXJrZXJGb3JUZXh0TWFy
a2VyIl0pIHsKLSAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlQXV0b3JlbGVh
c2VkVmFsdWVGcm9tTWFpblRocmVhZDxpZD4oWyZ0ZXh0TWFya2VyLCBwcm90ZWN0ZWRTZWxmID0g
cmV0YWluV3JhcHBlcihzZWxmKV0gKCkgLT4gUmV0YWluUHRyPGlkPiB7CisgICAgICAgIHJldHVy
biBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8
aWQ+KFsmdGV4dE1hcmtlciwgcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKV0gKCkgLT4g
UmV0YWluUHRyPGlkPiB7CiAgICAgICAgICAgICBDaGFyYWN0ZXJPZmZzZXQgY2hhcmFjdGVyT2Zm
c2V0ID0gW3Byb3RlY3RlZFNlbGYgY2hhcmFjdGVyT2Zmc2V0Rm9yVGV4dE1hcmtlcjp0ZXh0TWFy
a2VyXTsKICAgICAgICAgICAgIHJldHVybiBbcHJvdGVjdGVkU2VsZiBwcmV2aW91c1RleHRNYXJr
ZXJGb3JDaGFyYWN0ZXJPZmZzZXQ6Y2hhcmFjdGVyT2Zmc2V0XTsKICAgICAgICAgfSk7CkBAIC00
MzE3LDcgKzQzMTIsNyBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICAg
ICAgICAgcmV0dXJuIFtzZWxmIHRleHRNYXJrZXJGb3JUZXh0TWFya2VyOnRleHRNYXJrZXIgYXRV
bml0OlRleHRVbml0OjpQcmV2aW91c1BhcmFncmFwaFN0YXJ0XTsKIAogICAgIGlmIChbYXR0cmli
dXRlIGlzRXF1YWxUb1N0cmluZzpAIkFYU3R5bGVUZXh0TWFya2VyUmFuZ2VGb3JUZXh0TWFya2Vy
Il0pIHsKLSAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlQXV0b3JlbGVhc2Vk
VmFsdWVGcm9tTWFpblRocmVhZDxpZD4oWyZ0ZXh0TWFya2VyLCBwcm90ZWN0ZWRTZWxmID0gcmV0
YWluV3JhcHBlcihzZWxmKV0gKCkgLT4gUmV0YWluUHRyPGlkPiB7CisgICAgICAgIHJldHVybiBB
Y2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8aWQ+
KFsmdGV4dE1hcmtlciwgcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKV0gKCkgLT4gUmV0
YWluUHRyPGlkPiB7CiAgICAgICAgICAgICBhdXRvKiBiYWNraW5nT2JqZWN0ID0gcHJvdGVjdGVk
U2VsZi5nZXQoKS5heEJhY2tpbmdPYmplY3Q7CiAgICAgICAgICAgICBpZiAoIWJhY2tpbmdPYmpl
Y3QpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTQzMzMsNyArNDMyOCw3IEBAIEFM
TE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogICAgIH0KIAogICAgIGlmIChbYXR0
cmlidXRlIGlzRXF1YWxUb1N0cmluZzpAIkFYTGVuZ3RoRm9yVGV4dE1hcmtlclJhbmdlIl0pIHsK
LSAgICAgICAgaW50IGxlbmd0aCA9IEFjY2Vzc2liaWxpdHk6OnJldHJpZXZlVmFsdWVGcm9tTWFp
blRocmVhZDxpbnQ+KFsmdGV4dE1hcmtlclJhbmdlLCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluV3Jh
cHBlcihzZWxmKV0gKCkgLT4gaW50IHsKKyAgICAgICAgaW50IGxlbmd0aCA9IEFjY2Vzc2liaWxp
dHk6OnJldHJpZXZlVmFsdWVGcm9tTWFpblRocmVhZDxpbnQ+KFsmdGV4dE1hcmtlclJhbmdlLCBw
cm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYpXSAoKSAtPiBpbnQgewogICAgICAgICAgICAg
YXV0byogYmFja2luZ09iamVjdCA9IHByb3RlY3RlZFNlbGYuZ2V0KCkuYXhCYWNraW5nT2JqZWN0
OwogICAgICAgICAgICAgaWYgKCFiYWNraW5nT2JqZWN0KQogICAgICAgICAgICAgICAgIHJldHVy
biAwOwpAQCAtNDM0OCwxNCArNDM0MywxNCBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFU
SU9OU19FTkQKIAogICAgIC8vIFVzZWQgb25seSBieSBEdW1wUmVuZGVyVHJlZSAoc28gZmFyKS4K
ICAgICBpZiAoW2F0dHJpYnV0ZSBpc0VxdWFsVG9TdHJpbmc6QCJBWFN0YXJ0VGV4dE1hcmtlckZv
clRleHRNYXJrZXJSYW5nZSJdKSB7Ci0gICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRy
aWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8aWQ+KFsmdGV4dE1hcmtlclJhbmdl
LCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluV3JhcHBlcihzZWxmKV0gKCkgLT4gUmV0YWluUHRyPGlk
PiB7CisgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZh
bHVlRnJvbU1haW5UaHJlYWQ8aWQ+KFsmdGV4dE1hcmtlclJhbmdlLCBwcm90ZWN0ZWRTZWxmID0g
cmV0YWluUHRyKHNlbGYpXSAoKSAtPiBSZXRhaW5QdHI8aWQ+IHsKICAgICAgICAgICAgIFJlZlB0
cjxSYW5nZT4gcmFuZ2UgPSBbcHJvdGVjdGVkU2VsZiByYW5nZUZvclRleHRNYXJrZXJSYW5nZTp0
ZXh0TWFya2VyUmFuZ2VdOwogICAgICAgICAgICAgcmV0dXJuIFtwcm90ZWN0ZWRTZWxmIHN0YXJ0
T3JFbmRUZXh0TWFya2VyRm9yUmFuZ2U6cmFuZ2UgaXNTdGFydDpZRVNdOwogICAgICAgICB9KTsK
ICAgICB9CiAKICAgICBpZiAoW2F0dHJpYnV0ZSBpc0VxdWFsVG9TdHJpbmc6QCJBWEVuZFRleHRN
YXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UiXSkgewotICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0
eTo6cmV0cmlldmVBdXRvcmVsZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFkPGlkPihbJnRleHRNYXJr
ZXJSYW5nZSwgcHJvdGVjdGVkU2VsZiA9IHJldGFpbldyYXBwZXIoc2VsZildICgpIC0+IFJldGFp
blB0cjxpZD4geworICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eTo6cmV0cmlldmVBdXRvcmVs
ZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFkPGlkPihbJnRleHRNYXJrZXJSYW5nZSwgcHJvdGVjdGVk
U2VsZiA9IHJldGFpblB0cihzZWxmKV0gKCkgLT4gUmV0YWluUHRyPGlkPiB7CiAgICAgICAgICAg
ICBSZWZQdHI8UmFuZ2U+IHJhbmdlID0gW3Byb3RlY3RlZFNlbGYgcmFuZ2VGb3JUZXh0TWFya2Vy
UmFuZ2U6dGV4dE1hcmtlclJhbmdlXTsKICAgICAgICAgICAgIHJldHVybiBbcHJvdGVjdGVkU2Vs
ZiBzdGFydE9yRW5kVGV4dE1hcmtlckZvclJhbmdlOnJhbmdlIGlzU3RhcnQ6Tk9dOwogICAgICAg
ICB9KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>