<?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>37875</bug_id>
          
          <creation_ts>2010-04-20 11:30:18 -0700</creation_ts>
          <short_desc>Web Inspector: add basic script editing capabilities to the front-end.</short_desc>
          <delta_ts>2010-04-20 16:08:07 -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 (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>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>214795</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-04-20 11:30:18 -0700</bug_when>
    <thetext>This also contains a PoC implementation for the Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214800</commentid>
    <comment_count>1</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-04-20 11:35:17 -0700</bug_when>
    <thetext>Why only PoC for Chromium?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214802</commentid>
    <comment_count>2</comment_count>
      <attachid>53856</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-04-20 11:36:32 -0700</bug_when>
    <thetext>Created attachment 53856
[PATCH] Proposed change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214809</commentid>
    <comment_count>3</comment_count>
      <attachid>53856</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-04-20 11:46:58 -0700</bug_when>
    <thetext>Comment on attachment 53856
[PATCH] Proposed change.

&gt; +    canEditScripts: function()
&gt; +    {
&gt; +        return !!InspectorBackend.editScriptLine;
&gt; +    },
&gt; +
&gt; +    editScriptLine: function(sourceID, line, newContent, callback)
&gt; +    {
&gt; +        if (!this.canEditScripts())
&gt; +            return;
&gt; +        var callbackId = WebInspector.Callback.wrap(callback)
&gt; +        InspectorBackend.editScriptLine(callbackId, sourceID, line, newContent);
&gt; +    },
&gt; +
Consider inlining these methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214907</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-04-20 13:19:18 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/bindings/js/ScriptDebugServer.cpp
	M	WebCore/inspector/front-end/ScriptView.js
	M	WebCore/inspector/front-end/ScriptsPanel.js
	M	WebCore/inspector/front-end/SourceFrame.js
	M	WebCore/inspector/front-end/TextEditorHighlighter.js
	M	WebCore/inspector/front-end/TextEditorModel.js
	M	WebCore/inspector/front-end/TextViewer.js
	M	WebCore/inspector/front-end/inspector.js
	M	WebKit/chromium/ChangeLog
	M	WebKit/chromium/src/js/DebuggerAgent.js
	M	WebKit/chromium/src/js/DevTools.js
	M	WebKit/chromium/src/js/InspectorControllerImpl.js
Committed r57909</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215042</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-20 16:08:07 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/57909 might have broken Qt Windows 32-bit Debug
The following changes are on the blame list:
http://trac.webkit.org/changeset/57909
http://trac.webkit.org/changeset/57910
http://trac.webkit.org/changeset/57911
http://trac.webkit.org/changeset/57913
http://trac.webkit.org/changeset/57914
http://trac.webkit.org/changeset/57915
http://trac.webkit.org/changeset/57916
http://trac.webkit.org/changeset/57917
http://trac.webkit.org/changeset/57918</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53856</attachid>
            <date>2010-04-20 11:36:32 -0700</date>
            <delta_ts>2010-04-20 11:46:58 -0700</delta_ts>
            <desc>[PATCH] Proposed change.</desc>
            <filename>edit_line</filename>
            <type>text/plain</type>
            <size>20513</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjlkOTYyZi4uOWI2Nzk5MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxMC0wNC0yMCAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgYmFzaWMgc2NyaXB0IGVkaXRp
bmcgY2FwYWJpbGl0aWVzIHRvIHRoZSBmcm9udC1lbmQuCisKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3ODc1CisKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9TY3JpcHREZWJ1Z1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHREZWJ1Z1Nl
cnZlcjo6c2V0QnJlYWtwb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHREZWJ1Z1NlcnZl
cjo6cmVtb3ZlQnJlYWtwb2ludCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3Jp
cHRWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFZpZXcpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNjcmlwdFZpZXcucHJvdG90eXBlLl9lZGl0TGluZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU2NyaXB0Vmlldy5wcm90b3R5cGUuX2VkaXRMaW5lQ29tcGxldGUpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuX3Jlc291cmNlTG9hZGluZ0ZpbmlzaGVk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLmNhbkVkaXRT
Y3JpcHRzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLmVk
aXRTY3JpcHRMaW5lKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1l
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUudXBkYXRlQ29udGVudCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLl9jcmVhdGVWaWV3ZXJJZk5lZWRlZCk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9ySGlnaGxpZ2h0ZXIuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvckhpZ2hsaWdodGVyKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UZXh0RWRpdG9ySGlnaGxpZ2h0ZXIucHJvdG90eXBlLnJlc2V0KToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwucHJvdG90eXBlLmNvcHlSYW5nZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0Vmlld2VyLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRleHRWaWV3ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRWaWV3ZXIucHJv
dG90eXBlLnNldCBlZGl0Q2FsbGJhY2spOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRWaWV3
ZXIucHJvdG90eXBlLl9idWlsZENodW5rcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFZp
ZXdlci5wcm90b3R5cGUuX2hhbmRsZUtleURvd24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRl
eHRWaWV3ZXIucHJvdG90eXBlLl9oYW5kbGVEb3VibGVDbGljayk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGV4dFZpZXdlci5wcm90b3R5cGUuX2NvbW1pdEVkaXRpbmdMaW5lKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UZXh0Vmlld2VyLnByb3RvdHlwZS5fY2FuY2VsRWRpdGluZ0xpbmUpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLmRvY3VtZW50S2V5RG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IubG9nLmxv
Z01lc3NhZ2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmxvZyk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuaXNFZGl0aW5nQW55RmllbGQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLnN0YXJ0RWRp
dGluZy5jbGVhblVwQWZ0ZXJFZGl0aW5nKToKKwogMjAxMC0wNC0xNiAgSmF5IENpdmVsbGkgIDxq
Y2l2ZWxsaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6
a292LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5j
cHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmNwcAppbmRleCA1MzA1
ZGEzLi5hZGQyMTQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVn
U2VydmVyLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmNw
cApAQCAtMTM5LDYgKzEzOSw4IEBAIGJvb2wgU2NyaXB0RGVidWdTZXJ2ZXI6Omhhc0xpc3RlbmVy
c0ludGVyZXN0ZWRJblBhZ2UoUGFnZSogcGFnZSkKIHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OnNl
dEJyZWFrcG9pbnQoY29uc3QgU3RyaW5nJiBzb3VyY2VJRCwgdW5zaWduZWQgbGluZU51bWJlciwg
U2NyaXB0QnJlYWtwb2ludCBicmVha3BvaW50KQogewogICAgIGludHB0cl90IHNvdXJjZUlEVmFs
dWUgPSBzb3VyY2VJRC50b0ludFB0cigpOworICAgIGlmICghc291cmNlSURWYWx1ZSkKKyAgICAg
ICAgcmV0dXJuOwogICAgIEJyZWFrcG9pbnRzTWFwOjppdGVyYXRvciBpdCA9IG1fYnJlYWtwb2lu
dHMuZmluZChzb3VyY2VJRFZhbHVlKTsKICAgICBpZiAoaXQgPT0gbV9icmVha3BvaW50cy5lbmQo
KSkKICAgICAgICAgaXQgPSBtX2JyZWFrcG9pbnRzLnNldChzb3VyY2VJRFZhbHVlLCBTb3VyY2VC
cmVha3BvaW50cygpKS5maXJzdDsKQEAgLTE0OCw2ICsxNTAsOCBAQCB2b2lkIFNjcmlwdERlYnVn
U2VydmVyOjpzZXRCcmVha3BvaW50KGNvbnN0IFN0cmluZyYgc291cmNlSUQsIHVuc2lnbmVkIGxp
bmVOdW1iZQogdm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6cmVtb3ZlQnJlYWtwb2ludChjb25zdCBT
dHJpbmcmIHNvdXJjZUlELCB1bnNpZ25lZCBsaW5lTnVtYmVyKQogewogICAgIGludHB0cl90IHNv
dXJjZUlEVmFsdWUgPSBzb3VyY2VJRC50b0ludFB0cigpOworICAgIGlmICghc291cmNlSURWYWx1
ZSkKKyAgICAgICAgcmV0dXJuOwogICAgIEJyZWFrcG9pbnRzTWFwOjppdGVyYXRvciBpdCA9IG1f
YnJlYWtwb2ludHMuZmluZChzb3VyY2VJRFZhbHVlKTsKICAgICBpZiAoaXQgIT0gbV9icmVha3Bv
aW50cy5lbmQoKSkKICAgICAgICAgaXQtPnNlY29uZC5yZW1vdmUobGluZU51bWJlcik7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0Vmlldy5qcyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRWaWV3LmpzCmluZGV4IGVlY2VhZWEuLjNjNGMx
NmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRWaWV3Lmpz
CisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRWaWV3LmpzCkBAIC0zMyw3
ICszMyw4IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRWaWV3ID0gZnVuY3Rpb24oc2NyaXB0KQogCiAg
ICAgdGhpcy5fZnJhbWVOZWVkc1NldHVwID0gdHJ1ZTsKICAgICB0aGlzLl9zb3VyY2VGcmFtZVNl
dHVwID0gZmFsc2U7Ci0gICAgdGhpcy5zb3VyY2VGcmFtZSA9IG5ldyBXZWJJbnNwZWN0b3IuU291
cmNlRnJhbWUodGhpcy5lbGVtZW50LCB0aGlzLl9hZGRCcmVha3BvaW50LmJpbmQodGhpcyksIHRo
aXMuX3JlbW92ZUJyZWFrcG9pbnQuYmluZCh0aGlzKSk7CisgICAgdmFyIGNhbkVkaXRTY3JpcHRz
ID0gV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLmNhbkVkaXRTY3JpcHRzKCk7CisgICAgdGhp
cy5zb3VyY2VGcmFtZSA9IG5ldyBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUodGhpcy5lbGVtZW50
LCB0aGlzLl9hZGRCcmVha3BvaW50LmJpbmQodGhpcyksIHRoaXMuX3JlbW92ZUJyZWFrcG9pbnQu
YmluZCh0aGlzKSwgY2FuRWRpdFNjcmlwdHMgPyB0aGlzLl9lZGl0TGluZS5iaW5kKHRoaXMpIDog
bnVsbCk7CiB9CiAKIFdlYkluc3BlY3Rvci5TY3JpcHRWaWV3LnByb3RvdHlwZSA9IHsKQEAgLTcz
LDYgKzc0LDE2IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRWaWV3LnByb3RvdHlwZSA9IHsKICAgICAg
ICAgV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLmFkZEJyZWFrcG9pbnQoYnJlYWtwb2ludCk7
CiAgICAgfSwKIAorICAgIF9lZGl0TGluZTogZnVuY3Rpb24obGluZSwgbmV3Q29udGVudCkKKyAg
ICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5lZGl0U2NyaXB0TGluZSh0
aGlzLnNjcmlwdC5zb3VyY2VJRCwgbGluZSwgbmV3Q29udGVudCwgdGhpcy5fZWRpdExpbmVDb21w
bGV0ZS5iaW5kKHRoaXMpKTsKKyAgICB9LAorCisgICAgX2VkaXRMaW5lQ29tcGxldGU6IGZ1bmN0
aW9uKG5ld0JvZHkpCisgICAgeworICAgICAgICB0aGlzLnNvdXJjZUZyYW1lLnVwZGF0ZUNvbnRl
bnQobmV3Qm9keSk7CisgICAgfSwKKwogICAgIC8vIFRoZSBmb2xsb3cgbWV0aG9kcyBhcmUgcHVs
bGVkIGZyb20gU291cmNlVmlldywgc2luY2UgdGhleSBhcmUKICAgICAvLyBnZW5lcmljIGFuZCB3
b3JrIHdpdGggU2NyaXB0VmlldyBqdXN0IGZpbmUuCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU2NyaXB0c1BhbmVsLmpzCmluZGV4IDM1YzhlZTQuLjNhYjc4NzAgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKKysrIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwpAQCAtMjk3LDEwICsyOTcsOSBA
QCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIC8v
IE1vdmUgYnJlYWtwb2ludHMgdG8gdGhlIHJlc291cmNlJ3MgZnJhbWUuCiAgICAgICAgICAgICBp
ZiAoc2NyaXB0Ll9zY3JpcHRWaWV3KSB7CiAgICAgICAgICAgICAgICAgdmFyIHNvdXJjZUZyYW1l
ID0gc2NyaXB0Ll9zY3JpcHRWaWV3LnNvdXJjZUZyYW1lOwotICAgICAgICAgICAgICAgIGZvciAo
dmFyIGogPSAwOyBqIDwgc291cmNlRnJhbWUuYnJlYWtwb2ludHM7ICsraikgewotICAgICAgICAg
ICAgICAgICAgICB2YXIgcmVzb3VyY2VGcmFtZSA9IHRoaXMuX3NvdXJjZUZyYW1lRm9yU2NyaXB0
T3JSZXNvdXJjZShyZXNvdXJjZSk7CisgICAgICAgICAgICAgICAgdmFyIHJlc291cmNlRnJhbWUg
PSB0aGlzLl9zb3VyY2VGcmFtZUZvclNjcmlwdE9yUmVzb3VyY2UocmVzb3VyY2UpOworICAgICAg
ICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgc291cmNlRnJhbWUuYnJlYWtwb2ludHM7ICsr
aikKICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VGcmFtZS5hZGRCcmVha3BvaW50KHNvdXJj
ZUZyYW1lLmJyZWFrcG9pbnRzW2pdKTsKLSAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICAgICAgLy8gQWRkaW5nIGZpcnN0IHNjcmlwdCB3aWxsIGFkZCByZXNv
dXJjZS4KQEAgLTM1MSw2ICszNTAsMTkgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICBzb3VyY2VGcmFtZS5yZW1vdmVCcmVha3BvaW50KGJyZWFr
cG9pbnQpOwogICAgIH0sCiAKKyAgICBjYW5FZGl0U2NyaXB0czogZnVuY3Rpb24oKQorICAgIHsK
KyAgICAgICAgcmV0dXJuICEhSW5zcGVjdG9yQmFja2VuZC5lZGl0U2NyaXB0TGluZTsKKyAgICB9
LAorCisgICAgZWRpdFNjcmlwdExpbmU6IGZ1bmN0aW9uKHNvdXJjZUlELCBsaW5lLCBuZXdDb250
ZW50LCBjYWxsYmFjaykKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5jYW5FZGl0U2NyaXB0cygp
KQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB2YXIgY2FsbGJhY2tJZCA9IFdlYkluc3Bl
Y3Rvci5DYWxsYmFjay53cmFwKGNhbGxiYWNrKQorICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLmVk
aXRTY3JpcHRMaW5lKGNhbGxiYWNrSWQsIHNvdXJjZUlELCBsaW5lLCBuZXdDb250ZW50KTsKKyAg
ICB9LAorCiAgICAgc2VsZWN0ZWRDYWxsRnJhbWVJZDogZnVuY3Rpb24oKQogICAgIHsKICAgICAg
ICAgdmFyIHNlbGVjdGVkQ2FsbEZyYW1lID0gdGhpcy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrLnNl
bGVjdGVkQ2FsbEZyYW1lOwpAQCAtNTc4LDE3ICs1OTAsNiBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0
c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIHZpZXcuc291cmNlRnJhbWU7CiAg
ICAgfSwKIAotICAgIF9zb3VyY2VWaWV3Rm9yU2NyaXB0T3JSZXNvdXJjZTogZnVuY3Rpb24oc2Ny
aXB0T3JSZXNvdXJjZSkKLSAgICB7Ci0gICAgICAgIGlmIChzY3JpcHRPclJlc291cmNlIGluc3Rh
bmNlb2YgV2ViSW5zcGVjdG9yLlJlc291cmNlKSB7Ci0gICAgICAgICAgICBpZiAoIVdlYkluc3Bl
Y3Rvci5wYW5lbHMucmVzb3VyY2VzKQotICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwotICAg
ICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLnJlc291cmNlVmll
d0ZvclJlc291cmNlKHNjcmlwdE9yUmVzb3VyY2UpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChz
Y3JpcHRPclJlc291cmNlIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlNjcmlwdCkKLSAgICAgICAg
ICAgIHJldHVybiB0aGlzLnNjcmlwdFZpZXdGb3JTY3JpcHQoc2NyaXB0T3JSZXNvdXJjZSk7Ci0g
ICAgfSwKLQogICAgIF9zb3VyY2VGcmFtZUZvclNjcmlwdE9yUmVzb3VyY2U6IGZ1bmN0aW9uKHNj
cmlwdE9yUmVzb3VyY2UpCiAgICAgewogICAgICAgICBpZiAoc2NyaXB0T3JSZXNvdXJjZSBpbnN0
YW5jZW9mIFdlYkluc3BlY3Rvci5SZXNvdXJjZSkKQEAgLTk3NCwzICs5NzUsNSBAQCBXZWJJbnNw
ZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKIH0KIAogV2ViSW5zcGVjdG9yLlNjcmlw
dHNQYW5lbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlw
ZTsKKworV2ViSW5zcGVjdG9yLmRpZEVkaXRTY3JpcHRMaW5lID0gV2ViSW5zcGVjdG9yLkNhbGxi
YWNrLnByb2Nlc3NDYWxsYmFjazsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Tb3VyY2VGcmFtZS5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VG
cmFtZS5qcwppbmRleCA0ODczY2MzLi45OTI4MGZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NvdXJjZUZyYW1lLmpzCkBAIC0yOCw3ICsyOCw3IEBACiAgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCiAKLVdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZSA9IGZ1bmN0aW9uKHBhcmVudEVsZW1lbnQs
IGFkZEJyZWFrcG9pbnREZWxlZ2F0ZSwgcmVtb3ZlQnJlYWtwb2ludERlbGVnYXRlKQorV2ViSW5z
cGVjdG9yLlNvdXJjZUZyYW1lID0gZnVuY3Rpb24ocGFyZW50RWxlbWVudCwgYWRkQnJlYWtwb2lu
dERlbGVnYXRlLCByZW1vdmVCcmVha3BvaW50RGVsZWdhdGUsIGVkaXREZWxlZ2F0ZSkKIHsKICAg
ICB0aGlzLl9wYXJlbnRFbGVtZW50ID0gcGFyZW50RWxlbWVudDsKIApAQCAtNDUsNiArNDUsNyBA
QCBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUgPSBmdW5jdGlvbihwYXJlbnRFbGVtZW50LCBhZGRC
cmVha3BvaW50RGVsZWdhdGUsIHJlbW92ZQogCiAgICAgdGhpcy5fYWRkQnJlYWtwb2ludERlbGVn
YXRlID0gYWRkQnJlYWtwb2ludERlbGVnYXRlOwogICAgIHRoaXMuX3JlbW92ZUJyZWFrcG9pbnRE
ZWxlZ2F0ZSA9IHJlbW92ZUJyZWFrcG9pbnREZWxlZ2F0ZTsKKyAgICB0aGlzLl9lZGl0RGVsZWdh
dGUgPSBlZGl0RGVsZWdhdGU7CiAgICAgdGhpcy5fcG9wb3Zlck9iamVjdEdyb3VwID0gInBvcG92
ZXIiOwogfQogCkBAIC0xNDMsNiArMTQ0LDExIEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5w
cm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2NyZWF0ZVZpZXdlcklmTmVlZGVkKCk7CiAgICAg
fSwKIAorICAgIHVwZGF0ZUNvbnRlbnQ6IGZ1bmN0aW9uKGNvbnRlbnQpCisgICAgeworICAgICAg
ICB0aGlzLl90ZXh0TW9kZWwuc2V0VGV4dChudWxsLCBjb250ZW50KTsKKyAgICB9LAorCiAgICAg
aGlnaGxpZ2h0TGluZTogZnVuY3Rpb24obGluZSkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLl90
ZXh0Vmlld2VyKQpAQCAtMTkyLDYgKzE5OCw4IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5w
cm90b3R5cGUgPSB7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fbGluZVRvSGlnaGxpZ2h0Owog
ICAgICAgICB9CiAgICAgICAgIHRoaXMuX3RleHRWaWV3ZXIuZW5kVXBkYXRlcygpOworICAgICAg
ICBpZiAodGhpcy5fZWRpdERlbGVnYXRlKQorICAgICAgICAgICAgdGhpcy5fdGV4dFZpZXdlci5l
ZGl0Q2FsbGJhY2sgPSB0aGlzLl9lZGl0RGVsZWdhdGU7CiAgICAgfSwKIAogICAgIGZpbmRTZWFy
Y2hNYXRjaGVzOiBmdW5jdGlvbihxdWVyeSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9UZXh0RWRpdG9ySGlnaGxpZ2h0ZXIuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvVGV4dEVkaXRvckhpZ2hsaWdodGVyLmpzCmluZGV4IGQ3N2RjYTcuLjRhYzgzMWUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9ySGlnaGxp
Z2h0ZXIuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JIaWdo
bGlnaHRlci5qcwpAQCAtMzMsMTAgKzMzLDggQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JIaWdo
bGlnaHRlciA9IGZ1bmN0aW9uKHRleHRNb2RlbCwgZGFtYWdlQ2FsbGJhY2spCiB7CiAgICAgdGhp
cy5fdGV4dE1vZGVsID0gdGV4dE1vZGVsOwogICAgIHRoaXMuX3Rva2VuaXplciA9IFdlYkluc3Bl
Y3Rvci5Tb3VyY2VUb2tlbml6ZXIuUmVnaXN0cnkuZ2V0SW5zdGFuY2UoKS5nZXRUb2tlbml6ZXIo
InRleHQvaHRtbCIpOwotICAgIHRoaXMuX3Rva2VuaXplckNvbmRpdGlvbiA9IHRoaXMuX3Rva2Vu
aXplci5pbml0aWFsQ29uZGl0aW9uOwogICAgIHRoaXMuX2RhbWFnZUNhbGxiYWNrID0gZGFtYWdl
Q2FsbGJhY2s7Ci0gICAgdGhpcy5fbGFzdEhpZ2hsaWdodGVkTGluZSA9IDA7Ci0gICAgdGhpcy5f
bGFzdEhpZ2hsaWdodGVkQ29sdW1uID0gMDsKKyAgICB0aGlzLnJlc2V0KCk7CiB9CiAKIFdlYklu
c3BlY3Rvci5UZXh0RWRpdG9ySGlnaGxpZ2h0ZXIucHJvdG90eXBlID0gewpAQCAtNDksNiArNDcs
MTMgQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JIaWdobGlnaHRlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIH0KICAgICB9LAogCisgICAgcmVzZXQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAg
IHRoaXMuX2xhc3RIaWdobGlnaHRlZExpbmUgPSAwOworICAgICAgICB0aGlzLl9sYXN0SGlnaGxp
Z2h0ZWRDb2x1bW4gPSAwOworICAgICAgICB0aGlzLl90b2tlbml6ZXJDb25kaXRpb24gPSB0aGlz
Ll90b2tlbml6ZXIuaW5pdGlhbENvbmRpdGlvbjsKKyAgICB9LAorCiAgICAgaGlnaGxpZ2h0OiBm
dW5jdGlvbihlbmRMaW5lKQogICAgIHsKICAgICAgICAgLy8gRmlyc3QgY2hlY2sgaWYgd2UgaGF2
ZSB3b3JrIHRvIGRvLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Rl
eHRFZGl0b3JNb2RlbC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9y
TW9kZWwuanMKaW5kZXggZTU2YzI2OS4uZjIzY2U3NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvVGV4dEVkaXRvck1vZGVsLmpzCkBAIC0yMDAsNiArMjAwLDkgQEAgV2ViSW5z
cGVjdG9yLlRleHRFZGl0b3JNb2RlbC5wcm90b3R5cGUgPSB7CiAKICAgICBjb3B5UmFuZ2U6IGZ1
bmN0aW9uKHJhbmdlKQogICAgIHsKKyAgICAgICAgaWYgKCFyYW5nZSkKKyAgICAgICAgICAgIHJh
bmdlID0gbmV3IFdlYkluc3BlY3Rvci5UZXh0UmFuZ2UoMCwgMCwgdGhpcy5fbGluZXMubGVuZ3Ro
IC0gMSwgdGhpcy5fbGluZXNbdGhpcy5fbGluZXMubGVuZ3RoIC0gMV0ubGVuZ3RoKTsKKwogICAg
ICAgICB2YXIgY2xpcCA9IFtdOwogICAgICAgICBpZiAocmFuZ2Uuc3RhcnRMaW5lID09PSByYW5n
ZS5lbmRMaW5lKSB7CiAgICAgICAgICAgICBjbGlwLnB1c2godGhpcy5fbGluZXNbcmFuZ2Uuc3Rh
cnRMaW5lXS5zdWJzdHJpbmcocmFuZ2Uuc3RhcnRDb2x1bW4sIHJhbmdlLmVuZENvbHVtbikpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRWaWV3ZXIuanMgYi9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dFZpZXdlci5qcwppbmRleCAwMTc1YjE0Li44
ZTJlNDU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dFZpZXdl
ci5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dFZpZXdlci5qcwpAQCAt
NDMsNiArNDMsNyBAQCBXZWJJbnNwZWN0b3IuVGV4dFZpZXdlciA9IGZ1bmN0aW9uKHRleHRNb2Rl
bCwgcGxhdGZvcm0sIHVybCkKICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5
ZG93biIsIHRoaXMuX2hhbmRsZUtleURvd24uYmluZCh0aGlzKSwgZmFsc2UpOwogICAgIHRoaXMu
ZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVjb3B5IiwgdGhpcy5fYmVmb3JlQ29weS5i
aW5kKHRoaXMpLCBmYWxzZSk7CiAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNv
cHkiLCB0aGlzLl9jb3B5LmJpbmQodGhpcyksIGZhbHNlKTsKKyAgICB0aGlzLmVsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLCB0aGlzLl9oYW5kbGVEb3VibGVDbGljay5iaW5kKHRo
aXMpLCBmYWxzZSk7CiAKICAgICB0aGlzLl91cmwgPSB1cmw7CiAKQEAgLTc5LDYgKzgwLDExIEBA
IFdlYkluc3BlY3Rvci5UZXh0Vmlld2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgY2h1bmsuZWxl
bWVudC5zY3JvbGxJbnRvVmlld0lmTmVlZGVkKCk7CiAgICAgfSwKIAorICAgIHNldCBlZGl0Q2Fs
bGJhY2soZWRpdENhbGxiYWNrKQorICAgIHsKKyAgICAgICAgdGhpcy5fZWRpdENhbGxiYWNrID0g
ZWRpdENhbGxiYWNrOworICAgIH0sCisKICAgICBhZGREZWNvcmF0aW9uOiBmdW5jdGlvbihsaW5l
TnVtYmVyLCBkZWNvcmF0aW9uKQogICAgIHsKICAgICAgICAgdmFyIGNodW5rID0gdGhpcy5fbWFr
ZUxpbmVBQ2h1bmsobGluZU51bWJlcik7CkBAIC0xMzgsNyArMTQ0LDkgQEAgV2ViSW5zcGVjdG9y
LlRleHRWaWV3ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fdGV4dENodW5rcy5w
dXNoKGNodW5rKTsKICAgICAgICAgICAgIHRoaXMuX2xpbmVzQ29udGFpbmVyRWxlbWVudC5hcHBl
bmRDaGlsZChjaHVuay5lbGVtZW50KTsKICAgICAgICAgfQorCiAgICAgICAgIHRoaXMuX2luZGV4
Q2h1bmtzKCk7CisgICAgICAgIHRoaXMuX2hpZ2hsaWdodGVyLnJlc2V0KCk7CiAgICAgICAgIHRo
aXMuX3JlcGFpbnRBbGwoKTsKICAgICB9LAogCkBAIC0yMDYsMTIgKzIxNCwxMiBAQCBXZWJJbnNw
ZWN0b3IuVGV4dFZpZXdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgdGhpcy5fcmVw
YWludEFsbCgpOwogICAgICAgICB9LmJpbmQodGhpcyksIDUwKTsKICAgICB9LAotICAgIAorCiAg
ICAgX2hhbmRsZUtleURvd246IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIGlmIChldmVudC5t
ZXRhS2V5IHx8IGV2ZW50LnNoaWZ0S2V5IHx8IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQuYWx0S2V5
KQorICAgICAgICBpZiAodGhpcy5fZWRpdGluZ0xpbmUgfHwgZXZlbnQubWV0YUtleSB8fCBldmVu
dC5zaGlmdEtleSB8fCBldmVudC5jdHJsS2V5IHx8IGV2ZW50LmFsdEtleSkKICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgCisKICAgICAgICAgdmFyIHNjcm9sbFZhbHVlID0gMDsKICAgICAg
ICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lktl
eUNvZGVzLlVwKQogICAgICAgICAgICAgc2Nyb2xsVmFsdWUgPSAtMTsKQEAgLTIzOCw2ICsyNDYs
MzAgQEAgV2ViSW5zcGVjdG9yLlRleHRWaWV3ZXIucHJvdG90eXBlID0gewogICAgICAgICB9CiAg
ICAgfSwKIAorICAgIF9oYW5kbGVEb3VibGVDbGljazogZnVuY3Rpb24oZSkKKyAgICB7CisgICAg
ICAgIGlmICghdGhpcy5fZWRpdENhbGxiYWNrKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIHZhciBsaW5lUm93ID0gZS50YXJnZXQuZW5jbG9zaW5nTm9kZU9yU2VsZldpdGhOb2RlTmFt
ZSgiVFIiKTsKKyAgICAgICAgaWYgKCFsaW5lUm93KQorICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB2YXIgb2xkQ29udGVudCA9IGxpbmVSb3cubGFzdENoaWxkLnRleHRDb250ZW50OworICAg
ICAgICB0aGlzLl9lZGl0aW5nTGluZSA9IFdlYkluc3BlY3Rvci5zdGFydEVkaXRpbmcobGluZVJv
dy5sYXN0Q2hpbGQsIHRoaXMuX2NvbW1pdEVkaXRpbmdMaW5lLmJpbmQodGhpcywgbGluZVJvdy5s
aW5lTnVtYmVyLCBsaW5lUm93Lmxhc3RDaGlsZCksIHRoaXMuX2NhbmNlbEVkaXRpbmdMaW5lLmJp
bmQodGhpcyksIG51bGwsIHRydWUpOworICAgIH0sCisKKyAgICBfY29tbWl0RWRpdGluZ0xpbmU6
IGZ1bmN0aW9uKGxpbmVOdW1iZXIsIGVsZW1lbnQpCisgICAgeworICAgICAgICB0aGlzLl9lZGl0
Q2FsbGJhY2sobGluZU51bWJlciwgZWxlbWVudC50ZXh0Q29udGVudCkKKyAgICAgICAgZGVsZXRl
IHRoaXMuX2VkaXRpbmdMaW5lOworICAgIH0sCisKKyAgICBfY2FuY2VsRWRpdGluZ0xpbmU6IGZ1
bmN0aW9uKGUpCisgICAgeworICAgICAgICB0aGlzLl90ZXh0TW9kZWwuc2V0VGV4dChudWxsLCB0
aGlzLl90ZXh0TW9kZWwuY29weVJhbmdlKCkpOworICAgICAgICBkZWxldGUgdGhpcy5fZWRpdGlu
Z0xpbmU7CisgICAgfSwKKwogICAgIF9iZWZvcmVDb3B5OiBmdW5jdGlvbihlKQogICAgIHsKICAg
ICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuanMKaW5kZXggMmExM2EzNC4uYzc1ZGQ5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmpzCkBAIC02NzcsNiArNjc3LDkgQEAgV2ViSW5zcGVjdG9yLmRvY3Vt
ZW50Q2xpY2sgPSBmdW5jdGlvbihldmVudCkKIAogV2ViSW5zcGVjdG9yLmRvY3VtZW50S2V5RG93
biA9IGZ1bmN0aW9uKGV2ZW50KQogeworICAgIGlmIChXZWJJbnNwZWN0b3IuaXNFZGl0aW5nQW55
RmllbGQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKHRoaXMuY3VycmVudEZvY3VzRWxl
bWVudCAmJiB0aGlzLmN1cnJlbnRGb2N1c0VsZW1lbnQuaGFuZGxlS2V5RXZlbnQpIHsKICAgICAg
ICAgdGhpcy5jdXJyZW50Rm9jdXNFbGVtZW50LmhhbmRsZUtleUV2ZW50KGV2ZW50KTsKICAgICAg
ICAgaWYgKGV2ZW50LmhhbmRsZWQpIHsKQEAgLTEzNjIsNyArMTM2NSw3IEBAIFdlYkluc3BlY3Rv
ci51cGRhdGVDb25zb2xlTWVzc2FnZVJlcGVhdENvdW50ID0gZnVuY3Rpb24oY291bnQpCiAgICAg
dGhpcy5jb25zb2xlLnVwZGF0ZU1lc3NhZ2VSZXBlYXRDb3VudChjb3VudCk7CiB9CiAKLVdlYklu
c3BlY3Rvci5sb2cgPSBmdW5jdGlvbihtZXNzYWdlKQorV2ViSW5zcGVjdG9yLmxvZyA9IGZ1bmN0
aW9uKG1lc3NhZ2UsIG1lc3NhZ2VMZXZlbCkKIHsKICAgICAvLyByZW1lbWJlciAndGhpcycgZm9y
IHNldEludGVydmFsKCkgY2FsbGJhY2sKICAgICB2YXIgc2VsZiA9IHRoaXM7CkBAIC0xNDE2LDcg
KzE0MTksNyBAQCBXZWJJbnNwZWN0b3IubG9nID0gZnVuY3Rpb24obWVzc2FnZSkKICAgICAgICAg
dmFyIG1zZyA9IG5ldyBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UoCiAgICAgICAgICAgICBX
ZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVNvdXJjZS5PdGhlciwKICAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5Mb2csCi0gICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZUxldmVsLkRlYnVnLAorICAg
ICAgICAgICAgbWVzc2FnZUxldmVsIHx8IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNz
YWdlTGV2ZWwuRGVidWcsCiAgICAgICAgICAgICAtMSwKICAgICAgICAgICAgIG51bGwsCiAgICAg
ICAgICAgICBudWxsLApAQCAtMTgxMywxMSArMTgxNiwxNyBAQCBXZWJJbnNwZWN0b3IuaXNCZWlu
Z0VkaXRlZCA9IGZ1bmN0aW9uKGVsZW1lbnQpCiAgICAgcmV0dXJuIGVsZW1lbnQuX19lZGl0aW5n
OwogfQogCitXZWJJbnNwZWN0b3IuaXNFZGl0aW5nQW55RmllbGQgPSBmdW5jdGlvbigpCit7Cisg
ICAgcmV0dXJuIHRoaXMuX19lZGl0aW5nOworfQorCiBXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5n
ID0gZnVuY3Rpb24oZWxlbWVudCwgY29tbWl0dGVkQ2FsbGJhY2ssIGNhbmNlbGxlZENhbGxiYWNr
LCBjb250ZXh0LCBtdWx0aWxpbmUpCiB7CiAgICAgaWYgKGVsZW1lbnQuX19lZGl0aW5nKQogICAg
ICAgICByZXR1cm47CiAgICAgZWxlbWVudC5fX2VkaXRpbmcgPSB0cnVlOworICAgIFdlYkluc3Bl
Y3Rvci5fX2VkaXRpbmcgPSB0cnVlOwogCiAgICAgdmFyIG9sZFRleHQgPSBnZXRDb250ZW50KGVs
ZW1lbnQpOwogICAgIHZhciBtb3ZlRGlyZWN0aW9uID0gIiI7CkBAIC0xODQxLDYgKzE4NTAsNyBA
QCBXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nID0gZnVuY3Rpb24oZWxlbWVudCwgY29tbWl0dGVk
Q2FsbGJhY2ssIGNhbmNlbGxlZENhbGxiYQogCiAgICAgZnVuY3Rpb24gY2xlYW5VcEFmdGVyRWRp
dGluZygpIHsKICAgICAgICAgZGVsZXRlIHRoaXMuX19lZGl0aW5nOworICAgICAgICBkZWxldGUg
V2ViSW5zcGVjdG9yLl9fZWRpdGluZzsKIAogICAgICAgICB0aGlzLnJlbW92ZVN0eWxlQ2xhc3Mo
ImVkaXRpbmciKTsKICAgICAgICAgdGhpcy50YWJJbmRleCA9IG9sZFRhYkluZGV4OwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKaW5kZXggMTg0NzZlOS4uYmI1MzMzMCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTAtMDQtMjAgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWRkIGJhc2ljIHNjcmlwdCBlZGl0aW5nIGNhcGFiaWxpdGllcyB0byB0aGUgZnJvbnQtZW5k
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzg3
NQorCisgICAgICAgICogc3JjL2pzL0RlYnVnZ2VyQWdlbnQuanM6CisgICAgICAgIChkZXZ0b29s
cy5EZWJ1Z2dlckFnZW50LnByb3RvdHlwZS5yZXNvbHZlU2NyaXB0U291cmNlLnRoaXMucmVxdWVz
dFNlcVRvQ2FsbGJhY2tfLmNtZC5nZXRTZXF1ZW5jZU51bWJlcik6CisgICAgICAgIChkZXZ0b29s
cy5EZWJ1Z2dlckFnZW50LnByb3RvdHlwZS5yZXNvbHZlU2NyaXB0U291cmNlKToKKyAgICAgICAg
KGRldnRvb2xzLkRlYnVnZ2VyQWdlbnQucHJvdG90eXBlLmVkaXRTY3JpcHRMaW5lLnRoaXMucmVx
dWVzdFNlcVRvQ2FsbGJhY2tfLmNtZC5nZXRTZXF1ZW5jZU51bWJlcik6CisgICAgICAgIChkZXZ0
b29scy5EZWJ1Z2dlckFnZW50LnByb3RvdHlwZS5lZGl0U2NyaXB0TGluZSk6CisgICAgICAgIChk
ZXZ0b29scy5EZWJ1Z2dlckFnZW50LnByb3RvdHlwZS5oYW5kbGVEZWJ1Z2dlck91dHB1dF8pOgor
ICAgICAgICAqIHNyYy9qcy9EZXZUb29scy5qczoKKyAgICAgICAgKiBzcmMvanMvSW5zcGVjdG9y
Q29udHJvbGxlckltcGwuanM6CisgICAgICAgICguZGV2dG9vbHMuSW5zcGVjdG9yQmFja2VuZElt
cGwucHJvdG90eXBlLmVkaXRTY3JpcHRMaW5lKToKKwogMjAxMC0wNC0xNiAgSmF5IENpdmVsbGkg
IDxqY2l2ZWxsaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBH
bGF6a292LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9qcy9EZWJ1Z2dlckFnZW50
LmpzIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9qcy9EZWJ1Z2dlckFnZW50LmpzCmluZGV4IDEyNGJj
ZWQuLjgyMzA2MTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvanMvRGVidWdnZXJB
Z2VudC5qcworKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL2pzL0RlYnVnZ2VyQWdlbnQuanMKQEAg
LTIxNSwxMSArMjE1LDE0IEBAIGRldnRvb2xzLkRlYnVnZ2VyQWdlbnQucHJvdG90eXBlLnJlc29s
dmVTY3JpcHRTb3VyY2UgPSBmdW5jdGlvbihzY3JpcHRJZCwgY2FsbGJhCiAgICAgLy8gRm9yY2Ug
djggZXhlY3V0aW9uIHNvIHRoYXQgaXQgZ2V0cyB0byBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0ZWQg
Y29tbWFuZC4KICAgICBSZW1vdGVEZWJ1Z2dlckFnZW50LnByb2Nlc3NEZWJ1Z0NvbW1hbmRzKCk7
CiAKKyAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAgdGhpcy5yZXF1ZXN0U2VxVG9DYWxsYmFja19b
Y21kLmdldFNlcXVlbmNlTnVtYmVyKCldID0gZnVuY3Rpb24obXNnKSB7CiAgICAgICAgIGlmICht
c2cuaXNTdWNjZXNzKCkpIHsKICAgICAgICAgICAgIHZhciBzY3JpcHRKc29uID0gbXNnLmdldEJv
ZHkoKVswXTsKLSAgICAgICAgICAgIGlmIChzY3JpcHRKc29uKQorICAgICAgICAgICAgaWYgKHNj
cmlwdEpzb24pIHsKKyAgICAgICAgICAgICAgICBzY3JpcHQuc291cmNlID0gc2NyaXB0SnNvbi5z
b3VyY2U7CiAgICAgICAgICAgICAgICAgY2FsbGJhY2soc2NyaXB0SnNvbi5zb3VyY2UpOworICAg
ICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGNhbGxiYWNrKG51
bGwpOwogICAgICAgICB9IGVsc2UKQEAgLTMwMCw2ICszMDMsMzYgQEAgZGV2dG9vbHMuRGVidWdn
ZXJBZ2VudC5wcm90b3R5cGUuYWRkQnJlYWtwb2ludCA9IGZ1bmN0aW9uKHNvdXJjZUlkLCBsaW5l
LCBjb25kaXQKIAogCiAvKioKKyAqIENoYW5nZXMgZ2l2ZW4gbGluZSBvZiB0aGUgc2NyaXB0LiAK
KyAqLworZGV2dG9vbHMuRGVidWdnZXJBZ2VudC5wcm90b3R5cGUuZWRpdFNjcmlwdExpbmUgPSBm
dW5jdGlvbihzb3VyY2VJZCwgbGluZSwgbmV3Q29udGVudCwgY2FsbGJhY2spCit7CisgICAgdmFy
IHNjcmlwdCA9IHRoaXMucGFyc2VkU2NyaXB0c19bc291cmNlSWRdOworICAgIGlmICghc2NyaXB0
IHx8ICFzY3JpcHQuc291cmNlKQorICAgICAgICByZXR1cm47CisKKyAgICB2YXIgbGluZXMgPSBz
Y3JpcHQuc291cmNlLnNwbGl0KCJcbiIpOworICAgIGxpbmVzW2xpbmVdID0gbmV3Q29udGVudDsK
KworICAgIHZhciBjb21tYW5kQXJndW1lbnRzID0geworICAgICAgICAic2NyaXB0X2lkIjogc291
cmNlSWQsCisgICAgICAgICJuZXdfc291cmNlIjogbGluZXMuam9pbigiXG4iKQorICAgIH07CisK
KyAgICB2YXIgY21kID0gbmV3IGRldnRvb2xzLkRlYnVnQ29tbWFuZCgiY2hhbmdlbGl2ZSIsIGNv
bW1hbmRBcmd1bWVudHMpOworICAgIGRldnRvb2xzLkRlYnVnZ2VyQWdlbnQuc2VuZENvbW1hbmRf
KGNtZCk7CisgICAgdGhpcy5yZXF1ZXN0U2VxVG9DYWxsYmFja19bY21kLmdldFNlcXVlbmNlTnVt
YmVyKCldID0gZnVuY3Rpb24obXNnKSB7CisgICAgICAgIGlmICghbXNnLmlzU3VjY2VzcygpKQor
ICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmxvZygiVW5hYmxlIHRvIG1vZGlmeSBzb3VyY2UgY29k
ZSB3aXRoaW4gZ2l2ZW4gc2NvcGUuIE9ubHkgZnVuY3Rpb24gYm9kaWVzIGFyZSBlZGl0YWJsZSBh
dCB0aGUgbW9tZW50LiIsIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlTGV2ZWwu
V2FybmluZyk7CisgICAgICAgIHRoaXMucmVzb2x2ZVNjcmlwdFNvdXJjZShzb3VyY2VJZCwgY2Fs
bGJhY2spOworICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLnBhdXNlZCkK
KyAgICAgICAgICAgIHRoaXMucmVxdWVzdEJhY2t0cmFjZV8oKTsKKyAgICB9LmJpbmQodGhpcyk7
CisgICAgUmVtb3RlRGVidWdnZXJBZ2VudC5wcm9jZXNzRGVidWdDb21tYW5kcygpOworfTsKKwor
CisvKioKICAqIEBwYXJhbSB7bnVtYmVyfSBzb3VyY2VJZCBJZCBvZiB0aGUgc2NyaXB0IGZvciB0
aGUgYnJlYWtwb2ludC4KICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lIE51bWJlciBvZiB0aGUgbGlu
ZSBmb3IgdGhlIGJyZWFrcG9pbnQuCiAgKi8KQEAgLTc2NSw2ICs3OTgsOCBAQCBkZXZ0b29scy5E
ZWJ1Z2dlckFnZW50LnByb3RvdHlwZS5oYW5kbGVEZWJ1Z2dlck91dHB1dF8gPSBmdW5jdGlvbihv
dXRwdXQpCiAgICAgICAgICAgICB0aGlzLmludm9rZUNhbGxiYWNrRm9yUmVzcG9uc2VfKG1zZyk7
CiAgICAgICAgIGVsc2UgaWYgKG1zZy5nZXRDb21tYW5kKCkgPT09ICJzZXRicmVha3BvaW50IikK
ICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2V0QnJlYWtwb2ludFJlc3BvbnNlXyhtc2cpOworICAg
ICAgICBlbHNlIGlmIChtc2cuZ2V0Q29tbWFuZCgpID09PSAiY2hhbmdlbGl2ZSIpCisgICAgICAg
ICAgICB0aGlzLmludm9rZUNhbGxiYWNrRm9yUmVzcG9uc2VfKG1zZyk7CiAgICAgICAgIGVsc2Ug
aWYgKG1zZy5nZXRDb21tYW5kKCkgPT09ICJjbGVhcmJyZWFrcG9pbnQiKQogICAgICAgICAgICAg
dGhpcy5oYW5kbGVDbGVhckJyZWFrcG9pbnRSZXNwb25zZV8obXNnKTsKICAgICAgICAgZWxzZSBp
ZiAobXNnLmdldENvbW1hbmQoKSA9PT0gImJhY2t0cmFjZSIpCmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL2pzL0RldlRvb2xzLmpzIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9qcy9EZXZU
b29scy5qcwppbmRleCA5NDA2YmYwLi4xN2IwMzhlIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21p
dW0vc3JjL2pzL0RldlRvb2xzLmpzCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvanMvRGV2VG9v
bHMuanMKQEAgLTQwNywxMSArNDA3LDYgQEAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmFkZFJlc291
cmNlU291cmNlVG9GcmFtZSA9IGZ1bmN0aW9uKGlkZW50aWZpZXIsIGVsZW1lbnQpCiB9OwogfSko
KTsKIAotV2ViSW5zcGVjdG9yLnBhdXNlZFNjcmlwdCA9IGZ1bmN0aW9uKGNhbGxGcmFtZXMpCi17
Ci0gICAgdGhpcy5wYW5lbHMuc2NyaXB0cy5kZWJ1Z2dlclBhdXNlZChjYWxsRnJhbWVzKTsKLX07
Ci0KIC8vIENocm9taXVtIHRoZW1lIHN1cHBvcnQuCiBXZWJJbnNwZWN0b3Iuc2V0VG9vbGJhckNv
bG9ycyA9IGZ1bmN0aW9uKGJhY2tncm91bmRDb2xvciwgY29sb3IpCiB7CmRpZmYgLS1naXQgYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL2pzL0luc3BlY3RvckNvbnRyb2xsZXJJbXBsLmpzIGIvV2ViS2l0
L2Nocm9taXVtL3NyYy9qcy9JbnNwZWN0b3JDb250cm9sbGVySW1wbC5qcwppbmRleCAyY2IwOTA3
Li5iZWNjMDc2IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL2pzL0luc3BlY3RvckNv
bnRyb2xsZXJJbXBsLmpzCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvanMvSW5zcGVjdG9yQ29u
dHJvbGxlckltcGwuanMKQEAgLTEzOSw2ICsxMzksMTQgQEAgZGV2dG9vbHMuSW5zcGVjdG9yQmFj
a2VuZEltcGwucHJvdG90eXBlLnJlbW92ZUJyZWFrcG9pbnQgPSBmdW5jdGlvbihzb3VyY2VJRCwg
bGkKIH07CiAKIAorZGV2dG9vbHMuSW5zcGVjdG9yQmFja2VuZEltcGwucHJvdG90eXBlLmVkaXRT
Y3JpcHRMaW5lID0gZnVuY3Rpb24oY2FsbElELCBzb3VyY2VJRCwgbGluZSwgbmV3Q29udGVudCkK
K3sKKyAgICBkZXZ0b29scy50b29scy5nZXREZWJ1Z2dlckFnZW50KCkuZWRpdFNjcmlwdExpbmUo
c291cmNlSUQsIGxpbmUsIG5ld0NvbnRlbnQsIGZ1bmN0aW9uKG5ld0Z1bGxCb2R5KSB7CisgICAg
ICAgIFdlYkluc3BlY3Rvci5kaWRFZGl0U2NyaXB0TGluZShjYWxsSUQsIG5ld0Z1bGxCb2R5KTsK
KyAgICB9KTsKK307CisKKwogZGV2dG9vbHMuSW5zcGVjdG9yQmFja2VuZEltcGwucHJvdG90eXBl
LmFjdGl2YXRlQnJlYWtwb2ludHMgPSBmdW5jdGlvbigpCiB7CiAgICAgZGV2dG9vbHMudG9vbHMu
Z2V0RGVidWdnZXJBZ2VudCgpLnNldEJyZWFrcG9pbnRzQWN0aXZhdGVkKHRydWUpOwo=
</data>
<flag name="review"
          id="37677"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>