<?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>33904</bug_id>
          
          <creation_ts>2010-01-20 08:28:55 -0800</creation_ts>
          <short_desc>Web Inspector: Add support for addMessage/clearMessages to SourceFrame2.</short_desc>
          <delta_ts>2010-01-25 03:01:45 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>182811</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-01-20 08:28:55 -0800</bug_when>
    <thetext>Pretty much copied from SourceFrame + added corresponding TextEditor support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182817</commentid>
    <comment_count>1</comment_count>
      <attachid>47037</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-01-20 08:34:31 -0800</bug_when>
    <thetext>Created attachment 47037
[PATCH] Proposed change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182864</commentid>
    <comment_count>2</comment_count>
      <attachid>47037</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-01-20 11:06:16 -0800</bug_when>
    <thetext>Comment on attachment 47037
[PATCH] Proposed change.

What does the &quot;pack&quot; in packAndRepaintAll mean?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184225</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-01-25 03:01:45 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 47037 [details])
&gt; What does the &quot;pack&quot; in packAndRepaintAll mean?

Div decorations are managed by the text editor clients. Sometimes decoration affects line height and we need to invalidate line offsets. That&apos;s what pack is for. I think I&apos;ll come up with the better name in a follow up change.

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/WebCore.gypi
	M	WebCore/WebCore.vcproj/WebCore.vcproj
	M	WebCore/inspector/front-end/SourceFrame2.js
	M	WebCore/inspector/front-end/TextEditor.js
	M	WebCore/inspector/front-end/TextEditorHighlighter.js
	M	WebCore/inspector/front-end/WebKit.qrc
	M	WebCore/inspector/front-end/inspector.css
	M	WebCore/inspector/front-end/inspector.html
	A	WebCore/inspector/front-end/textEditor.css
Committed r53795</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47037</attachid>
            <date>2010-01-20 08:34:31 -0800</date>
            <delta_ts>2010-01-20 11:06:15 -0800</delta_ts>
            <desc>[PATCH] Proposed change.</desc>
            <filename>messages</filename>
            <type>text/plain</type>
            <size>21357</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmMzZjMwZi4uZjExMjlmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MyBAQAorMjAxMC0wMS0yMCAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgc3VwcG9ydCBmb3IgYWRkTWVz
