<?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>138190</bug_id>
          
          <creation_ts>2014-10-29 15:21:06 -0700</creation_ts>
          <short_desc>Clean up virtual functions in inspector/</short_desc>
          <delta_ts>2014-10-29 16:28:56 -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>Web Inspector</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1044866</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-29 15:21:06 -0700</bug_when>
    <thetext>Clean up virtual functions in inspector/ by:
- Making virtual functions final when possible
- Making classes final when possible
- Explicitly marking functions / destructors as virtual when they are
  inherently virtual
- Making isXXX() virtual functions private on XXX classes to avoid
      unnecessary type checks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044867</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-10-29 15:21:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/18817528&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044868</commentid>
    <comment_count>2</comment_count>
      <attachid>240631</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-29 15:23:39 -0700</bug_when>
    <thetext>Created attachment 240631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044874</commentid>
    <comment_count>3</comment_count>
      <attachid>240631</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-10-29 15:43:11 -0700</bug_when>
    <thetext>Comment on attachment 240631
Patch

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

r=me!

&gt; Source/WebCore/inspector/PageConsoleAgent.h:50
&gt; -    virtual bool isWorkerAgent() const override { return false; }
&gt; -
&gt;  private:
&gt; +    virtual bool isWorkerAgent() const override { return false; }

I never really understood this (moving public virtual functions to private). They are still public, so why not leave it public?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044875</commentid>
    <comment_count>4</comment_count>
      <attachid>240631</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-29 15:45:43 -0700</bug_when>
    <thetext>Comment on attachment 240631
Patch

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

&gt;&gt; Source/WebCore/inspector/PageConsoleAgent.h:50
&gt;&gt; +    virtual bool isWorkerAgent() const override { return false; }
&gt; 
&gt; I never really understood this (moving public virtual functions to private). They are still public, so why not leave it public?

Calling PageConsoleAgent::isWorkerAgent() should give you a compile error now because it *is* private (if the instance is a PageConsoleAgent, not a generic WebConsoleAgent). This makes sure we don&apos;t do unnecessary type checks in the code as explained in the Changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044905</commentid>
    <comment_count>5</comment_count>
      <attachid>240631</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-29 16:28:52 -0700</bug_when>
    <thetext>Comment on attachment 240631
Patch

Clearing flags on attachment: 240631

Committed r175355: &lt;http://trac.webkit.org/changeset/175355&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044906</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-29 16:28:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240631</attachid>
            <date>2014-10-29 15:23:39 -0700</date>
            <delta_ts>2014-10-29 16:28:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138190-20141029152347.patch</filename>
            <type>text/plain</type>
            <size>19121</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1MzQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGEyNTJhNmZlYWU4MzBh
