<?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>138148</bug_id>
          
          <creation_ts>2014-10-28 14:18:40 -0700</creation_ts>
          <short_desc>Clean up virtual functions in accessibility/</short_desc>
          <delta_ts>2014-10-28 15:42:39 -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>Accessibility</component>
          <version>528+ (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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kling</cc>
    
    <cc>mario</cc>
    
    <cc>philipj</cc>
    
    <cc>samuel_white</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1044609</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-28 14:18:40 -0700</bug_when>
    <thetext>Clean up virtual functions in accessibility/ by:
- Marking classes as final when suitable
- Marking virtual functions as final when suitable
- Dropping final on virtual functions in classes that are already final
- Make isXXX() virtual type checking functions in XXX classes to avoid useless type checks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044610</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-10-28 14:18:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/18801520&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044617</commentid>
    <comment_count>2</comment_count>
      <attachid>240572</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-28 14:55:38 -0700</bug_when>
    <thetext>Created attachment 240572
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044626</commentid>
    <comment_count>3</comment_count>
      <attachid>240572</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-28 15:42:34 -0700</bug_when>
    <thetext>Comment on attachment 240572
Patch

Clearing flags on attachment: 240572

Committed r175278: &lt;http://trac.webkit.org/changeset/175278&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044627</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-28 15:42:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240572</attachid>
            <date>2014-10-28 14:55:38 -0700</date>
            <delta_ts>2014-10-28 15:42:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138148-20141028145546.patch</filename>
            <type>text/plain</type>
            <size>36958</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1MjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQ3YzlmZjRiOWFhYzc5
MGI2YjkyMTRlMjA4ZTUyYzc1NDhjZDgxMS4uZjg3M2NhZTU0Yjk2ZmU4ZjQ4OTkxNjVjNWMzZjA3
Njc2ZjllNDlkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5IEBACiAyMDE0LTEwLTI4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgQ2xlYW4gdXAgdmlydHVhbCBm
dW5jdGlvbnMgaW4gYWNjZXNzaWJpbGl0eS8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzODE0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENsZWFuIHVwIHZpcnR1YWwgZnVuY3Rpb25zIGluIGFjY2Vzc2li
aWxpdHkvIGJ5OgorICAgICAgICAtIE1hcmtpbmcgY2xhc3NlcyBhcyBmaW5hbCB3aGVuIHN1aXRh
YmxlCisgICAgICAgIC0gTWFya2luZyB2aXJ0dWFsIGZ1bmN0aW9ucyBhcyBmaW5hbCB3aGVuIHN1
aXRhYmxlCisgICAgICAgIC0gRHJvcHBpbmcgZmluYWwgb24gdmlydHVhbCBmdW5jdGlvbnMgaW4g
Y2xhc3NlcyB0aGF0IGFyZSBhbHJlYWR5IGZpbmFsCisgICAgICAgIC0gTWFrZSBpc1hYWCgpIHZp
cnR1YWwgdHlwZSBjaGVja2luZyBmdW5jdGlvbnMgaW4gWFhYIGNsYXNzZXMgdG8gYXZvaWQKKyAg
ICAgICAgICB1c2VsZXNzIHR5cGUgY2hlY2tzCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBi
ZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlB
UklBR3JpZC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlk
Q2VsbC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93
Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmg6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdC5oOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3guaDoKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmg6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oOgorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU1lbnVMaXN0Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlNZW51TGlzdFBvcHVwLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5TW9ja09iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU1vY2tP
YmplY3Q6OnNldFBhcmVudCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVByb2dy
ZXNzSW5kaWNhdG9yLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHUm9v
dC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaDoK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxiYXIuaDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZEJ1dHRvbnMuaDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTbGlkZXIuaDoKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmg6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlUYWJsZUNlbGwuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlUYWJsZUNvbHVtbi5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVRhYmxlSGVhZGVyQ29udGFpbmVyLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5VGFibGVSb3cuaDoKKworMjAxNC0xMC0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgorCiAgICAgICAgIFVucmV2aWV3ZWQgY29tbWVudCBmaXggZnJvbSByMTc1MjY3Lgog
CiAgICAgICAgIEZpeCBuYW1lc3BhY2UgbmFtZSBpbiBjb21tZW50LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkLmgKaW5kZXggMDNm
ZTQwMGRjODQxMzZlNThjOTc3ZGMwZGM3MjhiMWMxOWIzYTgyNS4uODJlZWU4OWU4OTQ1NjA0MjZi
ZTQ3YzIzYmY3ZmEwMzdlMmUxODg2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZC5oCkBAIC0zNywyMyArMzcsMjEgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbDsKIGNsYXNzIEFj
Y2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lcjsKIAotY2xhc3MgQWNjZXNzaWJpbGl0eUFS
SUFHcmlkIDogcHVibGljIEFjY2Vzc2liaWxpdHlUYWJsZSB7Ci0gICAgCi1wcml2YXRlOgotICAg
IGV4cGxpY2l0IEFjY2Vzc2liaWxpdHlBUklBR3JpZChSZW5kZXJPYmplY3QqKTsKK2NsYXNzIEFj
Y2Vzc2liaWxpdHlBUklBR3JpZCBmaW5hbCA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5VGFibGUgewog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlBUklBR3JpZD4gY3Jl
YXRlKFJlbmRlck9iamVjdCopOwogICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlBUklBR3JpZCgp
OwotCi0gICAgdmlydHVhbCBib29sIGlzQXJpYVRhYmxlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gdHJ1ZTsgfQogICAgIAogICAgIHZpcnR1YWwgdm9pZCBhZGRDaGlsZHJlbigpIG92ZXJyaWRl
OwogICAgIAogcHJpdmF0ZToKKyAgICBleHBsaWNpdCBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQoUmVu
ZGVyT2JqZWN0Kik7CisKICAgICAvLyBBUklBIHRyZWVncmlkcyBhbmQgZ3JpZHMgc3VwcG9ydCBz
ZWxlY3RlZCByb3dzLgogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c1NlbGVjdGVkUm93cygpIG92
ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNNdWx0aVNlbGVjdGFi
bGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIGNv
bXB1dGVJc1RhYmxlRXhwb3NhYmxlVGhyb3VnaEFjY2Vzc2liaWxpdHkoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGlzQXJpYVRhYmxlKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIAogICAgIHZvaWQgYWRkUm93RGVzY2VuZGFu
dChBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgSGFzaFNldDxBY2Nlc3NpYmlsaXR5T2JqZWN0Kj4mIGFw
cGVuZGVkUm93cywgdW5zaWduZWQmIGNvbHVtbkNvdW50KTsKICAgICBib29sIGFkZFRhYmxlQ2Vs
bENoaWxkKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBIYXNoU2V0PEFjY2Vzc2liaWxpdHlPYmplY3Qq
PiYgYXBwZW5kZWRSb3dzLCB1bnNpZ25lZCYgY29sdW1uQ291bnQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmggYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuaApp
bmRleCA1ZjBiMGYwNGFjYTQzNjA2YmZlZGMyMDY0NjkxOTAwMjMyNGZlNGYzLi4wNjU0ZmU0N2U5
MjA4ZTllNDg4MzBmMjcyYzBmZWYxZjQ0ZDBhMTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuaApAQCAtMzMs
MTAgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgQWNjZXNzaWJp
bGl0eUFSSUFHcmlkQ2VsbCA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsIHsKLSAgICAK
LXByaXZhdGU6Ci0gICAgZXhwbGljaXQgQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbChSZW5kZXJP
YmplY3QqKTsKK2NsYXNzIEFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwgZmluYWwgOiBwdWJsaWMg
QWNjZXNzaWJpbGl0eVRhYmxlQ2VsbCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
QWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbD4gY3JlYXRlKFJlbmRlck9iamVjdCopOwogICAgIHZp
cnR1YWwgfkFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwoKTsKQEAgLTQ2LDcgKzQzLDkgQEAgcHVi
bGljOgogICAgIC8vIGZpbGxzIGluIHRoZSBzdGFydCBsb2NhdGlvbiBhbmQgY29sdW1uIHNwYW4g
b2YgY2VsbAogICAgIHZpcnR1YWwgdm9pZCBjb2x1bW5JbmRleFJhbmdlKHN0ZDo6cGFpcjx1bnNp
Z25lZCwgdW5zaWduZWQ+JiBjb2x1bW5SYW5nZSkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgCi1wcm90
ZWN0ZWQ6Citwcml2YXRlOgorICAgIGV4cGxpY2l0IEFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwo
UmVuZGVyT2JqZWN0Kik7CisKICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlUYWJsZSogcGFyZW50
VGFibGUoKSBjb25zdCBvdmVycmlkZTsKIH07IAogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmgKaW5kZXggMzVl
NmQ0MTE3ZDhhYzcxYzE0MWVlZmI1ZjQ2MGM0ZjdmYjFkNDUzMy4uNDdiMTZiMTRiNTg1NDUyOWY4
YzVkOWM0MDMwZTc0MGM0NmExYTIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5oCkBAIC0zNSwxMCArMzUsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiBjbGFzcyBBY2Nlc3NpYmlsaXR5VGFibGU7CiAg
ICAgCi1jbGFzcyBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cgOiBwdWJsaWMgQWNjZXNzaWJpbGl0
eVRhYmxlUm93IHsKLSAgICAKLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgQWNjZXNzaWJpbGl0eUFS
SUFHcmlkUm93KFJlbmRlck9iamVjdCopOworY2xhc3MgQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93
IGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxpdHlUYWJsZVJvdyB7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93PiBjcmVhdGUoUmVuZGVyT2Jq
ZWN0Kik7CiAgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93KCk7CkBAIC00OSw2
ICs0Niw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlPYmplY3QqIGhlYWRl
ck9iamVjdCgpIG92ZXJyaWRlOwogICAgIAogcHJpdmF0ZToKKyAgICBleHBsaWNpdCBBY2Nlc3Np
YmlsaXR5QVJJQUdyaWRSb3coUmVuZGVyT2JqZWN0Kik7CisKICAgICB2aXJ0dWFsIGJvb2wgaXNB
UklBVHJlZUdyaWRSb3coKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxp
dHlUYWJsZSogcGFyZW50VGFibGUoKSBjb25zdCBvdmVycmlkZTsKIH07IApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsu
aAppbmRleCA1MmVjYmZjYzQzYTg1MmIxZGQ4YmU4NTdhN2U1NGYyNzJjNzgzMmYwLi43ZTdjOTE2
ZmViODgxODU2YzdkOTUwNmFmNTI2M2Y1YjVmMWZjZTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsuaApAQCAt
MzUsMTAgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgQWNjZXNz
aWJpbGl0eUltYWdlTWFwTGluayA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdCB7Ci0g
ICAgICAgIAotcHJpdmF0ZToKLSAgICBBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rKCk7CitjbGFz
cyBBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rIGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxpdHlN
b2NrT2JqZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5
SW1hZ2VNYXBMaW5rPiBjcmVhdGUoKTsKICAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5SW1hZ2VN
YXBMaW5rKCk7CkBAIC02OCwxNyArNjUsMTggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBMYXlv
dXRSZWN0IGVsZW1lbnRSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7CiAKLXByaXZhdGU6ICAgIAotICAg
IFJlZlB0cjxIVE1MQXJlYUVsZW1lbnQ+IG1fYXJlYUVsZW1lbnQ7Ci0gICAgUmVmUHRyPEhUTUxN
YXBFbGVtZW50PiBtX21hcEVsZW1lbnQ7Citwcml2YXRlOgorICAgIEFjY2Vzc2liaWxpdHlJbWFn
ZU1hcExpbmsoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2hGcm9tUGFyZW50KCkgb3ZlcnJp
ZGU7Ci0KICAgICB2aXJ0dWFsIFBhdGggZWxlbWVudFBhdGgoKSBjb25zdCBvdmVycmlkZTsKICAg
ICBSZW5kZXJFbGVtZW50KiBpbWFnZU1hcExpbmtSZW5kZXJlcigpIGNvbnN0OwogICAgIHZpcnR1
YWwgdm9pZCBhY2Nlc3NpYmlsaXR5VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+Jikgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCBib29sIGlzSW1hZ2VNYXBMaW5rKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c1BhdGgoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisKKyAgICBSZWZQdHI8SFRNTEFyZWFFbGVtZW50PiBt
X2FyZWFFbGVtZW50OworICAgIFJlZlB0cjxIVE1MTWFwRWxlbWVudD4gbV9tYXBFbGVtZW50Owog
fTsKICAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3QuaAppbmRleCBmM2VmZTQ5NGQ0NDJhM2Y4MmYx
ZGFiZTg1NjQ3NDYxODFkOTI0MjZkLi45NzZlMmJkMGVmMzQyOGFkNGFhM2U0NDgyNjg2NGE2Y2U2
YmExMzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5TGlzdC5oCkBAIC0zMywyMSArMzMsMjAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IAotY2xhc3MgQWNjZXNzaWJpbGl0eUxpc3QgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdCB7Ci0gICAgCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IEFjY2Vzc2liaWxpdHlMaXN0KFJl
bmRlck9iamVjdCopOworY2xhc3MgQWNjZXNzaWJpbGl0eUxpc3QgZmluYWwgOiBwdWJsaWMgQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
QWNjZXNzaWJpbGl0eUxpc3Q+IGNyZWF0ZShSZW5kZXJPYmplY3QqKTsKICAgICB2aXJ0dWFsIH5B
Y2Nlc3NpYmlsaXR5TGlzdCgpOwogICAgIAotICAgIHZpcnR1YWwgYm9vbCBpc0xpc3QoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBpc1Vub3JkZXJlZExpc3QoKSBj
b25zdDsKICAgICBib29sIGlzT3JkZXJlZExpc3QoKSBjb25zdDsKICAgICBib29sIGlzRGVzY3Jp
cHRpb25MaXN0KCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVW
YWx1ZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJv
bGUgcm9sZVZhbHVlKCkgY29uc3Qgb3ZlcnJpZGU7CisKIHByaXZhdGU6CisgICAgZXhwbGljaXQg
QWNjZXNzaWJpbGl0eUxpc3QoUmVuZGVyT2JqZWN0Kik7CisgICAgdmlydHVhbCBib29sIGlzTGlz
dCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgY29t
cHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFs
IEFjY2Vzc2liaWxpdHlSb2xlIGRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKCkgb3ZlcnJpZGU7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5TGlzdEJveC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
TGlzdEJveC5oCmluZGV4IGYyMTY2ZjQyNGNmMjA3OTJiNzljNWFiNTU1ZGRiOWRiYTMzY2Q2NzAu
LjE1Yzk4NDVhZTJkODJhZjhlYzZjMTEyNDkyZjM5NTRjOTc4ZmYwODkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3guaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94LmgKQEAgLTMz
LDE2ICszMywxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFjY2Vzc2liaWxp
dHlMaXN0Qm94IDogcHVibGljIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QgewotCi1wcml2YXRl
OgotICAgIGV4cGxpY2l0IEFjY2Vzc2liaWxpdHlMaXN0Qm94KFJlbmRlck9iamVjdCopOworY2xh
c3MgQWNjZXNzaWJpbGl0eUxpc3RCb3ggZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eUxp
c3RCb3g+IGNyZWF0ZShSZW5kZXJPYmplY3QqKTsKICAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5
TGlzdEJveCgpOwogICAgIAotICAgIHZpcnR1YWwgYm9vbCBpc0xpc3RCb3goKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiB0cnVlOyB9Ci0gICAgCiAgICAgdmlydHVhbCBib29sIGNhblNldFNlbGVj
dGVkQ2hpbGRyZW5BdHRyaWJ1dGUoKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHNldFNlbGVj
dGVkQ2hpbGRyZW4oY29uc3QgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJik7CiAgICAgdmly
dHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBMaXN0Qm94Um9sZTsgfQpAQCAtNTIsNyArNDcsMTAgQEAgcHVibGljOgogICAgIAogICAgIHZp
cnR1YWwgdm9pZCBhZGRDaGlsZHJlbigpIG92ZXJyaWRlOwogCi1wcml2YXRlOiAgICAKK3ByaXZh
dGU6CisgICAgZXhwbGljaXQgQWNjZXNzaWJpbGl0eUxpc3RCb3goUmVuZGVyT2JqZWN0Kik7CisK
KyAgICB2aXJ0dWFsIGJvb2wgaXNMaXN0Qm94KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1
ZTsgfQogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGxpc3RCb3hPcHRpb25BY2Nlc3NpYmlsaXR5
T2JqZWN0KEhUTUxFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBlbGVtZW50QWNjZXNzaWJpbGl0eUhpdFRlc3QoY29uc3QgSW50UG9pbnQmKSBjb25zdCBv
dmVycmlkZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmgKaW5kZXggOGUyMmI0MzIxMjdiOWZjZWE4YWY2
ZDAxYWQ1OGNhOTkzOGE1Y2EzZS4uNGJlYTcxOTU5NjNmNWFiNzU0YTY1ZDM1MGFkNzE3ZWNiYzli
NmNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5TGlzdEJveE9wdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eUxpc3RCb3hPcHRpb24uaApAQCAtNDAsMTAgKzQwLDcgQEAgY2xhc3MgRWxlbWVu
dDsKIGNsYXNzIEhUTUxFbGVtZW50OwogY2xhc3MgSFRNTFNlbGVjdEVsZW1lbnQ7CiAgICAgCi1j
bGFzcyBBY2Nlc3NpYmlsaXR5TGlzdEJveE9wdGlvbiA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0IHsKLQotcHJpdmF0ZToKLSAgICBBY2Nlc3NpYmlsaXR5TGlzdEJveE9wdGlvbigpOworY2xh
c3MgQWNjZXNzaWJpbGl0eUxpc3RCb3hPcHRpb24gZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0
eU9iamVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eUxp
c3RCb3hPcHRpb24+IGNyZWF0ZSgpOwogICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlMaXN0Qm94
T3B0aW9uKCk7CkBAIC02MiwxNyArNTksMTkgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBMYXlv
dXRSZWN0IGVsZW1lbnRSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBBY2Nlc3Np
YmlsaXR5T2JqZWN0KiBwYXJlbnRPYmplY3QoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2aXJ0dWFs
IGJvb2wgaXNMaXN0Qm94T3B0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgZmluYWwgeyByZXR1cm4gdHJ1
ZTsgfQogCiBwcml2YXRlOgotICAgIEhUTUxFbGVtZW50KiBtX29wdGlvbkVsZW1lbnQ7Ci0gICAg
CisgICAgQWNjZXNzaWJpbGl0eUxpc3RCb3hPcHRpb24oKTsKKworICAgIHZpcnR1YWwgYm9vbCBp
c0xpc3RCb3hPcHRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmly
dHVhbCBib29sIGNhbkhhdmVDaGlsZHJlbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNl
OyB9CiAgICAgSFRNTFNlbGVjdEVsZW1lbnQqIGxpc3RCb3hPcHRpb25QYXJlbnROb2RlKCkgY29u
c3Q7CiAgICAgaW50IGxpc3RCb3hPcHRpb25JbmRleCgpIGNvbnN0OwogICAgIEludFJlY3QgbGlz
dEJveE9wdGlvblJlY3QoKSBjb25zdDsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBsaXN0Qm94
T3B0aW9uQWNjZXNzaWJpbGl0eU9iamVjdChIVE1MRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1
YWwgYm9vbCBjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0IG92ZXJyaWRlOwor
CisgICAgSFRNTEVsZW1lbnQqIG1fb3B0aW9uRWxlbWVudDsKIH07CiAgICAgCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oCmluZGV4IGQyOGZmZjM2OGI3YmY4YzAwNDQz
N2M2ZGJmZGQ2OTM0NDZhYzQ3NDkuLmJjNmJkNTQ4YTA4OTI2ZGM5NzBmY2M5ZmUyM2YzZDcyYzBl
Mzg1MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU1lZGlhQ29udHJvbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmgKQEAgLTYwLDI0ICs2MCwyNCBAQCBwcml2YXRlOgog
fTsKIAogCi1jbGFzcyBBY2Nlc3NpYmlsaXR5TWVkaWFUaW1lbGluZSA6IHB1YmxpYyBBY2Nlc3Np
YmlsaXR5U2xpZGVyIHsKK2NsYXNzIEFjY2Vzc2liaWxpdHlNZWRpYVRpbWVsaW5lIGZpbmFsIDog
cHVibGljIEFjY2Vzc2liaWxpdHlTbGlkZXIgewogCiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8QWNjZXNzaWJpbGl0eU9iamVjdD4gY3JlYXRlKFJlbmRlck9iamVjdCopOwogICAgIHZp
cnR1YWwgfkFjY2Vzc2liaWxpdHlNZWRpYVRpbWVsaW5lKCkgeyB9CiAKLSAgICB2aXJ0dWFsIGJv
b2wgaXNNZWRpYVRpbWVsaW5lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQotCiAg
ICAgdmlydHVhbCBTdHJpbmcgaGVscFRleHQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFs
IFN0cmluZyB2YWx1ZURlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgQXRv
bWljU3RyaW5nJiBnZXRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlKSBj
b25zdDsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBBY2Nlc3NpYmlsaXR5TWVkaWFUaW1lbGlu
ZShSZW5kZXJPYmplY3QqKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhVGltZWxpbmUoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiB9OwogCiAKLWNsYXNzIEFjY2Vzc2liaWxp
dHlNZWRpYUNvbnRyb2xzQ29udGFpbmVyIDogcHVibGljIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRy
b2wgeworY2xhc3MgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHNDb250YWluZXIgZmluYWwgOiBw
dWJsaWMgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbCB7CiAKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBjcmVhdGUoUmVuZGVyT2JqZWN0Kik7CkBA
IC05Niw3ICs5Niw3IEBAIHByaXZhdGU6CiB9OwogCiAKLWNsYXNzIEFjY2Vzc2liaWxpdHlNZWRp
YVRpbWVEaXNwbGF5IDogcHVibGljIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2wgeworY2xhc3Mg
QWNjZXNzaWJpbGl0eU1lZGlhVGltZURpc3BsYXkgZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0
eU1lZGlhQ29udHJvbCB7CiAKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2Nlc3Np
YmlsaXR5T2JqZWN0PiBjcmVhdGUoUmVuZGVyT2JqZWN0Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlzdC5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxpc3QuaAppbmRleCA1YjFiMmQ0
MDcwNzIxY2EyNzNjZDBmNTRjNjM3OTk5NGMxOGM0MzMyLi5iYzc1YzE3ZjkxNTFjMzJjOWJkMjMz
MjViNzQ4NmZiODhiNjExOTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlNZW51TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmgKQEAgLTM1LDcgKzM1LDcgQEAgY2xhc3MgQWNj
ZXNzaWJpbGl0eU1lbnVMaXN0UG9wdXA7CiBjbGFzcyBIVE1MT3B0aW9uRWxlbWVudDsKIGNsYXNz
IFJlbmRlck1lbnVMaXN0OwogCi1jbGFzcyBBY2Nlc3NpYmlsaXR5TWVudUxpc3QgOiBwdWJsaWMg
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCB7CitjbGFzcyBBY2Nlc3NpYmlsaXR5TWVudUxpc3Qg
ZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eU1lbnVMaXN0PiBjcmVhdGUoUmVuZGVyTWVu
dUxpc3QqIHJlbmRlcmVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVMaXN0T3B0aW9uLmgKaW5kZXggNWUzODNmN2JjZjll
NGFmNjUxNmQzZDFmMzRkZDI1NDYyOTBlMTI4My4uZTEzYzVmYjhmZjI3YmMyYmVjNTNmYmVhNjQ5
OTI3MDc5MzI3NGQ3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlzdE9wdGlvbi5oCkBAIC0zMyw3ICszMyw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwOwogY2xh
c3MgSFRNTEVsZW1lbnQ7CiAKLWNsYXNzIEFjY2Vzc2liaWxpdHlNZW51TGlzdE9wdGlvbiA6IHB1
YmxpYyBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdCB7CitjbGFzcyBBY2Nlc3NpYmlsaXR5TWVudUxp
c3RPcHRpb24gZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QgewogcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlNZW51TGlzdE9wdGlvbj4gY3Jl
YXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IEFjY2Vzc2liaWxpdHlNZW51TGlzdE9wdGlvbik7
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5TWVudUxpc3RQb3B1cC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5TWVudUxpc3RQb3B1cC5oCmluZGV4IGMxNTZhY2UzNmRkNDMwNWFhZTVlMjc3ZDY1Zjg1
MzYyNWQzNDBiNDIuLjJiMzUzMGUxOTZkMDExNGY1Mzc1OTkwNmQ3NTM1Mzc4MTZmYjkxNjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVM
aXN0UG9wdXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlNZW51TGlzdFBvcHVwLmgKQEAgLTM1LDcgKzM1LDcgQEAgY2xhc3MgQWNjZXNzaWJpbGl0eU1l
bnVMaXN0T3B0aW9uOwogY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBIVE1MU2VsZWN0RWxlbWVu
dDsKIAotY2xhc3MgQWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9wdXAgOiBwdWJsaWMgQWNjZXNzaWJp
bGl0eU1vY2tPYmplY3QgeworY2xhc3MgQWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9wdXAgZmluYWwg
OiBwdWJsaWMgQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QgewogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwPiBjcmVhdGUoKSB7IHJldHVybiBh
ZG9wdFJlZihuZXcgQWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9wdXApOyB9CiAKQEAgLTQ0LDcgKzQ0
LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBkaWRVcGRhdGVBY3RpdmVPcHRpb24oaW50IG9wdGlv
bkluZGV4KTsKIAotCiBwcml2YXRlOgogICAgIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU1vY2tPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU1vY2tPYmplY3QuaAppbmRleCA0YjdiYzQ2ODAyN2NhNDU0MjVlZGI5N2NmZjUxNGYwMWEyMzk4
ZGJjLi4zOTNkOWQyZmIzZTdkMjkyOTg5ZWYwOTlhNGE0NTZmZWRkOTQ1ZWQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNb2NrT2JqZWN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TW9ja09iamVj
dC5oCkBAIC0zOCw3ICszOCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5
TW9ja09iamVjdCgpOwogICAgIAogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eU9iamVjdCogcGFy
ZW50T2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9wYXJlbnQ7IH0KLSAgICB2aXJ0
dWFsIHZvaWQgc2V0UGFyZW50KEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudCkgeyBtX3BhcmVu
dCA9IHBhcmVudDsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0UGFyZW50KEFjY2Vzc2liaWxpdHlP
YmplY3QqIHBhcmVudCkgeyBtX3BhcmVudCA9IHBhcmVudDsgfQogICAgIHZpcnR1YWwgYm9vbCBp
c0VuYWJsZWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKIHByb3RlY3RlZDoK
QEAgLTQ4LDcgKzQ4LDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2hGcm9t
UGFyZW50KCkgb3ZlcnJpZGUgeyBtX3BhcmVudCA9IG51bGxwdHI7IH0KIAogcHJpdmF0ZToKLSAg
ICB2aXJ0dWFsIGJvb2wgaXNNb2NrT2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1
ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc01vY2tPYmplY3QoKSBjb25zdCBvdmVycmlkZSBmaW5h
bCB7IHJldHVybiB0cnVlOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY29tcHV0ZUFjY2Vzc2liaWxp
dHlJc0lnbm9yZWQoKSBjb25zdCBvdmVycmlkZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmgKaW5kZXggZjM0NjVi
ZWY1Y2UwZjExNmJkNmUwZmViZGEzZmU0Njc1M2UzOTM0Mi4uMTM4M2RjYWNmYmUxZTc5MjZhNzgz
NjQ0YjVlYTFiNDE1Nzc2Y2M1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaApAQCAtNjEsMTUgKzYxLDExIEBAIGVu
dW0gTW91c2VCdXR0b25MaXN0ZW5lclJlc3VsdEZpbHRlciB7CiB9OwogCiBjbGFzcyBBY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdCA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0IHsKLXByb3RlY3Rl
ZDoKLSAgICBleHBsaWNpdCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdChOb2RlKik7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q+IGNyZWF0ZShO
b2RlKik7CiAgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eU5vZGVPYmplY3QoKTsKIAogICAgIHZp
cnR1YWwgdm9pZCBpbml0KCkgb3ZlcnJpZGU7Ci0gICAgCi0gICAgdmlydHVhbCBib29sIGlzQWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3QoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAK
ICAgICB2aXJ0dWFsIGJvb2wgY2FudmFzSGFzRmFsbGJhY2tDb250ZW50KCkgY29uc3Qgb3ZlcnJp
ZGU7CiAKQEAgLTE1OCw2ICsxNTQsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0
IGVsZW1lbnRSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7CiAKIHByb3RlY3RlZDoKKyAgICBleHBsaWNp
dCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdChOb2RlKik7CisKICAgICBBY2Nlc3NpYmlsaXR5Um9s
ZSBtX2FyaWFSb2xlOwogICAgIGJvb2wgbV9jaGlsZHJlbkRpcnR5OwogICAgIG11dGFibGUgQWNj
ZXNzaWJpbGl0eVJvbGUgbV9yb2xlRm9yTVNBQTsKQEAgLTE5Myw4ICsxOTEsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogbWVudUJ1dHRvbkZvck1lbnUoKSBjb25zdDsK
IAogcHJpdmF0ZToKLSAgICBOb2RlKiBtX25vZGU7Ci0KKyAgICB2aXJ0dWFsIGJvb2wgaXNBY2Nl
c3NpYmlsaXR5Tm9kZU9iamVjdCgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsIHsgcmV0dXJuIHRydWU7
IH0KICAgICB2aXJ0dWFsIHZvaWQgYWNjZXNzaWJpbGl0eVRleHQoVmVjdG9yPEFjY2Vzc2liaWxp
dHlUZXh0PiYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB0aXRsZUVsZW1lbnRUZXh0KFZl
Y3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mKSBjb25zdDsKICAgICB2b2lkIGFsdGVybmF0aXZlVGV4
dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+JikgY29uc3Q7CkBAIC0yMDQsNiArMjAxLDggQEAg
cHJpdmF0ZToKICAgICB2b2lkIGFyaWFMYWJlbGVkQnlUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5
VGV4dD4mKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgY29tcHV0ZUFjY2Vzc2liaWxpdHlJc0ln
bm9yZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIHVzZXNBbHRUYWdGb3JUZXh0Q29tcHV0
YXRpb24oKSBjb25zdDsKKworICAgIE5vZGUqIG1fbm9kZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5oCmluZGV4IGMwZjIyMDJmYWQyODVjMTE4
ZThhODIzYzViNzZmYWQxYjQ2M2Q3MDIuLmMxNDEzZTBiZDM1OWVlMTczMGI0NDhkMGRkMDkwYWE0
NzJmZWEyYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IuaApAQCAtMzMsNyArMzMsNyBAQCBj
bGFzcyBSZW5kZXJNZXRlcjsKIGNsYXNzIEhUTUxQcm9ncmVzc0VsZW1lbnQ7CiBjbGFzcyBSZW5k
ZXJQcm9ncmVzczsKICAgICAKLWNsYXNzIEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvciA6
IHB1YmxpYyBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0IHsKK2NsYXNzIEFjY2Vzc2liaWxpdHlQ
cm9ncmVzc0luZGljYXRvciBmaW5hbCA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJ
bmRpY2F0b3I+IGNyZWF0ZShSZW5kZXJQcm9ncmVzcyopOwogI2lmIEVOQUJMRShNRVRFUl9FTEVN
RU5UKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuaAppbmRleCBlZDdiZTEwNGE4NzhlYzllNWFmNThkMDc0NzFmNmRj
YWJmNzc2ZWYxLi4xNDVhNzY1NDE0YjZkODJlMjI0MWQyN2FmNGI5ZmM0YzE1NjNkMGIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuaApAQCAtNTcsMTMgKzU3LDkgQEAgY2xhc3MgVmlzaWJsZVNlbGVjdGlvbjsK
IGNsYXNzIFdpZGdldDsKICAgICAKIGNsYXNzIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QgOiBw
dWJsaWMgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QgewotcHJvdGVjdGVkOgotICAgIGV4cGxpY2l0
IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QoUmVuZGVyT2JqZWN0Kik7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdD4gY3JlYXRlKFJlbmRl
ck9iamVjdCopOwogICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QoKTsKLSAg
ICAKLSAgICB2aXJ0dWFsIGJvb2wgaXNBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0KCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIGluaXQoKSBvdmVy
cmlkZTsKICAgICAKQEAgLTIxNCw4ICsyMTAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJp
bmcgcGFzc3dvcmRGaWVsZFZhbHVlKCkgY29uc3Qgb3ZlcnJpZGU7CiAKIHByb3RlY3RlZDoKLSAg
ICBSZW5kZXJPYmplY3QqIG1fcmVuZGVyZXI7Ci0gICAgCisgICAgZXhwbGljaXQgQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdChSZW5kZXJPYmplY3QqKTsKICAgICB2b2lkIHNldFJlbmRlck9iamVj
dChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKSB7IG1fcmVuZGVyZXIgPSByZW5kZXJlcjsgfQogICAg
IHZvaWQgYXJpYUVsZW1lbnRzRnJvbUF0dHJpYnV0ZShBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0
b3ImLCBjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAgICAgYm9vbCBuZWVkc1RvVXBkYXRl
Q2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBtX2NoaWxkcmVuRGlydHk7IH0KQEAgLTIyNyw3ICsy
MjIsMTAgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgZGV0ZXJt
aW5lQWNjZXNzaWJpbGl0eVJvbGUoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgY29tcHV0
ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCBvdmVycmlkZTsKIAorICAgIFJlbmRlck9i
amVjdCogbV9yZW5kZXJlcjsKKwogcHJpdmF0ZToKKyAgICB2aXJ0dWFsIGJvb2wgaXNBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGUgZmluYWwgeyByZXR1cm4gdHJ1ZTsg
fQogICAgIHZvaWQgYXJpYUxpc3Rib3hTZWxlY3RlZENoaWxkcmVuKEFjY2Vzc2liaWxpdHlDaGls
ZHJlblZlY3RvciYpOwogICAgIHZvaWQgYXJpYUxpc3Rib3hWaXNpYmxlQ2hpbGRyZW4oQWNjZXNz
aWJpbGl0eUNoaWxkcmVuVmVjdG9yJik7CiAgICAgYm9vbCBpc0FsbG93ZWRDaGlsZE9mVHJlZSgp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5U1ZHUm9vdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5U1ZHUm9vdC5oCmluZGV4IDc3ZWViMWI2YWE1MjIwMDk0Y2QwM2E1OTg0NzY1MGIxYTQzMDYx
YTIuLjBiODJmZWU5YTFmMzIwMzllZjNmY2YzMWIwZTFlMTk5MmFjODNjNGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR1Jvb3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdSb290LmgKQEAg
LTMzLDIxICszMywyMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFjY2Vzc2li
aWxpdHlTVkdSb290IDogcHVibGljIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QgewotICAgIAot
cHJvdGVjdGVkOgotICAgIGV4cGxpY2l0IEFjY2Vzc2liaWxpdHlTVkdSb290KFJlbmRlck9iamVj
dCopOworY2xhc3MgQWNjZXNzaWJpbGl0eVNWR1Jvb3QgZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8QWNjZXNz
aWJpbGl0eVNWR1Jvb3Q+IGNyZWF0ZShSZW5kZXJPYmplY3QqKTsKICAgICB2aXJ0dWFsIH5BY2Nl
c3NpYmlsaXR5U1ZHUm9vdCgpOwogICAgIAogICAgIHZvaWQgc2V0UGFyZW50KEFjY2Vzc2liaWxp
dHlPYmplY3QqIHBhcmVudCkgeyBtX3BhcmVudCA9IHBhcmVudDsgfQotICAgIAorCiBwcml2YXRl
OgotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG1fcGFyZW50OworICAgIGV4cGxpY2l0IEFjY2Vz
c2liaWxpdHlTVkdSb290KFJlbmRlck9iamVjdCopOwogICAgIAogICAgIHZpcnR1YWwgQWNjZXNz
aWJpbGl0eU9iamVjdCogcGFyZW50T2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCBib29sIGlzQWNjZXNzaWJpbGl0eVNWR1Jvb3QoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0
cnVlOyB9CisKKyAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBtX3BhcmVudDsKIH07CiAgICAgCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oCmluZGV4IDg5ZmRiYTlmYTVjMDEyMTBm
MzM0YzcxYzRkMjExMDM1YTA5MzE5NzAuLjkxNTE5YzhjNTIwOGFkNWFhNjc5ODFlMjAzZjJiYWU3
OTVjYjAwNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVNjcm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlTY3JvbGxWaWV3LmgKQEAgLTM0LDcgKzM0LDcgQEAgY2xhc3MgQWNjZXNzaWJp
bGl0eVNjcm9sbGJhcjsKIGNsYXNzIFNjcm9sbGJhcjsKIGNsYXNzIFNjcm9sbFZpZXc7CiAgICAg
Ci1jbGFzcyBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldyA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0IHsKK2NsYXNzIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3IGZpbmFsIDogcHVibGljIEFjY2Vz
c2liaWxpdHlPYmplY3QgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2Vzc2li
aWxpdHlTY3JvbGxWaWV3PiBjcmVhdGUoU2Nyb2xsVmlldyopOyAgICAKICAgICB2aXJ0dWFsIEFj
Y2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9s
bEFyZWFSb2xlOyB9CkBAIC00MywxMyArNDMsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkFj
Y2Vzc2liaWxpdHlTY3JvbGxWaWV3KCk7CiAgICAgdmlydHVhbCB2b2lkIGRldGFjaChBY2Nlc3Np
YmlsaXR5RGV0YWNobWVudFR5cGUsIEFYT2JqZWN0Q2FjaGUqKSBvdmVycmlkZTsKIAotcHJvdGVj
dGVkOgotICAgIHZpcnR1YWwgU2Nyb2xsYWJsZUFyZWEqIGdldFNjcm9sbGFibGVBcmVhSWZTY3Jv
bGxhYmxlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIHNjcm9sbFRvKGNvbnN0
IEludFBvaW50JikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgCiBwcml2YXRlOgogICAgIGV4cGxpY2l0
IEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3KFNjcm9sbFZpZXcqKTsKICAgICAKKyAgICB2aXJ0dWFs
IFNjcm9sbGFibGVBcmVhKiBnZXRTY3JvbGxhYmxlQXJlYUlmU2Nyb2xsYWJsZSgpIGNvbnN0IG92
ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxUbyhjb25zdCBJbnRQb2ludCYpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3Jl
ZCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBpc0FjY2Vzc2liaWxpdHlTY3Jv
bGxWaWV3KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9v
bCBpc0VuYWJsZWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxiYXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNjcm9sbGJhci5oCmlu
ZGV4IDIwOWZmZmQ1ZDBjNGEyOTcyMzg2YjMxYzkwNDY5NjM4ODRiNGMxNzYuLjQzNzA0NDk4MzY1
MjI3ZWRkMjlkMDYyNWQ2YWRiNjU1ODMyZTcwYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNjcm9sbGJhci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNjcm9sbGJhci5oCkBAIC0zNSw3ICszNSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2Nyb2xsYmFyOwogCi1jbGFzcyBBY2Nl
c3NpYmlsaXR5U2Nyb2xsYmFyIDogcHVibGljIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0IHsKK2Ns
YXNzIEFjY2Vzc2liaWxpdHlTY3JvbGxiYXIgZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU1v
Y2tPYmplY3QgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlT
Y3JvbGxiYXI+IGNyZWF0ZShTY3JvbGxiYXIqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRCdXR0b25zLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZEJ1dHRvbnMu
aAppbmRleCBlYmY2NDFkY2VmN2E2YzkxODBmZWZmYjI4MjU0M2MyZDg5YTRjNTU5Li45NmY1OGJl
MWE0Yzg0MjUyZTgwMjY2ZGY3YTAyZTlhMTE2YzA4ODliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZEJ1dHRvbnMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZEJ1
dHRvbnMuaApAQCAtMzksMTEgKzM5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgcHJl
c3MoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEJ1dHRvblJvbGU7IH0KIAotcHJvdGVjdGVkOgotICAg
IHZpcnR1YWwgYm9vbCBjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0IG92ZXJy
aWRlOwotCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEFjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZENh
bmNlbEJ1dHRvbihSZW5kZXJPYmplY3QqKTsKKworICAgIHZpcnR1YWwgYm9vbCBjb21wdXRlQWNj
ZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0IG92ZXJyaWRlOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5U2xpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlTbGlkZXIuaAppbmRleCAyNjc4ZTcyOGRkYzU0NTk1OTFkOTgyOGE1ODk4OTgxOTUyODc1
NWY2Li5iMGRkMDIwZTYwNzAzMDI3MTE3ODI5ZDA0YzFhNTkzMzVhYTI3NzMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTbGlkZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTbGlkZXIuaApAQCAt
MzcsNyArMzcsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50
OwogCiBjbGFzcyBBY2Nlc3NpYmlsaXR5U2xpZGVyIDogcHVibGljIEFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QgewotICAgIAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2Vzc2li
aWxpdHlTbGlkZXI+IGNyZWF0ZShSZW5kZXJPYmplY3QqKTsKICAgICB2aXJ0dWFsIH5BY2Nlc3Np
YmlsaXR5U2xpZGVyKCkgeyB9CkBAIC01MCw3ICs0OSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBlbGVtZW50QWNjZXNzaWJpbGl0eUhpdFRlc3QoY29uc3Qg
SW50UG9pbnQmKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJv
bGUgcm9sZVZhbHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gU2xpZGVyUm9sZTsgfQotICAg
IHZpcnR1YWwgYm9vbCBpc1NsaWRlcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
KyAgICB2aXJ0dWFsIGJvb2wgaXNTbGlkZXIoKSBjb25zdCBvdmVycmlkZSBmaW5hbCB7IHJldHVy
biB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIGlzSW5wdXRTbGlkZXIoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIGlzQ29udHJvbCgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICAKQEAgLTY2LDIxICs2NSwxOCBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eU9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29u
c3Qgb3ZlcnJpZGU7CiB9OwogCi1jbGFzcyBBY2Nlc3NpYmlsaXR5U2xpZGVyVGh1bWIgOiBwdWJs
aWMgQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QgewotICAgIAorY2xhc3MgQWNjZXNzaWJpbGl0eVNs
aWRlclRodW1iIGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0IHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5U2xpZGVyVGh1bWI+IGNyZWF0
ZSgpOwogICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlTbGlkZXJUaHVtYigpIHsgfQogCi0gICAg
dmlydHVhbCBib29sIGlzU2xpZGVyVGh1bWIoKSBjb25zdCBvdmVycmlkZSBmaW5hbCB7IHJldHVy
biB0cnVlOyB9Ci0KICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIFNsaWRlclRodW1iUm9sZTsgfQotCiAgICAgdmlydHVhbCBM
YXlvdXRSZWN0IGVsZW1lbnRSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAg
QWNjZXNzaWJpbGl0eVNsaWRlclRodW1iKCk7CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNTbGlkZXJU
aHVtYigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wg
Y29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCBvdmVycmlkZTsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5C
dXR0b24uaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5C
dXR0b24uaAppbmRleCA4NzMxOTQyZDVlNjI5NzY0ZWEzZmVhMGI0NjI4ODkzM2E5MGIyMTAyLi5j
ZTZhOWJkM2M2YzdmNWNkOGUxOTUyYTgyYjg2NzI3OGM5YWMzMTAyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oCkBA
IC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKLWNsYXNzIEFjY2Vz
c2liaWxpdHlTcGluQnV0dG9uIDogcHVibGljIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0IHsKK2Ns
YXNzIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uIGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxpdHlN
b2NrT2JqZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5
U3BpbkJ1dHRvbj4gY3JlYXRlKCk7CiAgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eVNwaW5CdXR0
b24oKTsKQEAgLTU2LDcgKzU2LDcgQEAgcHJpdmF0ZToKICAgICBTcGluQnV0dG9uRWxlbWVudCog
bV9zcGluQnV0dG9uRWxlbWVudDsKIH07IAogICAgCi1jbGFzcyBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvblBhcnQgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QgeworY2xhc3MgQWNjZXNz
aWJpbGl0eVNwaW5CdXR0b25QYXJ0IGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxpdHlNb2NrT2Jq
ZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvblBhcnQ+IGNyZWF0ZSgpOwogICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlTcGluQnV0dG9u
UGFydCgpIHsgfQpAQCAtNjYsMTIgKzY2LDEzIEBAIHB1YmxpYzoKICAgICAKIHByaXZhdGU6CiAg
ICAgQWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0KCk7Ci0gICAgYm9vbCBtX2lzSW5jcmVtZW50
b3IgOiAxOwogICAgIAogICAgIHZpcnR1YWwgYm9vbCBwcmVzcygpIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gQnV0dG9uUm9sZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1NwaW5CdXR0b25QYXJ0KCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBlbGVt
ZW50UmVjdCgpIGNvbnN0IG92ZXJyaWRlOworCisgICAgdW5zaWduZWQgbV9pc0luY3JlbWVudG9y
IDogMTsKIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUuaAppbmRleCAzM2Y2NGJhZWRh
MWJiZTI4NTBhYTk0NDkzOGJlMTFlNWQ1YzE4MWI2Li5jZDViYmU3MTViMTFkZGU4ZmRkNjVkOWE2
M2RkMWRiMWQwYzMzNWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlUYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVRhYmxlLmgKQEAgLTM5LDIwICszOSwxNyBAQCBjbGFzcyBIVE1MVGFibGVF
bGVtZW50OwogY2xhc3MgUmVuZGVyVGFibGVTZWN0aW9uOwogICAgIAogY2xhc3MgQWNjZXNzaWJp
bGl0eVRhYmxlIDogcHVibGljIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QgewotCi1wcm90ZWN0
ZWQ6Ci0gICAgZXhwbGljaXQgQWNjZXNzaWJpbGl0eVRhYmxlKFJlbmRlck9iamVjdCopOwogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlUYWJsZT4gY3JlYXRlKFJl
bmRlck9iamVjdCopOwogICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlUYWJsZSgpOwogCi0gICAg
dmlydHVhbCB2b2lkIGluaXQoKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgaW5pdCgpIG92
ZXJyaWRlIGZpbmFsOwogCi0gICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUo
KSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1
ZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwgYm9vbCBpc0FyaWFUYWJsZSgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIGFkZENoaWxk
cmVuKCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGNsZWFyQ2hpbGRyZW4oKSBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJDaGlsZHJlbigpIG92ZXJyaWRlIGZpbmFsOwogICAg
IAogICAgIGNvbnN0IEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgY29sdW1ucygpOwogICAg
IGNvbnN0IEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcm93cygpOwpAQCAtNjIsNyArNTks
NyBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgcm93Q291bnQoKTsKICAgICB2aXJ0dWFsIGludCB0
YWJsZUxldmVsKCkgY29uc3Qgb3ZlcnJpZGUgZmluYWw7CiAgICAgCi0gICAgdmlydHVhbCBTdHJp
bmcgdGl0bGUoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFN0cmluZyB0aXRsZSgpIGNv
bnN0IG92ZXJyaWRlIGZpbmFsOwogICAgIAogICAgIC8vIGFsbCB0aGUgY2VsbHMgaW4gdGhlIHRh
YmxlCiAgICAgdm9pZCBjZWxscyhBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImKTsKQEAgLTc5
LDYgKzc2LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNFeHBvc2FibGVUaHJvdWdoQWNjZXNzaWJp
bGl0eSgpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6CisgICAgZXhwbGljaXQgQWNjZXNzaWJpbGl0eVRh
YmxlKFJlbmRlck9iamVjdCopOworCiAgICAgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yIG1f
cm93czsKICAgICBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3IgbV9jb2x1bW5zOwogCkBAIC04
OCwxNSArODcsMTUgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgaGFzQVJJQVJvbGUoKSBjb25zdDsK
IAogICAgIC8vIGlzVGFibGUgaXMgd2hldGhlciBpdCdzIGFuIEFjY2Vzc2liaWxpdHlUYWJsZSBv
YmplY3QuCi0gICAgdmlydHVhbCBib29sIGlzVGFibGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGlzVGFibGUoKSBjb25zdCBvdmVycmlkZSBmaW5h
bCB7IHJldHVybiB0cnVlOyB9CiAgICAgLy8gaXNEYXRhVGFibGUgaXMgd2hldGhlciBpdCBpcyBl
eHBvc2VkIGFzIGFuIEFjY2Vzc2liaWxpdHlUYWJsZSBiZWNhdXNlIHRoZSBoZXVyaXN0aWMKICAg
ICAvLyB0aGluayB0aGlzICJsb29rcyIgbGlrZSBhIGRhdGEtYmFzZWQgdGFibGUgKGluc3RlYWQg
b2YgYSB0YWJsZSB1c2VkIGZvciBsYXlvdXQpLgotICAgIHZpcnR1YWwgYm9vbCBpc0RhdGFUYWJs
ZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgYm9vbCBjb21wdXRlQWNjZXNzaWJpbGl0
eUlzSWdub3JlZCgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9vbCBpc0RhdGFUYWJs
ZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgYm9vbCBjb21wdXRlQWNjZXNz
aWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwogCiBwcml2YXRlOgogICAg
IHZpcnR1YWwgYm9vbCBjb21wdXRlSXNUYWJsZUV4cG9zYWJsZVRocm91Z2hBY2Nlc3NpYmlsaXR5
KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHRpdGxlRWxlbWVudFRleHQoVmVjdG9yPEFjY2Vz
c2liaWxpdHlUZXh0PiYpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCB0aXRsZUVs
ZW1lbnRUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mKSBjb25zdCBvdmVycmlkZSBmaW5h
bDsKICAgICBIVE1MVGFibGVFbGVtZW50KiB0YWJsZUVsZW1lbnQoKSBjb25zdDsKICAgICB2b2lk
IGFkZENoaWxkcmVuRnJvbVNlY3Rpb24oUmVuZGVyVGFibGVTZWN0aW9uKiwgdW5zaWduZWQmIG1h
eENvbHVtbkNvdW50KTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5oCmluZGV4IDMzMTg2ODJkZWZkNDYyYWFlMDg3N2Vj
NjRjY2Q4YzU4NmMxNzJlMmQuLmU5ZmE2YzJlNDM0NGI1MDQwOTY2NDk0Y2RkNTQwMjY5ODdiNWVj
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVRhYmxlQ2VsbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVRhYmxlQ2VsbC5oCkBAIC0zNiwxNCArMzYsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgQWNjZXNzaWJpbGl0eVRhYmxlOwogICAgIAogY2xhc3MgQWNjZXNzaWJpbGl0eVRhYmxl
Q2VsbCA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0IHsKLSAgICAKLXByb3RlY3Rl
ZDoKLSAgICBleHBsaWNpdCBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsKFJlbmRlck9iamVjdCopOwog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlUYWJsZUNlbGw+IGNy
ZWF0ZShSZW5kZXJPYmplY3QqKTsKICAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5VGFibGVDZWxs
KCk7CiAgICAgCi0gICAgdmlydHVhbCBib29sIGlzVGFibGVDZWxsKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCBib29sIGlzVGFibGVDZWxsKCkgY29uc3Qgb3ZlcnJpZGUgZmluYWw7CiAg
ICAgYm9vbCBpc1RhYmxlSGVhZGVyQ2VsbCgpIGNvbnN0OwogICAgIGJvb2wgaXNDb2x1bW5IZWFk
ZXJDZWxsKCkgY29uc3Q7CiAgICAgYm9vbCBpc1Jvd0hlYWRlckNlbGwoKSBjb25zdDsKQEAgLTU3
LDE3ICs1NCwyMCBAQCBwdWJsaWM6CiAgICAgdm9pZCByb3dIZWFkZXJzKEFjY2Vzc2liaWxpdHlD
aGlsZHJlblZlY3RvciYpOwogCiBwcm90ZWN0ZWQ6CisgICAgZXhwbGljaXQgQWNjZXNzaWJpbGl0
eVRhYmxlQ2VsbChSZW5kZXJPYmplY3QqKTsKKwogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVRh
YmxlKiBwYXJlbnRUYWJsZSgpIGNvbnN0OworICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUg
ZGV0ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUoKSBvdmVycmlkZSBmaW5hbDsKKwogICAgIGludCBt
X3Jvd0luZGV4OwotICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgZGV0ZXJtaW5lQWNjZXNz
aWJpbGl0eVJvbGUoKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAgICAvLyBJZiBhIHRhYmxlIGNl
bGwgaXMgbm90IGV4cG9zZWQgYXMgYSB0YWJsZSBjZWxsLCBhIFRIIGVsZW1lbnQgY2FuIHNlcnZl
IGFzIGl0cyB0aXRsZSBVSSBlbGVtZW50LgotICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eU9iamVj
dCogdGl0bGVVSUVsZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgZXhw
b3Nlc1RpdGxlVUlFbGVtZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQotICAg
IHZpcnR1YWwgYm9vbCBjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0IG92ZXJy
aWRlOwotICAgIHZpcnR1YWwgU3RyaW5nIGV4cGFuZGVkVGV4dFZhbHVlKCkgY29uc3Q7Ci0gICAg
dmlydHVhbCBib29sIHN1cHBvcnRzRXhwYW5kZWRUZXh0VmFsdWUoKSBjb25zdDsKKyAgICB2aXJ0
dWFsIEFjY2Vzc2liaWxpdHlPYmplY3QqIHRpdGxlVUlFbGVtZW50KCkgY29uc3Qgb3ZlcnJpZGUg
ZmluYWw7CisgICAgdmlydHVhbCBib29sIGV4cG9zZXNUaXRsZVVJRWxlbWVudCgpIGNvbnN0IG92
ZXJyaWRlIGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgY29tcHV0ZUFj
Y2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCBvdmVycmlkZSBmaW5hbDsKKyAgICB2aXJ0dWFs
IFN0cmluZyBleHBhbmRlZFRleHRWYWx1ZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOworICAgIHZp
cnR1YWwgYm9vbCBzdXBwb3J0c0V4cGFuZGVkVGV4dFZhbHVlKCkgY29uc3Qgb3ZlcnJpZGUgZmlu
YWw7CiAKICAgICBib29sIGlzVGFibGVDZWxsSW5TYW1lUm93R3JvdXAoQWNjZXNzaWJpbGl0eVRh
YmxlQ2VsbCopOwogICAgIGJvb2wgaXNUYWJsZUNlbGxJblNhbWVDb2xHcm91cChBY2Nlc3NpYmls
aXR5VGFibGVDZWxsKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uaAppbmRleCBhZjdjZTNjMTg4MTllMzY2YzMzM2Ni
YmM2MWY0NjdjOGMxYjQ0YzczLi42N2M0NGI4MGM3NjlhOGY2YzliNTczODZjZTVjNTA1NjJmMTVj
YTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlUYWJsZUNvbHVtbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVRhYmxlQ29sdW1uLmgKQEAgLTM3LDEwICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAKIGNsYXNzIFJlbmRlclRhYmxlU2VjdGlvbjsKIAotY2xhc3MgQWNjZXNzaWJpbGl0
eVRhYmxlQ29sdW1uIDogcHVibGljIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0IHsKLSAgICAKLXBy
aXZhdGU6Ci0gICAgQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uKCk7CitjbGFzcyBBY2Nlc3NpYmls
aXR5VGFibGVDb2x1bW4gZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU1vY2tPYmplY3Qgewog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbj4g
Y3JlYXRlKCk7CiAgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uKCk7CkBAIC00
OCw3ICs0NSw2IEBAIHB1YmxpYzoKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBoZWFkZXJPYmpl
Y3QoKTsKICAgICAgICAgCiAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBDb2x1bW5Sb2xlOyB9Ci0gICAgdmlydHVhbCBib29s
IGlzVGFibGVDb2x1bW4oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgCiAg
ICAgdm9pZCBzZXRDb2x1bW5JbmRleChpbnQgY29sdW1uSW5kZXgpIHsgbV9jb2x1bW5JbmRleCA9
IGNvbHVtbkluZGV4OyB9CiAgICAgaW50IGNvbHVtbkluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9j
b2x1bW5JbmRleDsgfSAgICAKQEAgLTU4LDEyICs1NCwxNSBAQCBwdWJsaWM6CiAgICAgCiAgICAg
dmlydHVhbCBMYXlvdXRSZWN0IGVsZW1lbnRSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgCi1w
cml2YXRlOiAgICAKLSAgICB1bnNpZ25lZCBtX2NvbHVtbkluZGV4OwotICAgIExheW91dFJlY3Qg
bV9jb2x1bW5SZWN0OworcHJpdmF0ZToKKyAgICBBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4oKTsK
ICAgICAKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBoZWFkZXJPYmplY3RGb3JTZWN0aW9uKFJl
bmRlclRhYmxlU2VjdGlvbiosIGJvb2wgdGhUYWdSZXF1aXJlZCk7CiAgICAgdmlydHVhbCBib29s
IGNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCBib29sIGlzVGFibGVDb2x1bW4oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9
CisKKyAgICB1bnNpZ25lZCBtX2NvbHVtbkluZGV4OworICAgIExheW91dFJlY3QgbV9jb2x1bW5S
ZWN0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlSGVhZGVyQ29udGFpbmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNv
bnRhaW5lci5oCmluZGV4IDY1NTg2MWMyNjIyMmM5MzYwNWQwOTRlZGQ1YzRkNzFiZDljOWJhOGUu
LjI2NmQxNGMyOWNmYTg0MGFmYWNhYjVlZThlZWZjZjJkMGNmYjVmNGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlSGVhZGVyQ29udGFp
bmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFi
bGVIZWFkZXJDb250YWluZXIuaApAQCAtMzUsMTAgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBBY2Nlc3NpYmlsaXR5VGFibGVIZWFkZXJDb250YWluZXIgOiBwdWJsaWMg
QWNjZXNzaWJpbGl0eU1vY2tPYmplY3QgewotICAgIAotcHJpdmF0ZToKLSAgICBBY2Nlc3NpYmls
aXR5VGFibGVIZWFkZXJDb250YWluZXIoKTsKK2NsYXNzIEFjY2Vzc2liaWxpdHlUYWJsZUhlYWRl
ckNvbnRhaW5lciBmaW5hbCA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdCB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVRhYmxlSGVhZGVyQ29udGFp
bmVyPiBjcmVhdGUoKTsKICAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5VGFibGVIZWFkZXJDb250
YWluZXIoKTsKQEAgLTUwLDkgKzQ3LDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIExheW91dFJl
Y3QgZWxlbWVudFJlY3QoKSBjb25zdCBvdmVycmlkZTsKICAgICAKIHByaXZhdGU6Ci0gICAgTGF5
b3V0UmVjdCBtX2hlYWRlclJlY3Q7CisgICAgQWNjZXNzaWJpbGl0eVRhYmxlSGVhZGVyQ29udGFp
bmVyKCk7CiAgICAgCiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25v
cmVkKCkgY29uc3Qgb3ZlcnJpZGU7CisKKyAgICBMYXlvdXRSZWN0IG1faGVhZGVyUmVjdDsKIH07
IAogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmggYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5oCmluZGV4IGYxZmUwMzIyMzk0
NzM1YjYwMDgxZDdhNDU1MjEwM2RjMzBkYzE2OWYuLmYwODkxYmU1MjkxY2YwZTY2MDQ3MzljNDQz
ZTFjMjQyMzE3NTM5ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVRhYmxlUm93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuaApAQCAtMzYsMTQgKzM2LDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgQWNjZXNzaWJpbGl0eVRhYmxlOwogCiBjbGFzcyBBY2Nlc3NpYmlsaXR5
VGFibGVSb3cgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCB7Ci0gICAgCi1wcm90
ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgQWNjZXNzaWJpbGl0eVRhYmxlUm93KFJlbmRlck9iamVjdCop
OwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlUYWJsZVJvdz4g
Y3JlYXRlKFJlbmRlck9iamVjdCopOwogICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlUYWJsZVJv
dygpOwotICAgIAotICAgIHZpcnR1YWwgYm9vbCBpc1RhYmxlUm93KCkgY29uc3Qgb3ZlcnJpZGU7
CiAKICAgICAvLyByZXRyaWV2ZXMgdGhlICJyb3ciIGhlYWRlciAoYSB0aCB0YWcgaW4gdGhlIHJp
Z2h0bW9zdCBjb2x1bW4pCiAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBoZWFkZXJP
YmplY3QoKTsKQEAgLTU3LDEzICs1MiwxNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBhcHBlbmRDaGls
ZChBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAgICAgCiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCBB
Y2Nlc3NpYmlsaXR5Um9sZSBkZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZSgpIG92ZXJyaWRlOwor
ICAgIGV4cGxpY2l0IEFjY2Vzc2liaWxpdHlUYWJsZVJvdyhSZW5kZXJPYmplY3QqKTsKKworICAg
IHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgZGV0ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUoKSBv
dmVycmlkZSBmaW5hbDsKIAogcHJpdmF0ZToKKyAgICB2aXJ0dWFsIGJvb2wgaXNUYWJsZVJvdygp
IGNvbnN0IG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eU9iamVjdCog
b2JzZXJ2YWJsZU9iamVjdCgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgYm9v
bCBjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwor
CiAgICAgaW50IG1fcm93SW5kZXg7Ci0gICAgCi0gICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBvYnNlcnZhYmxlT2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBib29s
IGNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3Qgb3ZlcnJpZGU7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>