c2FnZS9jbGVhck1lc3NhZ2VzIHRvIFNvdXJjZUZyYW1lMi4KKworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM5MDQKKworICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lMi5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Tb3VyY2VGcmFtZTIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lMi5w
cm90b3R5cGUuYWRkTWVzc2FnZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUy
LnByb3RvdHlwZS5jbGVhck1lc3NhZ2VzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VG
cmFtZTIucHJvdG90eXBlLl9pbmNyZW1lbnRNZXNzYWdlUmVwZWF0Q291bnQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lMi5wcm90b3R5cGUuX2FkZEV4aXN0aW5nTWVzc2FnZXNU
b1NvdXJjZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUyLnByb3RvdHlwZS5f
YWRkTWVzc2FnZVRvU291cmNlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZTIu
cHJvdG90eXBlLnJlc2l6ZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRp
dG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3IpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlRleHRFZGl0b3IucHJvdG90eXBlLnNldERpdkRlY29yYXRpb24pOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3IucHJvdG90eXBlLl9saW5lSGVpZ2h0KToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yLnByb3RvdHlwZS5faGlnaGxpZ2h0Q2hhbmdlZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvci5wcm90b3R5cGUucGFja0FuZFJlcGFp
bnRBbGwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3IucHJvdG90eXBlLl91cGRh
dGVTaXplKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yLnByb3RvdHlwZS5fcmVw
YWludEFsbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvci5wcm90b3R5cGUuX3Bh
aW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yLnByb3RvdHlwZS5fcGFpbnRM
aW5lc0NvbnRpbnVhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvci5wcm90
b3R5cGUuX21vdXNlT3V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yLnByb3Rv
dHlwZS5fdXBkYXRlRGl2RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRF
ZGl0b3IucHJvdG90eXBlLl9wb3NpdGlvbkRpdkRlY29yYXRpb24pOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRleHRFZGl0b3IucHJvdG90eXBlLl9wYWludFNlbGVjdGlvbik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGV4dEVkaXRvci5wcm90b3R5cGUuX3JlcGxhY2VTZWxlY3Rpb25XaXRoKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JIaWdobGlnaHRlci5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9ySGlnaGxpZ2h0ZXIucHJvdG90eXBlLnVw
ZGF0ZUhpZ2hsaWdodCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJj
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzczoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3M6IEFkZGVkLgorCiAyMDEwLTAxLTE0ICBFcmljIFNl
aWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBObyByZXZpZXcsIHJvbGxpbmcgb3V0
IHI1MzI0OC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKaW5kZXggM2JhOGRjZC4uYzg3MDU5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTM3NTEsNiArMzc1MSw3IEBA
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9hdWRpdHMuY3NzJywKICAgICAgICAg
ICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MnLAogICAgICAgICAgICAgJ2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yU3ludGF4SGlnaGxpZ2h0LmNzcycsCisgICAgICAg
ICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC90ZXh0RWRpdG9yLmNzcycsCiAgICAgICAgIF0sCiAg
ICAgICAgICd3ZWJpbnNwZWN0b3JfaW1hZ2VfZmlsZXMnOiBbCiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCmluZGV4IDE4YWFjNGMuLjBkMDAyM2YgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNDI4OTIsNiArNDI4OTIsMTAgQEAKIAkJCQkJPg0KIAkJ
CQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxm
cm9udC1lbmRcdGV4dEVkaXRvci5jc3MiDQorCQkJCQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZp
bGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxUZXh0UHJvbXB0
LmpzIg0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lMi5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Tb3VyY2VGcmFtZTIuanMKaW5kZXggOTM3OTJmOC4uZjhiYmVmMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lMi5qcworKysgYi9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUyLmpzCkBAIC0zNSw2ICszNSw5IEBAIFdlYklu
c3BlY3Rvci5Tb3VyY2VGcmFtZTIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fZWRpdG9yLmxpbmVO
dW1iZXJEZWNvcmF0b3IgPSBuZXcgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRMaW5lTnVtYmVyRGVj
b3JhdG9yKHRoaXMpOwogICAgIHRoaXMuX2VkaXRvci5saW5lRGVjb3JhdG9yID0gbmV3IFdlYklu
c3BlY3Rvci5FeGVjdXRpb25MaW5lRGVjb3JhdG9yKHRoaXMpOwogICAgIHRoaXMuX2VkaXRvci5y
ZWFkT25seSA9IHRydWU7CisgICAgdGhpcy5fbWVzc2FnZXMgPSBbXTsKKyAgICB0aGlzLl9yb3dN
ZXNzYWdlcyA9IHt9OworICAgIHRoaXMuX21lc3NhZ2VCdWJibGVzID0ge307CiAgICAgdGhpcy5l
bGVtZW50ID0gdGhpcy5fZWRpdG9yLmVsZW1lbnQ7CiB9CiAKQEAgLTQ0LDYgKzQ3LDEwNyBAQCBX
ZWJJbnNwZWN0b3IuU291cmNlRnJhbWUyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fZWRp
dG9yLnRleHQgPSB0ZXh0OwogICAgIH0sCiAKKyAgICBhZGRNZXNzYWdlOiBmdW5jdGlvbihtc2cp
CisgICAgeworICAgICAgICAvLyBEb24ndCBhZGQgdGhlIG1lc3NhZ2UgaWYgdGhlcmUgaXMgbm8g
bWVzc2FnZSBvciB2YWxpZCBsaW5lIG9yIGlmIHRoZSBtc2cgaXNuJ3QgYW4gZXJyb3Igb3Igd2Fy
bmluZy4KKyAgICAgICAgaWYgKCFtc2cubWVzc2FnZSB8fCBtc2cubGluZSA8PSAwIHx8ICFtc2cu
aXNFcnJvck9yV2FybmluZygpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB0aGlzLl9t
ZXNzYWdlcy5wdXNoKG1zZyk7CisgICAgICAgIHRoaXMuX2FkZE1lc3NhZ2VUb1NvdXJjZShtc2cp
OworICAgIH0sCisKKyAgICBjbGVhck1lc3NhZ2VzOiBmdW5jdGlvbigpCisgICAgeworICAgICAg
ICBmb3IgKHZhciBsaW5lIGluIHRoaXMuX21lc3NhZ2VCdWJibGVzKSB7CisgICAgICAgICAgICB2
YXIgYnViYmxlID0gdGhpcy5fbWVzc2FnZUJ1YmJsZXNbbGluZV07CisgICAgICAgICAgICBidWJi
bGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChidWJibGUpOworICAgICAgICB9CisKKyAgICAgICAg
dGhpcy5fbWVzc2FnZXMgPSBbXTsKKyAgICAgICAgdGhpcy5fcm93TWVzc2FnZXMgPSB7fTsKKyAg
ICAgICAgdGhpcy5fbWVzc2FnZUJ1YmJsZXMgPSB7fTsKKyAgICAgICAgdGhpcy5fZWRpdG9yLnBh
Y2tBbmRSZXBhaW50QWxsKCk7CisgICAgfSwKKworICAgIF9pbmNyZW1lbnRNZXNzYWdlUmVwZWF0
Q291bnQ6IGZ1bmN0aW9uKG1zZywgcmVwZWF0RGVsdGEpCisgICAgeworICAgICAgICBpZiAoIW1z
Zy5fcmVzb3VyY2VNZXNzYWdlTGluZUVsZW1lbnQpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgaWYgKCFtc2cuX3Jlc291cmNlTWVzc2FnZVJlcGVhdENvdW50RWxlbWVudCkgeworICAg
ICAgICAgICAgdmFyIHJlcGVhdGVkRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNw
YW4iKTsKKyAgICAgICAgICAgIG1zZy5fcmVzb3VyY2VNZXNzYWdlTGluZUVsZW1lbnQuYXBwZW5k
Q2hpbGQocmVwZWF0ZWRFbGVtZW50KTsKKyAgICAgICAgICAgIG1zZy5fcmVzb3VyY2VNZXNzYWdl
UmVwZWF0Q291bnRFbGVtZW50ID0gcmVwZWF0ZWRFbGVtZW50OworICAgICAgICB9CisKKyAgICAg
ICAgbXNnLnJlcGVhdENvdW50ICs9IHJlcGVhdERlbHRhOworICAgICAgICBtc2cuX3Jlc291cmNl
TWVzc2FnZVJlcGVhdENvdW50RWxlbWVudC50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0
cmluZygiIChyZXBlYXRlZCAlZCB0aW1lcykiLCBtc2cucmVwZWF0Q291bnQpOworICAgIH0sCisK
KyAgICBfYWRkRXhpc3RpbmdNZXNzYWdlc1RvU291cmNlOiBmdW5jdGlvbigpCisgICAgeworICAg
ICAgICB2YXIgbGVuZ3RoID0gdGhpcy5fbWVzc2FnZXMubGVuZ3RoOworICAgICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQorICAgICAgICAgICAgdGhpcy5fYWRkTWVzc2FnZVRv
U291cmNlKHRoaXMuX21lc3NhZ2VzW2ldKTsKKyAgICB9LAorCisgICAgX2FkZE1lc3NhZ2VUb1Nv
dXJjZTogZnVuY3Rpb24obXNnKQorICAgIHsKKyAgICAgICAgaWYgKG1zZy5saW5lID49IHRoaXMu
X3RleHRNb2RlbC5saW5lc0NvdW50KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHZh
ciBtZXNzYWdlQnViYmxlRWxlbWVudCA9IHRoaXMuX21lc3NhZ2VCdWJibGVzW21zZy5saW5lXTsK
KyAgICAgICAgaWYgKCFtZXNzYWdlQnViYmxlRWxlbWVudCB8fCBtZXNzYWdlQnViYmxlRWxlbWVu
dC5ub2RlVHlwZSAhPT0gTm9kZS5FTEVNRU5UX05PREUgfHwgIW1lc3NhZ2VCdWJibGVFbGVtZW50
Lmhhc1N0eWxlQ2xhc3MoIndlYmtpdC1odG1sLW1lc3NhZ2UtYnViYmxlIikpIHsKKyAgICAgICAg
ICAgIG1lc3NhZ2VCdWJibGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
CisgICAgICAgICAgICBtZXNzYWdlQnViYmxlRWxlbWVudC5jbGFzc05hbWUgPSAid2Via2l0LWh0
bWwtbWVzc2FnZS1idWJibGUiOworICAgICAgICAgICAgdGhpcy5fbWVzc2FnZUJ1YmJsZXNbbXNn
LmxpbmVdID0gbWVzc2FnZUJ1YmJsZUVsZW1lbnQ7CisgICAgICAgICAgICB0aGlzLl9lZGl0b3Iu
c2V0RGl2RGVjb3JhdGlvbihtc2cubGluZSwgbWVzc2FnZUJ1YmJsZUVsZW1lbnQpOworICAgICAg
ICB9CisKKyAgICAgICAgdmFyIHJvd01lc3NhZ2VzID0gdGhpcy5fcm93TWVzc2FnZXNbbXNnLmxp
bmVdOworICAgICAgICBpZiAoIXJvd01lc3NhZ2VzKSB7CisgICAgICAgICAgICByb3dNZXNzYWdl
cyA9IFtdOworICAgICAgICAgICAgdGhpcy5fcm93TWVzc2FnZXNbbXNnLmxpbmVdID0gcm93TWVz
c2FnZXM7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJvd01lc3Nh
Z2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBpZiAocm93TWVzc2FnZXNbaV0uaXNFcXVh
bChtc2csIHRydWUpKSB7CisgICAgICAgICAgICAgICAgdGhpcy5faW5jcmVtZW50TWVzc2FnZVJl
cGVhdENvdW50KHJvd01lc3NhZ2VzW2ldLCBtc2cucmVwZWF0RGVsdGEpOworICAgICAgICAgICAg
ICAgIHRoaXMuX2VkaXRvci5wYWNrQW5kUmVwYWludEFsbCgpOworICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHJvd01lc3NhZ2VzLnB1
c2gobXNnKTsKKworICAgICAgICB2YXIgaW1hZ2VVUkw7CisgICAgICAgIHN3aXRjaCAobXNnLmxl
dmVsKSB7CisgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNz
YWdlTGV2ZWwuRXJyb3I6CisgICAgICAgICAgICAgICAgbWVzc2FnZUJ1YmJsZUVsZW1lbnQuYWRk
U3R5bGVDbGFzcygid2Via2l0LWh0bWwtZXJyb3ItbWVzc2FnZSIpOworICAgICAgICAgICAgICAg
IGltYWdlVVJMID0gIkltYWdlcy9lcnJvckljb24ucG5nIjsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VM
ZXZlbC5XYXJuaW5nOgorICAgICAgICAgICAgICAgIG1lc3NhZ2VCdWJibGVFbGVtZW50LmFkZFN0
eWxlQ2xhc3MoIndlYmtpdC1odG1sLXdhcm5pbmctbWVzc2FnZSIpOworICAgICAgICAgICAgICAg
IGltYWdlVVJMID0gIkltYWdlcy93YXJuaW5nSWNvbi5wbmciOworICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisKKyAgICAgICAgdmFyIG1lc3NhZ2VMaW5lRWxlbWVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBtZXNzYWdlTGluZUVsZW1lbnQuY2xh
c3NOYW1lID0gIndlYmtpdC1odG1sLW1lc3NhZ2UtbGluZSI7CisgICAgICAgIG1lc3NhZ2VCdWJi
bGVFbGVtZW50LmFwcGVuZENoaWxkKG1lc3NhZ2VMaW5lRWxlbWVudCk7CisKKyAgICAgICAgLy8g
Q3JlYXRlIHRoZSBpbWFnZSBlbGVtZW50IGluIHRoZSBJbnNwZWN0b3IncyBkb2N1bWVudCBzbyB3
ZSBjYW4gdXNlIHJlbGF0aXZlIGltYWdlIFVSTHMuCisgICAgICAgIHZhciBpbWFnZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOworICAgICAgICBpbWFnZS5zcmMgPSBpbWFnZVVSTDsK
KyAgICAgICAgaW1hZ2UuY2xhc3NOYW1lID0gIndlYmtpdC1odG1sLW1lc3NhZ2UtaWNvbiI7Cisg
ICAgICAgIG1lc3NhZ2VMaW5lRWxlbWVudC5hcHBlbmRDaGlsZChpbWFnZSk7CisgICAgICAgIG1l
c3NhZ2VMaW5lRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtc2cu
bWVzc2FnZSkpOworCisgICAgICAgIG1zZy5fcmVzb3VyY2VNZXNzYWdlTGluZUVsZW1lbnQgPSBt
ZXNzYWdlTGluZUVsZW1lbnQ7CisKKyAgICAgICAgdGhpcy5fZWRpdG9yLnBhY2tBbmRSZXBhaW50
QWxsKCk7CisgICAgfSwKKwogICAgIGdldCBleGVjdXRpb25MaW5lKCkKICAgICB7CiAgICAgICAg
IHJldHVybiB0aGlzLl9leGVjdXRpb25MaW5lOwpAQCAtNzAsNyArMTc0LDcgQEAgV2ViSW5zcGVj
dG9yLlNvdXJjZUZyYW1lMi5wcm90b3R5cGUgPSB7CiAKICAgICByZXNpemU6IGZ1bmN0aW9uKCkK
ICAgICB7Ci0gICAgICAgIHRoaXMuX2VkaXRvci51cGRhdGVDYW52YXNTaXplKCk7CisgICAgICAg
IHRoaXMuX2VkaXRvci5wYWNrQW5kUmVwYWludEFsbCgpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3IuanMgYi9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvVGV4dEVkaXRvci5qcwppbmRleCA4MTA1NWI3Li43ZmEyNzE2IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dEVkaXRvci5qcworKysg
Yi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dEVkaXRvci5qcwpAQCAtNTgsMjAgKzU4
LDIwIEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yID0gZnVuY3Rpb24ocGxhdGZvcm0pCiAgICAg
dGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKGN1cnNvckVsZW1lbnQpOwogICAgIHRoaXMuX2N1
cnNvciA9IG5ldyBXZWJJbnNwZWN0b3IuVGV4dEN1cnNvcihjdXJzb3JFbGVtZW50KTsKIAotICAg
IHRoaXMuX2NvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB0aGlzLl9zY3JvbGwu
YmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fc2hlZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIs
IHRoaXMuX21vdXNlVXAuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fc2hlZXQuYWRkRXZlbnRMaXN0
ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fbW91c2VEb3duLmJpbmQodGhpcykpOwotICAgIHRoaXMu
X3NoZWV0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIHRoaXMuX21vdXNlTW92ZS5iaW5k
KHRoaXMpKTsKLSAgICB0aGlzLl9zaGVldC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsIHRo
aXMuX21vdXNlT3V0LmJpbmQodGhpcykpOwotICAgIHRoaXMuX3NoZWV0LmFkZEV2ZW50TGlzdGVu
ZXIoImRibGNsaWNrIiwgdGhpcy5fZGJsQ2xpY2suYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5lbGVt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9rZXlEb3duLmJpbmQodGhpcykp
OwotICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0ZXh0SW5wdXQiLCB0aGlzLl90
ZXh0SW5wdXQuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIo
ImJlZm9yZWNvcHkiLCB0aGlzLl9iZWZvcmVDb3B5LmJpbmQodGhpcykpOwotICAgIHRoaXMuZWxl
bWVudC5hZGRFdmVudExpc3RlbmVyKCJjb3B5IiwgdGhpcy5fY29weS5iaW5kKHRoaXMpKTsKLSAg
ICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JlY3V0IiwgdGhpcy5fYmVmb3Jl
Q3V0LmJpbmQodGhpcykpOwotICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjdXQi
LCB0aGlzLl9jdXQuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVu
ZXIoImJlZm9yZXBhc3RlIiwgdGhpcy5fYmVmb3JlUGFzdGUuYmluZCh0aGlzKSk7Ci0gICAgdGhp
cy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIiwgdGhpcy5fcGFzdGUuYmluZCh0aGlz
KSk7CisgICAgdGhpcy5fY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHRoaXMu
X3Njcm9sbC5iaW5kKHRoaXMpLCBmYWxzZSk7CisgICAgdGhpcy5fc2hlZXQuYWRkRXZlbnRMaXN0
ZW5lcigibW91c2V1cCIsIHRoaXMuX21vdXNlVXAuYmluZCh0aGlzKSwgZmFsc2UpOworICAgIHRo
aXMuX3NoZWV0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX21vdXNlRG93bi5i
aW5kKHRoaXMpLCBmYWxzZSk7CisgICAgdGhpcy5fc2hlZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91
c2Vtb3ZlIiwgdGhpcy5fbW91c2VNb3ZlLmJpbmQodGhpcyksIGZhbHNlKTsKKyAgICB0aGlzLl9z
aGVldC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsIHRoaXMuX21vdXNlT3V0LmJpbmQodGhp
cyksIGZhbHNlKTsKKyAgICB0aGlzLl9zaGVldC5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIs
IHRoaXMuX2RibENsaWNrLmJpbmQodGhpcyksIGZhbHNlKTsKKyAgICB0aGlzLmVsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX2tleURvd24uYmluZCh0aGlzKSwgZmFsc2Up
OworICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0ZXh0SW5wdXQiLCB0aGlzLl90
ZXh0SW5wdXQuYmluZCh0aGlzKSwgZmFsc2UpOworICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExp
c3RlbmVyKCJiZWZvcmVjb3B5IiwgdGhpcy5fYmVmb3JlQ29weS5iaW5kKHRoaXMpLCBmYWxzZSk7
CisgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNvcHkiLCB0aGlzLl9jb3B5LmJp
bmQodGhpcyksIGZhbHNlKTsKKyAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYmVm
b3JlY3V0IiwgdGhpcy5fYmVmb3JlQ3V0LmJpbmQodGhpcyksIGZhbHNlKTsKKyAgICB0aGlzLmVs
ZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY3V0IiwgdGhpcy5fY3V0LmJpbmQodGhpcyksIGZhbHNl
KTsKKyAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JlcGFzdGUiLCB0aGlz
Ll9iZWZvcmVQYXN0ZS5iaW5kKHRoaXMpLCBmYWxzZSk7CisgICAgdGhpcy5lbGVtZW50LmFkZEV2
ZW50TGlzdGVuZXIoInBhc3RlIiwgdGhpcy5fcGFzdGUuYmluZCh0aGlzKSwgZmFsc2UpOwogCiAg
ICAgdGhpcy5fZGVzaXJlZENhcmV0Q29sdW1uID0gMDsKICAgICB0aGlzLl9zY3JvbGxMZWZ0ID0g
MDsKQEAgLTEzNyw2ICsxMzcsMTkgQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3IucHJvdG90eXBl
ID0gewogICAgICAgICB0aGlzLl9zZXRTZWxlY3Rpb25FbmQoZW5kTGluZSwgZW5kQ29sdW1uKTsK
ICAgICB9LAogCisgICAgc2V0RGl2RGVjb3JhdGlvbjogZnVuY3Rpb24obGluZU51bWJlciwgZWxl
bWVudCkKKyAgICB7CisgICAgICAgIHZhciBkaXZEZWNvcmF0aW9uID0gdGhpcy5fdGV4dE1vZGVs
LmdldEF0dHJpYnV0ZShsaW5lTnVtYmVyLCAiZGl2LWRlY29yYXRpb24iKTsKKyAgICAgICAgaWYg
KGRpdkRlY29yYXRpb24gJiYgZGl2RGVjb3JhdGlvbi5lbGVtZW50ICYmIGRpdkRlY29yYXRpb24u
ZWxlbWVudC5wYXJlbnROb2RlKQorICAgICAgICAgICAgZGl2RGVjb3JhdGlvbi5lbGVtZW50LnBh
cmVudE5vZGUucmVtb3ZlQ2hpbGQoZGl2RGVjb3JhdGlvbi5lbGVtZW50KTsKKworICAgICAgICBk
aXZEZWNvcmF0aW9uID0geyBlbGVtZW50OiBlbGVtZW50IH07CisgICAgICAgIHRoaXMuZWxlbWVu
dC5hcHBlbmRDaGlsZChlbGVtZW50KTsKKworICAgICAgICB0aGlzLl90ZXh0TW9kZWwuc2V0QXR0
cmlidXRlKGxpbmVOdW1iZXIsICJkaXYtZGVjb3JhdGlvbiIsIGRpdkRlY29yYXRpb24pOworICAg
ICAgICB0aGlzLnBhY2tBbmRSZXBhaW50QWxsKCk7CisgICAgfSwKKwogICAgIF9vZmZzZXRUb0xp
bmU6IGZ1bmN0aW9uKG9mZnNldCkKICAgICB7CiAgICAgICAgIGlmIChvZmZzZXQgPiB0aGlzLl9s
aW5lT2Zmc2V0c0NhY2hlW3RoaXMuX2xpbmVPZmZzZXRzQ2FjaGUubGVuZ3RoIC0gMV0pIHsKQEAg
LTE3OSw3ICsxOTIsMTAgQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3IucHJvdG90eXBlID0gewog
CiAgICAgX2xpbmVIZWlnaHQ6IGZ1bmN0aW9uKGxpbmVOdW1iZXIpCiAgICAgewotICAgICAgICBy
ZXR1cm4gdGhpcy5fZGVidWdNb2RlID8gdGhpcy5fdGV4dExpbmVIZWlnaHQgKiAoMSArIGxpbmVO
dW1iZXIgJSAzKSA6IHRoaXMuX3RleHRMaW5lSGVpZ2h0OworICAgICAgICB2YXIgZGl2RGVjb3Jh
dGlvbiA9IHRoaXMuX3RleHRNb2RlbC5nZXRBdHRyaWJ1dGUobGluZU51bWJlciwgImRpdi1kZWNv
cmF0aW9uIik7CisgICAgICAgIGlmIChkaXZEZWNvcmF0aW9uKQorICAgICAgICAgICAgcmV0dXJu
IDIgKiB0aGlzLl90ZXh0TGluZUhlaWdodCArIGRpdkRlY29yYXRpb24uZWxlbWVudC5jbGllbnRI
ZWlnaHQ7CisgICAgICAgIHJldHVybiB0aGlzLl90ZXh0TGluZUhlaWdodDsKICAgICB9LAogCiAg
ICAgcmV2ZWFsOiBmdW5jdGlvbihsaW5lLCBjb2x1bW4pIHsKQEAgLTIzOSwxMiArMjU1LDI1IEBA
IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yLnByb3RvdHlwZSA9IHsKIAogICAgIF9oaWdobGlnaHRD
aGFuZ2VkOiBmdW5jdGlvbihmcm9tTGluZSwgdG9MaW5lKQogICAgIHsKKyAgICAgICAgaWYgKHRo
aXMuX211dGVIaWdobGlnaHRMaXN0ZW5lcikKKyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAg
ICB0aGlzLl9pbnZhbGlkYXRlTGluZXMoZnJvbUxpbmUsIHRvTGluZSk7CiAgICAgICAgIHRoaXMu
X3BhaW50KCk7CiAgICAgfSwKIAorICAgIHBhY2tBbmRSZXBhaW50QWxsOiBmdW5jdGlvbigpCisg
ICAgeworICAgICAgICB0aGlzLl9zZXRDb2FsZXNjaW5nVXBkYXRlKHRydWUpOworICAgICAgICB0
aGlzLl9saW5lT2Zmc2V0c0NhY2hlID0gWzBdOworICAgICAgICB0aGlzLl91cGRhdGVTaXplKDAs
IHRoaXMuX3RleHRNb2RlbC5saW5lc0NvdW50KTsKKyAgICAgICAgdGhpcy5fcmVwYWludEFsbCgp
OworICAgICAgICB0aGlzLl9zZXRDb2FsZXNjaW5nVXBkYXRlKGZhbHNlKTsKKyAgICB9LAorCiAg
ICAgX3VwZGF0ZVNpemU6IGZ1bmN0aW9uKHN0YXJ0TGluZSwgZW5kTGluZSkKICAgICB7CisgICAg
ICAgIHRoaXMuX3NldENvYWxlc2NpbmdVcGRhdGUodHJ1ZSk7CiAgICAgICAgIHZhciBndWFyZGVk
RW5kTGluZSA9IE1hdGgubWluKHRoaXMuX3RleHRNb2RlbC5saW5lc0NvdW50LCBlbmRMaW5lICsg
MSk7CiAgICAgICAgIHZhciBuZXdNYXhpbXVtID0gZmFsc2U7CiAgICAgICAgIGZvciAodmFyIGkg
PSBzdGFydExpbmU7IGkgPCBndWFyZGVkRW5kTGluZTsgKytpKSB7CkBAIC0yODAsOSArMzA5LDEw
IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRo
aXMuX2xpbmVOdW1iZXJEaWdpdHMgPSBuZXdMaW5lTnVtYmVyRGlnaXRzOwogICAgICAgICAgICAg
dGhpcy5fcmVwYWludEFsbCgpOwogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIC8vIENo
YW5nZXMgdG8gc2l6ZSBjYW4gY2hhbmdlIHRoZSBjbGllbnQgYXJlYSAoc2Nyb2xsZXJzIGNhbiBh
cHBlYXIvZGlzYXBwZWFyKQogICAgICAgICB0aGlzLnVwZGF0ZUNhbnZhc1NpemUoKTsKKyAgICAg
ICAgdGhpcy5fc2V0Q29hbGVzY2luZ1VwZGF0ZShmYWxzZSk7CiAgICAgfSwKIAogICAgIHVwZGF0
ZUNhbnZhc1NpemU6IGZ1bmN0aW9uKCkKQEAgLTI5Nyw5ICszMjcsNyBAQCBXZWJJbnNwZWN0b3Iu
VGV4dEVkaXRvci5wcm90b3R5cGUgPSB7CiAgICAgX3JlcGFpbnRBbGw6IGZ1bmN0aW9uKCkKICAg
ICB7CiAgICAgICAgIHRoaXMuX2ludmFsaWRhdGVMaW5lcygwLCB0aGlzLl90ZXh0TW9kZWwubGlu
ZXNDb3VudCk7Ci0gICAgICAgIHRoaXMucGFpbnRMaW5lTnVtYmVycygpOwogICAgICAgICB0aGlz
Ll9wYWludCgpOwotICAgICAgICB0aGlzLl91cGRhdGVDdXJzb3IodGhpcy5fc2VsZWN0aW9uLmVu
ZExpbmUsIHRoaXMuX3NlbGVjdGlvbi5lbmRDb2x1bW4pOwogICAgIH0sCiAKICAgICBfaW52YWxp
ZGF0ZUxpbmVzOiBmdW5jdGlvbihzdGFydExpbmUsIGVuZExpbmUpCkBAIC0zMjQsOSArMzUyLDE0
IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKHRo
aXMuX3BhaW50Q29hbGVzY2luZ0xldmVsKQogICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAg
IHRoaXMucGFpbnRMaW5lTnVtYmVycygpOworCiAgICAgICAgIGZvciAodmFyIGkgPSAwOyB0aGlz
Ll9kYW1hZ2UgJiYgaSA8IHRoaXMuX2RhbWFnZS5sZW5ndGg7ICsraSkKICAgICAgICAgICAgIHRo
aXMuX3BhaW50TGluZXModGhpcy5fZGFtYWdlW2ldLnN0YXJ0TGluZSwgdGhpcy5fZGFtYWdlW2ld
LmVuZExpbmUpOwogICAgICAgICBkZWxldGUgdGhpcy5fZGFtYWdlOworCisgICAgICAgIHRoaXMu
X3VwZGF0ZURpdkRlY29yYXRpb25zKCk7CisgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnNvcih0aGlz
Ll9zZWxlY3Rpb24uZW5kTGluZSwgdGhpcy5fc2VsZWN0aW9uLmVuZENvbHVtbik7CiAgICAgfSwK
IAogICAgIF9wYWludExpbmVzOiBmdW5jdGlvbihmaXJzdExpbmUsIGxhc3RMaW5lKQpAQCAtMzc0
LDkgKzQwNywxMSBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvci5wcm90b3R5cGUgPSB7CiAKICAg
ICAgICAgdGhpcy5fcGFpbnRTZWxlY3Rpb24oZmlyc3RMaW5lLCBsYXN0TGluZSk7CiAKLSAgICAg
ICAgaWYgKHRoaXMuX2hpZ2hsaWdodGluZ0VuYWJsZWQpCisgICAgICAgIGlmICh0aGlzLl9oaWdo
bGlnaHRpbmdFbmFibGVkKSB7CisgICAgICAgICAgICB0aGlzLl9tdXRlSGlnaGxpZ2h0TGlzdGVu
ZXIgPSB0cnVlOwogICAgICAgICAgICAgdGhpcy5faGlnaGxpZ2h0ZXIuaGlnaGxpZ2h0KGxhc3RM
aW5lKTsKLQorICAgICAgICAgICAgZGVsZXRlIHRoaXMuX211dGVIaWdobGlnaHRMaXN0ZW5lcjsK
KyAgICAgICAgfQogICAgICAgICBmb3IgKHZhciBpID0gZmlyc3RMaW5lOyBpIDwgbGFzdExpbmU7
ICsraSkgewogICAgICAgICAgICAgdmFyIGxpbmUgPSB0aGlzLl90ZXh0TW9kZWwubGluZShpKTsK
ICAgICAgICAgICAgIHZhciBsaW5lT2Zmc2V0ID0gdGhpcy5fbGluZVRvT2Zmc2V0KGkpIC0gdGhp
cy5fc2Nyb2xsVG9wOwpAQCAtMzg0LDYgKzQxOSwxMCBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRv
ci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBpZiAodGhpcy5fbGluZURlY29yYXRvcikKICAg
ICAgICAgICAgICAgICB0aGlzLl9saW5lRGVjb3JhdG9yLmRlY29yYXRlKGksIHRoaXMuX2N0eCwg
dGhpcy5fbGluZU51bWJlcldpZHRoIC0gMSwgbGluZU9mZnNldCwgdGhpcy5fY2FudmFzLndpZHRo
IC0gdGhpcy5fbGluZU51bWJlcldpZHRoICsgMSwgdGhpcy5fbGluZUhlaWdodChpKSwgdGhpcy5f
dGV4dExpbmVIZWlnaHQpOwogCisgICAgICAgICAgICB2YXIgZGl2RGVjb3JhdGlvbiA9IHRoaXMu
X3RleHRNb2RlbC5nZXRBdHRyaWJ1dGUoaSwgImRpdi1kZWNvcmF0aW9uIik7CisgICAgICAgICAg
ICBpZiAoZGl2RGVjb3JhdGlvbikKKyAgICAgICAgICAgICAgICB0aGlzLl9wb3NpdGlvbkRpdkRl
Y29yYXRpb24oaSwgZGl2RGVjb3JhdGlvbiwgdHJ1ZSk7CisKICAgICAgICAgICAgIGlmICghdGhp
cy5faGlnaGxpZ2h0aW5nRW5hYmxlZCkgewogICAgICAgICAgICAgICAgIHRoaXMuX2N0eC5maWxs
U3R5bGUgPSAicmdiKDAsMCwwKSI7CiAgICAgICAgICAgICAgICAgdGhpcy5fY3R4LmZpbGxUZXh0
KGxpbmUsIHRoaXMuX2xpbmVOdW1iZXJXaWR0aCAtIHRoaXMuX3Njcm9sbExlZnQsIGxpbmVPZmZz
ZXQgKyB0aGlzLl90ZXh0TGluZUhlaWdodCk7CkBAIC00OTQsNyArNTMzLDYgQEAgV2ViSW5zcGVj
dG9yLlRleHRFZGl0b3IucHJvdG90eXBlID0gewogCiAgICAgX21vdXNlT3V0OiBmdW5jdGlvbihl
KQogICAgIHsKLSAgICAgICAgdGhpcy5faXNEcmFnZ2luZyA9IGZhbHNlOwogICAgIH0sCiAKICAg
ICBfZGJsQ2xpY2s6IGZ1bmN0aW9uKGUpCkBAIC02NzgsNiArNzE2LDI3IEBAIFdlYkluc3BlY3Rv
ci5UZXh0RWRpdG9yLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fdXBkYXRlQ3Vyc29yKGVu
ZC5saW5lLCBlbmQuY29sdW1uKTsKICAgICB9LAogCisgICAgX3VwZGF0ZURpdkRlY29yYXRpb25z
OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB2YXIgZmlyc3RMaW5lID0gdGhpcy5fb2Zmc2V0
VG9MaW5lKHRoaXMuX3Njcm9sbFRvcCkgLSAxOworICAgICAgICB2YXIgbGFzdExpbmUgPSB0aGlz
Ll9vZmZzZXRUb0xpbmUodGhpcy5fc2Nyb2xsVG9wICsgdGhpcy5fY2FudmFzLmhlaWdodCkgKyAx
OworCisgICAgICAgIHZhciBsaW5lc0NvdW50ID0gdGhpcy5fdGV4dE1vZGVsLmxpbmVzQ291bnQ7
CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGluZXNDb3VudDsgKytpKSB7CisgICAgICAg
ICAgICB2YXIgZGl2RGVjb3JhdGlvbiA9IHRoaXMuX3RleHRNb2RlbC5nZXRBdHRyaWJ1dGUoaSwg
ImRpdi1kZWNvcmF0aW9uIik7CisgICAgICAgICAgICBpZiAoZGl2RGVjb3JhdGlvbikKKyAgICAg
ICAgICAgICAgICB0aGlzLl9wb3NpdGlvbkRpdkRlY29yYXRpb24oaSwgZGl2RGVjb3JhdGlvbiwg
aSA+IGZpcnN0TGluZSAmJiBpIDwgbGFzdExpbmUpOworICAgICAgICB9CisgICAgfSwKKworICAg
IF9wb3NpdGlvbkRpdkRlY29yYXRpb246IGZ1bmN0aW9uKGxpbmVOdW1iZXIsIGRpdkRlY29yYXRp
b24sIHZpc2libGUpCisgICAgeworICAgICAgICBkaXZEZWNvcmF0aW9uLmVsZW1lbnQuc3R5bGUu
cG9zaXRpb24gPSAiYWJzb2x1dGUiOworICAgICAgICBkaXZEZWNvcmF0aW9uLmVsZW1lbnQuc3R5
bGUudG9wID0gdGhpcy5fbGluZVRvT2Zmc2V0KGxpbmVOdW1iZXIpIC0gdGhpcy5fc2Nyb2xsVG9w
ICsgdGhpcy5fdGV4dExpbmVIZWlnaHQgKyAicHgiOworICAgICAgICBkaXZEZWNvcmF0aW9uLmVs
ZW1lbnQuc3R5bGUubGVmdCA9IHRoaXMuX2xpbmVOdW1iZXJXaWR0aCArICJweCI7CisgICAgICAg
IGRpdkRlY29yYXRpb24uZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgibWF4LXdpZHRoIiwgKHRo
aXMuX2NhbnZhcy53aWR0aCAtIDIwMCkgKyAicHgiKTsKKyAgICB9LAorCiAgICAgX3VwZGF0ZUN1
cnNvcjogZnVuY3Rpb24obGluZSwgY29sdW1uKQogICAgIHsKICAgICAgICAgaWYgKGxpbmUgPj0g
dGhpcy5fdGV4dE1vZGVsLmxpbmVzQ291bnQpCkBAIC03MjMsNyArNzgyLDcgQEAgV2ViSW5zcGVj
dG9yLlRleHRFZGl0b3IucHJvdG90eXBlID0gewogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAg
ICAgICAgICAgdG8gPSB0aGlzLl9jYW52YXMud2lkdGg7CiAKLSAgICAgICAgICAgIHRoaXMuX2N0
eC5maWxsUmVjdChmcm9tLCB0aGlzLl9saW5lVG9PZmZzZXQoaSkgLSB0aGlzLl9zY3JvbGxUb3As
IHRvIC0gZnJvbSwgdGhpcy5fdGV4dExpbmVIZWlnaHQpOworICAgICAgICAgICAgdGhpcy5fY3R4
LmZpbGxSZWN0KGZyb20sIHRoaXMuX2xpbmVUb09mZnNldChpKSAtIHRoaXMuX3Njcm9sbFRvcCwg
dG8gLSBmcm9tLCB0aGlzLl9saW5lSGVpZ2h0KGkpKTsKICAgICAgICAgfQogICAgICAgICB0aGlz
Ll9jdHguZmlsbFN0eWxlID0gInJnYigwLCAwLCAwKSI7CiAgICAgfSwKQEAgLTc4MCw3ICs4Mzks
NiBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvci5wcm90b3R5cGUgPSB7CiAgICAgX3JlcGxhY2VT
ZWxlY3Rpb25XaXRoOiBmdW5jdGlvbihuZXdUZXh0LCBvdmVycmlkZVJhbmdlKQogICAgIHsKICAg
ICAgICAgdmFyIHJhbmdlID0gb3ZlcnJpZGVSYW5nZSB8fCB0aGlzLl9zZWxlY3Rpb24ucmFuZ2Uo
KTsKLQogICAgICAgICB0aGlzLl9zZXRDb2FsZXNjaW5nVXBkYXRlKHRydWUpOwogICAgICAgICB2
YXIgbmV3UmFuZ2UgPSB0aGlzLl90ZXh0TW9kZWwuc2V0VGV4dChyYW5nZSwgbmV3VGV4dCk7CiAg
ICAgICAgIHRoaXMuX3NldENhcmV0TG9jYXRpb24obmV3UmFuZ2UuZW5kTGluZSwgbmV3UmFuZ2Uu
ZW5kQ29sdW1uKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0
RWRpdG9ySGlnaGxpZ2h0ZXIuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dEVk
aXRvckhpZ2hsaWdodGVyLmpzCmluZGV4IDA2NGVkMGMuLjBiOTE5MGQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9ySGlnaGxpZ2h0ZXIuanMKKysrIGIv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JIaWdobGlnaHRlci5qcwpAQCAt
MTA2LDEwICsxMDYsMTIgQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JIaWdobGlnaHRlci5wcm90
b3R5cGUgPSB7CiAgICAgdXBkYXRlSGlnaGxpZ2h0OiBmdW5jdGlvbihzdGFydExpbmUsIGVuZExp
bmUpCiAgICAgewogICAgICAgICAvLyBTdGFydCBsaW5lIHdhcyBlZGl0ZWQsIHdlIHNob3VsZCBo
aWdobGlnaHQgZXZlcnl0aGluZyB1bnRpbCBlbmRMaW5lIHN5bmNocm9ub3VzbHkuCi0gICAgICAg
IHZhciBzdGF0ZSA9IHRoaXMuX3RleHRNb2RlbC5nZXRBdHRyaWJ1dGUoc3RhcnRMaW5lLCAiaGln
aGxpZ2h0ZXItc3RhdGUiKTsKLSAgICAgICAgaWYgKCFzdGF0ZSB8fCBzdGF0ZS5vdXRPZkRhdGUp
IHsKLSAgICAgICAgICAgIC8vIEhpZ2hsaWdodGVyIGRpZCBub3QgcmVhY2ggdGhpcyBwb2ludCB5
ZXQsIG5vdGhpbmcgdG8gdXBkYXRlLiBJdCB3aWxsIHJlYWNoIGl0IG9uIHN1YnNlcXVlbnQgdGlt
ZXIgdGljayBhbmQgZG8gdGhlIGpvYi4KLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYg
KHN0YXJ0TGluZSkgeworICAgICAgICAgICAgdmFyIHN0YXRlID0gdGhpcy5fdGV4dE1vZGVsLmdl
dEF0dHJpYnV0ZShzdGFydExpbmUgLSAxLCAiaGlnaGxpZ2h0ZXItc3RhdGUiKTsKKyAgICAgICAg
ICAgIGlmICghc3RhdGUgfHwgc3RhdGUub3V0T2ZEYXRlKSB7CisgICAgICAgICAgICAgICAgLy8g
SGlnaGxpZ2h0ZXIgZGlkIG5vdCByZWFjaCB0aGlzIHBvaW50IHlldCwgbm90aGluZyB0byB1cGRh
dGUuIEl0IHdpbGwgcmVhY2ggaXQgb24gc3Vic2VxdWVudCB0aW1lciB0aWNrIGFuZCBkbyB0aGUg
am9iLgorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQog
CiAgICAgICAgIHZhciByZXN0b3JlZCA9IHRoaXMuX2hpZ2hsaWdodExpbmVzKHN0YXJ0TGluZSwg
ZW5kTGluZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0
LnFyYyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCmluZGV4IDVlMTVj
ZDYuLjg2OTAzOWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJL
aXQucXJjCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCkBAIC04
OCw2ICs4OCw3IEBACiAgICAgPGZpbGU+YXVkaXRzLmNzczwvZmlsZT4KICAgICA8ZmlsZT5pbnNw
ZWN0b3IuY3NzPC9maWxlPgogICAgIDxmaWxlPmluc3BlY3RvclN5bnRheEhpZ2hsaWdodC5jc3M8
L2ZpbGU+CisgICAgPGZpbGU+dGV4dEVkaXRvci5jc3M8L2ZpbGU+CiAgICAgPGZpbGU+SW1hZ2Vz
L2JhY2sucG5nPC9maWxlPgogICAgIDxmaWxlPkltYWdlcy9jaGVja2VyLnBuZzwvZmlsZT4KICAg
ICA8ZmlsZT5JbWFnZXMvY2xlYXJDb25zb2xlQnV0dG9uR2x5cGgucG5nPC9maWxlPgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MgYi9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwppbmRleCAxOGU1MmYzLi4yMDAyZjAw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwor
KysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwpAQCAtMzc4OCw4
ICszNzg4LDEyIEBAIG9sLmJyZWFrcG9pbnQtbGlzdCB7CiAgICAgb3ZlcmZsb3c6IGF1dG87CiB9
CiAKLS50ZXh0LWVkaXRvci1zaGVldCwgLnRleHQtZWRpdG9yLWNsaXAgeworLnRleHQtZWRpdG9y
LWNsaXAgewogICAgIG9wYWNpdHk6IDA7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRv
cDowOworICAgIGxlZnQ6MDsKKyAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKIH0KIAogLnRleHQt
ZWRpdG9yLWN1cnNvciB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmh0bWwgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0
bWwKaW5kZXggOTY2MmMwMi4uMzUyM2RhOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9pbnNwZWN0b3IuaHRtbApAQCAtMzAsNiArMzAsNyBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogPGhlYWQ+CiAgICAg
PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJz
ZXQ9dXRmLTgiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhy
ZWY9ImF1ZGl0cy5jc3MiPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9j
c3MiIGhyZWY9InRleHRFZGl0b3IuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5
cGU9InRleHQvY3NzIiBocmVmPSJpbnNwZWN0b3IuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxl
c2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJpbnNwZWN0b3JTeW50YXhIaWdobGlnaHQuY3Nz
Ij4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ1dGlsaXRpZXMuanMi
Pjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRF
ZGl0b3IuY3NzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0b3IuY3NzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNjBhODAKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3MKQEAgLTAsMCAr
MSw0MCBAQAorLndlYmtpdC1odG1sLW1lc3NhZ2UtYnViYmxlIHsKKyAgICAtd2Via2l0LWJveC1z
aGFkb3c6IGJsYWNrIDBweCAycHggNXB4OworICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogOXB4
OworICAgIC13ZWJraXQtYm9yZGVyLWZpdDogbGluZXM7CisgICAgZm9udC1zaXplOiAxMHB4Owor
ICAgIGZvbnQtZmFtaWx5OiBMdWNpZGEgR3JhbmRlLCBzYW5zLXNlcmlmOworICAgIGZvbnQtd2Vp
Z2h0OiBib2xkOworICAgIG1hcmdpbjogNnB4IDI1cHg7CisgICAgcGFkZGluZzogMCA3cHggMXB4
OworICAgIHotaW5kZXg6MjA7Cit9CisKKy53ZWJraXQtaHRtbC13YXJuaW5nLW1lc3NhZ2Ugewor
ICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxMDAlLCA2MiUsIDQyJSk7CisgICAgYm9yZGVyOiAy
cHggc29saWQgcmdiKDEwMCUsIDUyJSwgMjElKTsKK30KKworLndlYmtpdC1odG1sLWVycm9yLW1l
c3NhZ2UgeworICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxMDAlLCA0MiUsIDQyJSk7CisgICAg
Ym9yZGVyOiAycHggc29saWQgcmdiKDEwMCUsIDMxJSwgMzElKTsKK30KKworLndlYmtpdC1odG1s
LW1lc3NhZ2UtbGluZSB7CisgICAgcGFkZGluZy1sZWZ0OiAyM3B4OworICAgIHRleHQtaW5kZW50
OiAtMjBweDsKK30KKworLndlYmtpdC1odG1sLW1lc3NhZ2UtbGluZS1ob3ZlciB7CisgICAgcGFk
ZGluZy1sZWZ0OiAyM3B4OworICAgIHRleHQtaW5kZW50OiAtMjBweDsKKyAgICB3aGl0ZS1zcGFj
ZTogYXV0bzsKKyAgICB0ZXh0LW92ZXJmbG93OiBhdXRvOworICAgIG92ZXJmbG93OiBhdXRvOwor
fQorCisud2Via2l0LWh0bWwtbWVzc2FnZS1pY29uIHsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgdG9wOiAycHg7CisgICAgbWFyZ2luOiAwIDRweDsKK30K
</data>
<flag name="review"
          id="29394"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>