MGRhNTI4NmY1ZWJhNDdkNjAzNWE4ZGQ1OS4uZWVkYzVjYzkxNDY5NjRmZWY1ZmQ5OWRhMTNmMGU5
NDA2N2IyNGNhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE0LTEwLTI5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgdmlydHVhbCBm
dW5jdGlvbnMgaW4gaW5zcGVjdG9yLworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM4MTkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ2xlYW4gdXAgdmlydHVhbCBmdW5jdGlvbnMgaW4gaW5zcGVjdG9yLyBi
eToKKyAgICAgICAgLSBNYWtpbmcgdmlydHVhbCBmdW5jdGlvbnMgZmluYWwgd2hlbiBwb3NzaWJs
ZQorICAgICAgICAtIE1ha2luZyBjbGFzc2VzIGZpbmFsIHdoZW4gcG9zc2libGUKKyAgICAgICAg
LSBFeHBsaWNpdGx5IG1hcmtpbmcgZnVuY3Rpb25zIC8gZGVzdHJ1Y3RvcnMgYXMgdmlydHVhbCB3
aGVuIHRoZXkgYXJlCisgICAgICAgICAgaW5oZXJlbnRseSB2aXJ0dWFsCisgICAgICAgIC0gTWFr
aW5nIGlzWFhYKCkgdmlydHVhbCBmdW5jdGlvbnMgcHJpdmF0ZSBvbiBYWFggY2xhc3NlcyB0byBh
dm9pZAorICAgICAgICAgIHVubmVjZXNzYXJ5IHR5cGUgY2hlY2tzCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JB
cHBsaWNhdGlvbkNhY2hlQWdlbnQ6On5JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQpOiBE
ZWxldGVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JET01EZWJ1Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFz
ZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9j
YWwuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvclJlcGxheUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNl
QWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50Lmg6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1BhZ2VD
b25zb2xlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJv
bGxlci5oOgorCiAyMDE0LTEwLTI5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIGludmFsaWQgZmxvYXQgZnJvbSBSb290SW5saW5lQm94LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVB
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudC5oCmluZGV4IDllZWE2MjFlMThhN2Y4MTNmZDY3ODhiYTkwYWYxZDE3MjZiNTc5Yzgu
LmJjNmZlYmJhYmNmNzUyMjk0OTk5OGI1ODIzZTY5Njk2Njc4ZThiZmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmgKQEAgLTQ5LDExICs0OSwxMSBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiB0eXBl
ZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIAotY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNo
ZUFnZW50IDogcHVibGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6SW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUJhY2tlbmREaXNwYXRjaGVySGFuZGxlciB7CitjbGFzcyBJ
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdl
bnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yOjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQmFja2Vu
ZERpc3BhdGNoZXJIYW5kbGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JB
cHBsaWNhdGlvbkNhY2hlQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyos
IEluc3BlY3RvclBhZ2VBZ2VudCopOwotICAgIH5JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdl
bnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoKSB7
IH0KIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVj
dG9yOjpJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6Okluc3BlY3RvckJhY2tl
bmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJv
bnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6SW5zcGVjdG9yRGlzY29ubmVjdFJlYXNvbikgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NT
QWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oCmlu
ZGV4IGYyOTg2ZGNlNzRkODU2NmYwODJlM2RhOGU5ZWVjYWIzZjY4ODY3YmEuLjJhZGIxNjQ5NmYz
ZGU5YjZlZjFiZjBmOTllNjk4YzFjYzc3MzczOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oCkBAIC02NCw3ICs2NCw3IEBAIGNsYXNzIENoYW5nZVJl
Z2lvbk92ZXJzZXRUYXNrOwogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAotY2xhc3MgSW5zcGVj
dG9yQ1NTQWdlbnQKK2NsYXNzIEluc3BlY3RvckNTU0FnZW50IGZpbmFsCiAgICAgOiBwdWJsaWMg
SW5zcGVjdG9yQWdlbnRCYXNlCiAgICAgLCBwdWJsaWMgSW5zcGVjdG9yRE9NQWdlbnQ6OkRPTUxp
c3RlbmVyCiAgICAgLCBwdWJsaWMgSW5zcGVjdG9yOjpJbnNwZWN0b3JDU1NCYWNrZW5kRGlzcGF0
Y2hlckhhbmRsZXIKQEAgLTkwLDcgKzkwLDcgQEAgcHVibGljOgogICAgIH07CiAKICAgICBJbnNw
ZWN0b3JDU1NBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yRE9NQWdlbnQqKTsK
LSAgICB+SW5zcGVjdG9yQ1NTQWdlbnQoKTsKKyAgICB2aXJ0dWFsIH5JbnNwZWN0b3JDU1NBZ2Vu
dCgpOwogCiAgICAgc3RhdGljIENTU1N0eWxlUnVsZSogYXNDU1NTdHlsZVJ1bGUoQ1NTUnVsZSYp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdl
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCmluZGV4
IGNmZjA0OGJjYjQ1MmY2ZjhmMjE5N2QzNWJiYWE5OTMwYzY2ZGM2MmUuLjllYjMwZDFhMTQ4MjZm
ZWY2YzczOTA0ZjNkNDQ0OWRmYzg1NDQ4OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5oCkBAIC05Myw3ICs5Myw3IEBAIHN0cnVjdCBFdmVudExpc3Rl
bmVySW5mbyB7CiAgICAgY29uc3QgRXZlbnRMaXN0ZW5lclZlY3RvciBldmVudExpc3RlbmVyVmVj
dG9yOwogfTsKIAotY2xhc3MgSW5zcGVjdG9yRE9NQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQWdl
bnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yOjpJbnNwZWN0b3JET01CYWNrZW5kRGlzcGF0Y2hlckhh
bmRsZXIgeworY2xhc3MgSW5zcGVjdG9yRE9NQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9y
QWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yOjpJbnNwZWN0b3JET01CYWNrZW5kRGlzcGF0Y2hl
ckhhbmRsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckRPTUFnZW50KTsK
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTEwNyw3ICsxMDcsNyBA
QCBwdWJsaWM6CiAgICAgfTsKIAogICAgIEluc3BlY3RvckRPTUFnZW50KEluc3RydW1lbnRpbmdB
Z2VudHMqLCBJbnNwZWN0b3JQYWdlQWdlbnQqLCBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0TWFu
YWdlciosIEluc3BlY3Rvck92ZXJsYXkqKTsKLSAgICB+SW5zcGVjdG9yRE9NQWdlbnQoKTsKKyAg
ICB2aXJ0dWFsIH5JbnNwZWN0b3JET01BZ2VudCgpOwogCiAgICAgc3RhdGljIFN0cmluZyB0b0Vy
cm9yU3RyaW5nKGNvbnN0IEV4Y2VwdGlvbkNvZGUmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgKaW5kZXggYzYyYjI3OTA1
ZTU1MDlkYzBiMzczZTNhYzZjNGNjNmY0YTFlMjI3Mi4uNzc0OTFjZTFhOWRjZjk1Mzg3ZGIwMTIx
OGU5ZDQ1OTZkOWEyNDc4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oCkBAIC01Myw3ICs1Myw3IEBAIGNsYXNzIE5vZGU7
CiAKIHR5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOwogCi1jbGFzcyBJbnNwZWN0b3JET01EZWJ1
Z2dlckFnZW50IDogcHVibGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6
SW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6TGlzdGVuZXIsIHB1YmxpYyBJbnNwZWN0b3I6Okluc3Bl
Y3RvckRPTURlYnVnZ2VyQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyIHsKK2NsYXNzIEluc3BlY3Rv
ckRPTURlYnVnZ2VyQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJs
aWMgSW5zcGVjdG9yOjpJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpMaXN0ZW5lciwgcHVibGljIElu
c3BlY3Rvcjo6SW5zcGVjdG9yRE9NRGVidWdnZXJCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgewog
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQpOwogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oCmluZGV4IDY2YzczMjU3Yjll
YTg4YmQzZjJmMGZjOWNlMjlmMDJlMDRhNmMzMzQuLjZmZGIxOWRhNmUwMDQ0NWIxNGYwZDI4OTZj
M2MxMzUyNGNjMTFjZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JET01TdG9yYWdlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50LmgKQEAgLTUxLDExICs1MSwxMSBAQCBjbGFzcyBTdG9yYWdl
OwogCiB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIAotY2xhc3MgSW5zcGVjdG9yRE9NU3Rv
cmFnZUFnZW50IDogcHVibGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6
SW5zcGVjdG9yRE9NU3RvcmFnZUJhY2tlbmREaXNwYXRjaGVySGFuZGxlciB7CitjbGFzcyBJbnNw
ZWN0b3JET01TdG9yYWdlQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBw
dWJsaWMgSW5zcGVjdG9yOjpJbnNwZWN0b3JET01TdG9yYWdlQmFja2VuZERpc3BhdGNoZXJIYW5k
bGVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclBhZ2VBZ2Vu
dCopOwotICAgIH5JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoKTsKKyAgICB2aXJ0dWFsIH5JbnNw
ZWN0b3JET01TdG9yYWdlQWdlbnQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9u
dGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqLCBJbnNw
ZWN0b3I6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6SW5zcGVjdG9y
RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuaAppbmRleCA0OGJmYjIxODliYWU3MGMzNTdhMzBk
MmFkY2NhOGYzNzMzZjRmNTU2Li43N2VmZWRmMDg1NTY4NzVmOWJhOTU1Yzc5MWFiMDUzYjYyYWJm
Yzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJh
c2VBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFz
ZUFnZW50LmgKQEAgLTQ5LDExICs0OSwxMSBAQCBjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOwog
CiB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIAotY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VB
Z2VudCA6IHB1YmxpYyBJbnNwZWN0b3JBZ2VudEJhc2UsIHB1YmxpYyBJbnNwZWN0b3I6Okluc3Bl
Y3RvckRhdGFiYXNlQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyIHsKK2NsYXNzIEluc3BlY3RvckRh
dGFiYXNlQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5z
cGVjdG9yOjpJbnNwZWN0b3JEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVySGFuZGxlciB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSW5zcGVjdG9y
RGF0YWJhc2VBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKik7Ci0gICAgfkluc3BlY3RvckRhdGFi
YXNlQWdlbnQoKTsKKyAgICB2aXJ0dWFsIH5JbnNwZWN0b3JEYXRhYmFzZUFnZW50KCk7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6SW5z
cGVjdG9yRnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsLmgKaW5kZXggZTE5Y2U0MTg4YzAxYmY2YWEzNmEyNjM4MjVlM2ZjNzZmODMzZWNi
MS4uZTRhMjk3MGQzZjViN2E5NmJmMDRmN2FhZWQ1ZDVjOWRjZTUyNmRiZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bC5oCkBAIC01OCwxNSArNTgsMTUgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9yQ29udHJvbGxlciosIFBhZ2UqLCBzdGQ6
OnVuaXF1ZV9wdHI8U2V0dGluZ3M+KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5JbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsKCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFs
IHZvaWQgd2luZG93T2JqZWN0Q2xlYXJlZCgpIG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JU
IHZpcnR1YWwgdm9pZCB3aW5kb3dPYmplY3RDbGVhcmVkKCkgb3ZlcnJpZGUgZmluYWw7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIGZyb250ZW5kTG9hZGVkKCkgb3ZlcnJpZGU7CiAK
LSAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgbW92ZVdpbmRvd0J5KGZsb2F0IHgsIGZs
b2F0IHkpIG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBtb3ZlV2lu
ZG93QnkoZmxvYXQgeCwgZmxvYXQgeSkgb3ZlcnJpZGUgZmluYWw7CiAKLSAgICBXRUJDT1JFX0VY
UE9SVCB2aXJ0dWFsIHZvaWQgcmVxdWVzdFNldERvY2tTaWRlKERvY2tTaWRlKSBvdmVycmlkZTsK
LSAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgY2hhbmdlQXR0YWNoZWRXaW5kb3dIZWln
aHQodW5zaWduZWQpIG92ZXJyaWRlOwotICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBj
aGFuZ2VBdHRhY2hlZFdpbmRvd1dpZHRoKHVuc2lnbmVkKSBvdmVycmlkZTsKLSAgICBXRUJDT1JF
X0VYUE9SVCB2aXJ0dWFsIHZvaWQgb3BlbkluTmV3VGFiKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVy
cmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgcmVxdWVzdFNldERvY2tTaWRl
KERvY2tTaWRlKSBvdmVycmlkZSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZv
aWQgY2hhbmdlQXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQpIG92ZXJyaWRlIGZpbmFsOwor
ICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBjaGFuZ2VBdHRhY2hlZFdpbmRvd1dpZHRo
KHVuc2lnbmVkKSBvdmVycmlkZSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZv
aWQgb3BlbkluTmV3VGFiKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZSBmaW5hbDsKICAgICB2
aXJ0dWFsIGJvb2wgY2FuU2F2ZSgpICBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgdm9pZCBzYXZlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGJvb2wsIGJvb2wp
IG92ZXJyaWRlIHsgfQogICAgIHZpcnR1YWwgdm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJiwgY29u
c3QgU3RyaW5nJikgb3ZlcnJpZGUgeyB9CkBAIC03NCw5ICs3NCw5IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgYXR0YWNoV2luZG93KERvY2tTaWRlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGRldGFjaFdpbmRvdygpID0gMDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBz
ZW5kTWVzc2FnZVRvQmFja2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIG92ZXJyaWRlOworICAg
IFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBzZW5kTWVzc2FnZVRvQmFja2VuZChjb25zdCBT
dHJpbmcmIG1lc3NhZ2UpIG92ZXJyaWRlIGZpbmFsOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdmly
dHVhbCBib29sIGlzVW5kZXJUZXN0KCkgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgdmly
dHVhbCBib29sIGlzVW5kZXJUZXN0KCkgb3ZlcnJpZGUgZmluYWw7CiAKICAgICBXRUJDT1JFX0VY
UE9SVCBib29sIGNhbkF0dGFjaFdpbmRvdygpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
RG9ja2luZ1VuYXZhaWxhYmxlKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuaAppbmRleCAxMDE2OTQxOGI5ZDM5OTQxYjdlYjlj
MDJjNzUzNjY2NWM5MmNjMGVkLi44YWY0ZTE3Yjk3NDk0OTY1MjE1NGViOWFlZGQ3MmExZmQwOTE5
ODI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhl
ZERCQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhl
ZERCQWdlbnQuaApAQCAtNDcsMTAgKzQ3LDEwIEBAIGNsYXNzIEluc3BlY3RvclBhZ2VBZ2VudDsK
IAogdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiAKLWNsYXNzIEluc3BlY3RvckluZGV4ZWRE
QkFnZW50IDogcHVibGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6SW5z
cGVjdG9ySW5kZXhlZERCQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyIHsKK2NsYXNzIEluc3BlY3Rv
ckluZGV4ZWREQkFnZW50IGZpbmFsIDogcHVibGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGlj
IEluc3BlY3Rvcjo6SW5zcGVjdG9ySW5kZXhlZERCQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyIHsK
IHB1YmxpYzoKICAgICBJbnNwZWN0b3JJbmRleGVkREJBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRz
KiwgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdE1hbmFnZXIqLCBJbnNwZWN0b3JQYWdlQWdlbnQq
KTsKLSAgICB+SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQoKTsKKyAgICB2aXJ0dWFsIH5JbnNwZWN0
b3JJbmRleGVkREJBZ2VudCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rv
cjo6SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpJbnNwZWN0b3JEaXNj
b25uZWN0UmVhc29uKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckxheWVyVHJlZUFnZW50LmgKaW5kZXggOWQzNjQ5MTYxMzkzYjE4Mjg2NDI1NDJh
YjczMGE5NjFiMmMwODFiYi4uNmRhYjFhZTg4M2I2NWRkOWU4YjRmNjE2MDEwNzNlMzg0NTE0ODc3
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJl
ZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJl
ZUFnZW50LmgKQEAgLTQ2LDExICs0NiwxMSBAQCBjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOwog
CiB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIAotY2xhc3MgSW5zcGVjdG9yTGF5ZXJUcmVl
QWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yOjpJbnNw
ZWN0b3JMYXllclRyZWVCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgeworY2xhc3MgSW5zcGVjdG9y
TGF5ZXJUcmVlQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMg
SW5zcGVjdG9yOjpJbnNwZWN0b3JMYXllclRyZWVCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGV4cGxpY2l0IEluc3Bl
Y3RvckxheWVyVHJlZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqKTsKLSAgICB+SW5zcGVjdG9y
TGF5ZXJUcmVlQWdlbnQoKTsKKyAgICB2aXJ0dWFsIH5JbnNwZWN0b3JMYXllclRyZWVBZ2VudCgp
OwogCiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3I6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6SW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9u
dGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpJbnNwZWN0b3JEaXNjb25uZWN0UmVhc29uKSBvdmVy
cmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdl
QWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaApp
bmRleCAzODlhZjZmODI0YzgyNzdmY2JjMzY2M2ExNGZiMzdhZDE1NTgzNDMyLi4yNDY5OTVmN2Ji
YjQwZTg3NTk0M2VhNjI3NGE5NjFiMTAzYTIzZjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC02Niw3ICs2Niw3IEBAIGNsYXNzIFRleHRS
ZXNvdXJjZURlY29kZXI7CiAKIHR5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOwogCi1jbGFzcyBJ
bnNwZWN0b3JQYWdlQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5z
cGVjdG9yOjpJbnNwZWN0b3JQYWdlQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyIHsKK2NsYXNzIElu
c3BlY3RvclBhZ2VBZ2VudCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JBZ2VudEJhc2UsIHB1Ymxp
YyBJbnNwZWN0b3I6Okluc3BlY3RvclBhZ2VCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgewogICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclBhZ2VBZ2VudCk7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JSZXBsYXlBZ2VudC5oCmluZGV4IGU4ODhkNTAwYjJkYjE3YTMxMzc3ZWZhNzg5NGY2
ZmVhNGU5Y2VjMzIuLjVhZTM5ODQxMDQ4NTY0YzJmNzZiMmRiZTNjNTUxNDE1N2U2ZjhkNmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5oCkBA
IC02Miw3ICs2Miw3IEBAIGNsYXNzIEluc3BlY3RvclJlcGxheUFnZW50IGZpbmFsCiAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yUmVwbGF5QWdlbnQpOwogcHVibGljOgogICAgIElu
c3BlY3RvclJlcGxheUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JQYWdlQWdl
bnQqKTsKLSAgICB+SW5zcGVjdG9yUmVwbGF5QWdlbnQoKTsKKyAgICB2aXJ0dWFsIH5JbnNwZWN0
b3JSZXBsYXlBZ2VudCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQg
d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpJbnNwZWN0b3JEaXNjb25u
ZWN0UmVhc29uKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudC5oCmluZGV4IDJlMjAzYTY1ZDNjZWE5MTYxYThlY2VhYTVmODAx
NmFkMjNjOTM2N2MuLjI1MjI1NTVjMGNiMDY0NGFjNzhjNDNlM2FmOWEzN2RjYWJkZjg1MGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQu
aApAQCAtNzUsMTEgKzc1LDExIEBAIHN0cnVjdCBXZWJTb2NrZXRGcmFtZTsKIAogdHlwZWRlZiBT
dHJpbmcgRXJyb3JTdHJpbmc7CiAKLWNsYXNzIEluc3BlY3RvclJlc291cmNlQWdlbnQgOiBwdWJs
aWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yOjpJbnNwZWN0b3JOZXR3b3Jr
QmFja2VuZERpc3BhdGNoZXJIYW5kbGVyIHsKK2NsYXNzIEluc3BlY3RvclJlc291cmNlQWdlbnQg
ZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yOjpJbnNw
ZWN0b3JOZXR3b3JrQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyIHsKICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JSZXNvdXJjZUFnZW50KEluc3RydW1l
bnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JQYWdlQWdlbnQqLCBJbnNwZWN0b3JDbGllbnQqKTsKLSAg
ICB+SW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpOworICAgIHZpcnR1YWwgfkluc3BlY3RvclJlc291
cmNlQWdlbnQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tl
bmQoSW5zcGVjdG9yOjpJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6Okluc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxE
ZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6SW5zcGVjdG9yRGlzY29ubmVjdFJl
YXNvbikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yU3R5bGVTaGVldC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0
eWxlU2hlZXQuaAppbmRleCA3ZmFmYzI5ODY0OWIxYzhlMWQxNDk0Yzc2NGQ1OTA4YmEwZGIwMWJm
Li5mZWVhZTM4Mjc0Njk4ZTM0YTk2YjMwNjc3YzhmMjc2NWNmMjlhMWI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmgKQEAgLTI1Nyw3ICsyNTcs
NyBAQCBwcml2YXRlOgogICAgIExpc3RlbmVyKiBtX2xpc3RlbmVyOwogfTsKIAotY2xhc3MgSW5z
cGVjdG9yU3R5bGVTaGVldEZvcklubGluZVN0eWxlIDogcHVibGljIEluc3BlY3RvclN0eWxlU2hl
ZXQgeworY2xhc3MgSW5zcGVjdG9yU3R5bGVTaGVldEZvcklubGluZVN0eWxlIGZpbmFsIDogcHVi
bGljIEluc3BlY3RvclN0eWxlU2hlZXQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PEluc3BlY3RvclN0eWxlU2hlZXRGb3JJbmxpbmVTdHlsZT4gY3JlYXRlKEluc3BlY3RvclBhZ2VB
Z2VudCosIGNvbnN0IFN0cmluZyYgaWQsIFBhc3NSZWZQdHI8RWxlbWVudD4sIEluc3BlY3Rvcjo6
UHJvdG9jb2w6OkNTUzo6U3R5bGVTaGVldE9yaWdpbiwgTGlzdGVuZXIqKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggYjZj
YmIxZWYwN2QzOGNjYTc3MmM5MWI3MjRiYWNjOGNkMGI4OTQ1My4uOGEwNzk4NDI1NGZkZTY5NzIw
MmM3ZTczYzgxZDQwOTNlNDQ1NGE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC0xMTQsNyArMTE0LDcgQEAgZW51bSBjbGFz
cyBUaW1lbGluZVJlY29yZFR5cGUgewogICAgIFdlYlNvY2tldERlc3Ryb3kKIH07CiAKLWNsYXNz
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQKK2NsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgZmlu
YWwKICAgICA6IHB1YmxpYyBJbnNwZWN0b3JBZ2VudEJhc2UKICAgICAsIHB1YmxpYyBJbnNwZWN0
b3I6Okluc3BlY3RvclRpbWVsaW5lQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyCiAgICAgLCBwdWJs
aWMgSW5zcGVjdG9yOjpTY3JpcHREZWJ1Z0xpc3RlbmVyIHsKQEAgLTEyNCw3ICsxMjQsNyBAQCBw
dWJsaWM6CiAgICAgZW51bSBJbnNwZWN0b3JUeXBlIHsgUGFnZUluc3BlY3RvciwgV29ya2VySW5z
cGVjdG9yIH07CiAKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3RydW1lbnRpbmdBZ2Vu
dHMqLCBJbnNwZWN0b3JQYWdlQWdlbnQqLCBJbnNwZWN0b3JUeXBlLCBJbnNwZWN0b3JDbGllbnQq
KTsKLSAgICB+SW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpOworICAgIHZpcnR1YWwgfkluc3BlY3Rv
clRpbWVsaW5lQWdlbnQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQoSW5zcGVjdG9yOjpJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6
Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lk
IHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6SW5zcGVjdG9yRGlzY29u
bmVjdFJlYXNvbikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JXb3JrZXJBZ2VudC5oCmluZGV4IDZmMDU1OGI0OGVhNTk3YWM3MGI2NTNhZDRjMDAwZTZh
OTIzNTk2NWEuLjM5YmU2ZDAxZGM0YjIzNjM1ZWQ3OTRhMjE5OTZlNzM0ZmE0OTljZWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5oCkBAIC00
OCwxMSArNDgsMTEgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eTsKIAogdHlwZWRlZiBT
dHJpbmcgRXJyb3JTdHJpbmc7CiAKLWNsYXNzIEluc3BlY3RvcldvcmtlckFnZW50IDogcHVibGlj
IEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6SW5zcGVjdG9yV29ya2VyQmFj
a2VuZERpc3BhdGNoZXJIYW5kbGVyIHsKK2NsYXNzIEluc3BlY3RvcldvcmtlckFnZW50IGZpbmFs
IDogcHVibGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6SW5zcGVjdG9y
V29ya2VyQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBJbnNwZWN0b3JXb3JrZXJBZ2VudChJbnN0cnVt
ZW50aW5nQWdlbnRzKik7Ci0gICAgfkluc3BlY3RvcldvcmtlckFnZW50KCk7CisgICAgdmlydHVh
bCB+SW5zcGVjdG9yV29ya2VyQWdlbnQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVG
cm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqLCBJ
bnNwZWN0b3I6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6SW5zcGVj
dG9yRGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1BhZ2VDb25zb2xlQWdlbnQuaAppbmRleCBhNzM2YmFlMTRmYWZlMTY1NTRkNDZlNGY3MDUxYWFk
N2MxM2IxOTFiLi4yNWQ5YWYzOTY0OTI0MDVhYzIzM2VlYjk0YTRkZDJmYTI3NGE4MTRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmgKQEAgLTQ2LDkgKzQ2
LDggQEAgcHVibGljOgogICAgIFBhZ2VDb25zb2xlQWdlbnQoV2ViSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKiwgSW5zcGVjdG9yRE9NQWdlbnQqKTsKICAgICB2aXJ0dWFsIH5QYWdlQ29uc29sZUFnZW50
KCkgeyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgaXNXb3JrZXJBZ2VudCgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGZhbHNlOyB9Ci0KIHByaXZhdGU6CisgICAgdmlydHVhbCBib29sIGlzV29ya2Vy
QWdlbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9p
ZCBjbGVhck1lc3NhZ2VzKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lk
IGFkZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcmLCBpbnQgbm9kZUlkKSBvdmVycmlkZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyLmgKaW5kZXggMTE4OWQzN2QxZmU2ZDc0MzE1ZjFkNzI2OTk5MDc3OGQzZjY4YzAwNS4uMTVi
YWJjYTc1MTJlMDY5ZGZjMmFjMjQzYjc0M2RlOGJiOTk1ZTUzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC02MCw3
ICs2MCw3IEBAIGNsYXNzIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXIgZmluYWwgOiBwdWJsaWMg
SW5zcGVjdG9yOjpJbnNwZWN0b3JFbnZpcm9ubWVudCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcihX
b3JrZXJHbG9iYWxTY29wZSYpOwotICAgIH5Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyKCk7Cisg
ICAgdmlydHVhbCB+V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpOwogCiAgICAgdm9pZCBjb25u
ZWN0RnJvbnRlbmQoKTsKICAgICB2b2lkIGRpc2Nvbm5lY3RGcm9udGVuZChJbnNwZWN0b3I6Oklu
c3BlY3RvckRpc2Nvbm5lY3RSZWFzb24pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>