<?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>20415</bug_id>
          
          <creation_ts>2008-08-16 22:33:48 -0700</creation_ts>
          <short_desc>Support editing DOM properties and scope variables</short_desc>
          <delta_ts>2008-08-19 10:30:43 -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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>aroben</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>88658</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-08-16 22:33:48 -0700</bug_when>
    <thetext>We need to support editing of DOM properties and scope variables whole paused in the debugger.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88765</commentid>
    <comment_count>1</comment_count>
      <attachid>22864</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-08-18 15:21:45 -0700</bug_when>
    <thetext>Created attachment 22864
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88773</commentid>
    <comment_count>2</comment_count>
      <attachid>22864</attachid>
    <who name="Kevin McCullough">kmccullough</who>
    <bug_when>2008-08-18 16:14:23 -0700</bug_when>
    <thetext>Comment on attachment 22864
Proposed patch

in WebInspector.ObjectPropertyTreeElement.prototype line 202 hasChildren is restored, but update() will restore the hasChildren variable so it doesn&apos;t need to be in the context at all.

Line 193: Why does editingEnded take a context? It&apos;s not used.

Line 226 &quot;the everything&quot;

In treeoutline.js line 560 I do not understand why you are comparing what you are.  And should we even call insertBefore if nextSibling is null?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88808</commentid>
    <comment_count>3</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2008-08-19 04:49:43 -0700</bug_when>
    <thetext>This is cool. Maybe some kind of magic variable that points to the previous value and some command line api stuff would be useful?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88819</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-08-19 10:06:03 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 22864 [edit])
&gt; in WebInspector.ObjectPropertyTreeElement.prototype line 202 hasChildren is
&gt; restored, but update() will restore the hasChildren variable so it doesn&apos;t need
&gt; to be in the context at all.

Fixed.

&gt; Line 193: Why does editingEnded take a context? It&apos;s not used.

Changed this, it now uses the context since I moved some code.

&gt; Line 226 &quot;the everything&quot;

Fixed.

&gt; In treeoutline.js line 560 I do not understand why you are comparing what you
&gt; are.  And should we even call insertBefore if nextSibling is null?

If the nextSibling&apos;s parentNode is different than the parent we are about to insert too, we need to use null for the next sibling otherwise you get a DOM exception 8. And calling insertBefore with null is the same as appendChild, so thats what we want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88820</commentid>
    <comment_count>5</comment_count>
      <attachid>22864</attachid>
    <who name="Kevin McCullough">kmccullough</who>
    <bug_when>2008-08-19 10:09:20 -0700</bug_when>
    <thetext>Comment on attachment 22864
Proposed patch

After Tim&apos;s changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88823</commentid>
    <comment_count>6</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-08-19 10:30:43 -0700</bug_when>
    <thetext>Landed in r35835.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22864</attachid>
            <date>2008-08-18 15:21:45 -0700</date>
            <delta_ts>2008-08-19 10:09:20 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>0001--Add-support-for-editing-DOM-properties-and-s.patch</filename>
            <type>text/plain</type>
            <size>20299</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">RnJvbSBiNGJhOWNjYWRlMTM5YjJhZjViOTQ3ZGI2ZjIwMTk3MzVmZTk1Mzc1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW1vdGh5IEhhdGNoZXIgPHRpbW90aHlAYXBwbGUuY29tPgpE
YXRlOiBNb24sIDE4IEF1ZyAyMDA4IDE1OjE3OjUwIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gICAg
ICAgICBBZGQgc3VwcG9ydCBmb3IgZWRpdGluZyBET00gcHJvcGVydGllcyBhbmQgc2NvcGUgdmFy
aWFibGVzIGJ5IGRvdWJsZQogICAgICAgICBjbGlja2luZyBhIHByb3BlcnR5IHRvIGVudGVyIGVk
aXQgbW9kZS4KCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNDE1CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICAqIHBh
Z2UvaW5zcGVjdG9yL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzOgogICAgICAgIChXZWJJbnNw
ZWN0b3IuT2JqZWN0UHJvcGVydGllc1NlY3Rpb24pOiBTZXQgZWRpdGFibGUgdG8gdHJ1ZSBieSBk
ZWZhdWx0LgogICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydGllc1NlY3Rpb24ucHJv
dG90eXBlLm9ucG9wdWxhdGUpOgogICAgICAgIEZhY3RvcmVkIG91dCBjb2RlIGludG8gdXBkYXRl
LCBhbmQgY2FsbHMgdXBkYXRlLgogICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydGll
c1NlY3Rpb24ucHJvdG90eXBlLnVwZGF0ZSk6IE1vdmVkIGZyb20gb25wb3B1bGF0ZS4KICAgICAg
ICBDYWxsIHJlbW92ZUNoaWxkcmVuIHNpbmNlIHRoaXMgbWV0aG9kIGNhbiBiZSBjYWxsZWQgbXVs
dGlwbGUgdGltZXMgbm93LgogICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVl
RWxlbWVudCk6IFBhc3MgYW4gZW1wdHkgdGl0bGUsIHRoZSB0aXRsZQogICAgICAgIGdldHMgbWFk
ZSBsYXRlciBpbiBvbmF0dGFjaC4KICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5
VHJlZUVsZW1lbnQucHJvdG90eXBlLm9ucG9wdWxhdGUpOiBEb24ndCByZXR1cm4gZWFybHkKICAg
ICAgICBpZiBzaG91bGRSZWZyZXNoQ2hpbGRyZW4gaXMgdHJ1ZS4gQ2FsbCByZW1vdmVDaGlsZHJl
biBzaW5jZSB0aGlzIG1ldGhvZCBjYW4gYmUKICAgICAgICBjYWxsZWQgbXVsdGlwbGUgdGltZXMg
bm93LgogICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90
b3R5cGUub25kYmxjbGljayk6IENhbGwgc3RhcnRFZGl0aW5nLgogICAgICAgIChXZWJJbnNwZWN0
b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUub25hdHRhY2gpOiBDYWxsIHVw
ZGF0ZS4KICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQucHJv
dG90eXBlLnVwZGF0ZSk6IFVwZGF0ZSB0aGUgdGl0bGUgZm9yCiAgICAgICAgdGhpcyBlbGVtZW50
IChjb2RlIG1vdmVkIGZyb20gdGhlIGNvbnN0cnVjdG9yLikKICAgICAgICAoV2ViSW5zcGVjdG9y
Lk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLnVwZGF0ZVNpYmxpbmdzKTogUmVj
cmVhdGUgYWxsCiAgICAgICAgc2libGluZyBwcm9wZXJ0eSBlbGVtZW50cy4KICAgICAgICAoV2Vi
SW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLnN0YXJ0RWRpdGlu
Zyk6IENhbGwKICAgICAgICBXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nIGFmdGVyIHJlbWVtZWJy
aW5nIHNvbWUgY29udGV4dC4KICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJl
ZUVsZW1lbnQucHJvdG90eXBlLmVkaXRpbmdFbmRlZCk6IFJlc2V0IHRoZSBzY3JvbGxMZWZ0CiAg
ICAgICAgZm9yIHRoZSBsaXN0IGVsZW1lbnQsIHNpbmNlIGl0IG1pZ2h0IGhhdmUgc2Nyb2xsZWQg
ZHVyaW5nIGVkaXRpbmcuCiAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVF
bGVtZW50LnByb3RvdHlwZS5lZGl0aW5nQ2FuY2VsbGVkKTogQ2FsbCBlZGl0aW5nRW5kZWQKICAg
ICAgICB0aGVuIHJlc3RvcmUgdGhlIHN0YXRlIGZyb20gdGhlIGNvbnRleHQuIFRoZW4gY2FsbCB1
cGRhdGUgdG8gcmVzdG9yZSB0aGUgdGl0bGUuCiAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQ
cm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZS5lZGl0aW5nQ29tbWl0dGVkKTogQ2FsbCBlZGl0
aW5nQ2FuY2VsbGVkCiAgICAgICAgaWYgdGhlIHVzZXIgaW5wdXQgYW5kIHRoZSBwcmV2aW91cyBp
bnB1dCBhcmUgdGhlIHNhbWUuIENhbGwgZWRpdGluZ0VuZGVkLCB0aGVuIGNhbGwgYXBwbHlFeHBy
ZXNzaW9uCiAgICAgICAgdG8gY29tbWl0IHRoZSB1c2VyIGlucHV0LgogICAgICAgIChXZWJJbnNw
ZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUuYXBwbHlFeHByZXNzaW9u
KTogRXZhbHVhdGVzIHRoZSBpbnB1dCBleHByZXNzaW9uCiAgICAgICAgYW5kIHN0b3JlcyB0aGUg
cmVzdWx0IG9uIHRoZSBvYmplY3QgZm9yIHRoZSBwcm9wZXJ0eSBuYW1lIG9mIHRoaXMgZWxlbWVu
dC4gSWYgdGhlIGV4cHJlc3Npb24gaXMKICAgICAgICBlbXB0eSwgZGVsZXRlIHRoZSBwcm9wZXJ0
eSBhbmQgcmVtb3ZlIHRoZSB0cmVlIGVsZW1lbnQuCiAgICAgICAgKiBwYWdlL2luc3BlY3Rvci9T
Y29wZUNoYWluU2lkZWJhclBhbmUuanM6CiAgICAgICAgKFdlYkluc3BlY3Rvci5TY29wZUNoYWlu
U2lkZWJhclBhbmUucHJvdG90eXBlLnVwZGF0ZSk6IFNldCB0aGUgZWRpdEluU2VsZWN0ZWRDYWxs
RnJhbWVXaGVuUGF1c2VkCiAgICAgICAgcHJvcGVydHkgb24gZWFjaCBPYmplY3RQcm9wZXJ0aWVz
U2VjdGlvbi4KICAgICAgICAoV2ViSW5zcGVjdG9yLlNjb3BlVmFyaWFibGVUcmVlRWxlbWVudC5w
cm90b3R5cGUub25hdHRhY2gpOiBDYWxsIE9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQncyBvbmF0
dGFjaAogICAgICAgIHNpbmNlIGl0IGlzIG5vdyBpbXBsZW1lbnRlZC4KICAgICAgICAqIHBhZ2Uv
aW5zcGVjdG9yL1NjcmlwdHNQYW5lbC5qczoKICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQ
YW5lbC5wcm90b3R5cGUuZXZhbHVhdGVJblNlbGVjdGVkQ2FsbEZyYW1lKTogQWRkZWQgYW4gdXBk
YXRlSW50ZXJmYWNlIGFyZ3VtZW50CiAgICAgICAgdGhhdCBkZWZhdWx0cyB0byB0cnVlIGlmIG9t
aXR0ZWQuIEl0IHNwZWNpZmllcyB3aGV0aGVyIHRvIGNhbGwgdXBkYXRlIG9uIHRoZSBzY29wZSBj
aGFpbi4KICAgICAgICAqIHBhZ2UvaW5zcGVjdG9yL2luc3BlY3Rvci5jc3M6IE5ldyBzdHlsZXMu
CiAgICAgICAgKiBwYWdlL2luc3BlY3Rvci90cmVlb3V0bGluZS5qczoKICAgICAgICAoVHJlZUVs
ZW1lbnQucHJvdG90eXBlLl9hdHRhY2gpOiBGaXhlZCBhbiBleGNlcHRpb24gdGhhdCBmaXJlZCB3
aGVuIGhhbmRsaW5nIHRoZSBzaG91bGRSZWZyZXNoQ2hpbGRyZW4KICAgICAgICBjaGFuZ2UuIFRo
ZSBuZXh0U2libGluZyB3b3VsZCBleGlzdCBidXQgaGF2ZSBhIF9saXN0SXRlbU5vZGUgdGhhdCBk
aWRuJ3QgbWF0Y2ggdGhlIG5ldyBwYXJlbnQuCi0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNTEgKysrKysrCiBXZWJDb3JlL3BhZ2UvaW5z
cGVjdG9yL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzIHwgIDE4NCArKysrKysrKysrKysrKysr
KystLS0KIFdlYkNvcmUvcGFnZS9pbnNwZWN0b3IvU2NvcGVDaGFpblNpZGViYXJQYW5lLmpzICAg
fCAgICAyICsKIFdlYkNvcmUvcGFnZS9pbnNwZWN0b3IvU2NyaXB0c1BhbmVsLmpzICAgICAgICAg
ICAgfCAgICA3ICstCiBXZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL2luc3BlY3Rvci5jc3MgICAgICAg
ICAgICAgIHwgICAgOSArCiBXZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL3RyZWVvdXRsaW5lLmpzICAg
ICAgICAgICAgIHwgICAgNSArLQogNiBmaWxlcyBjaGFuZ2VkLCAyMzIgaW5zZXJ0aW9ucygrKSwg
MjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCBhNDAzNzU1Li4wNzllZmRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU2IEBACiAyMDA4LTA4
LTE4ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQg
c3VwcG9ydCBmb3IgZWRpdGluZyBET00gcHJvcGVydGllcyBhbmQgc2NvcGUgdmFyaWFibGVzIGJ5
IGRvdWJsZQorICAgICAgICBjbGlja2luZyBhIHByb3BlcnR5IHRvIGVudGVyIGVkaXQgbW9kZS4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0MTUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2Uv
aW5zcGVjdG9yL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLk9iamVjdFByb3BlcnRpZXNTZWN0aW9uKTogU2V0IGVkaXRhYmxlIHRvIHRydWUgYnkgZGVm
YXVsdC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5wcm90
b3R5cGUub25wb3B1bGF0ZSk6CisgICAgICAgIEZhY3RvcmVkIG91dCBjb2RlIGludG8gdXBkYXRl
LCBhbmQgY2FsbHMgdXBkYXRlLgorICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnRp
ZXNTZWN0aW9uLnByb3RvdHlwZS51cGRhdGUpOiBNb3ZlZCBmcm9tIG9ucG9wdWxhdGUuCisgICAg
ICAgIENhbGwgcmVtb3ZlQ2hpbGRyZW4gc2luY2UgdGhpcyBtZXRob2QgY2FuIGJlIGNhbGxlZCBt
dWx0aXBsZSB0aW1lcyBub3cuCisgICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlU
cmVlRWxlbWVudCk6IFBhc3MgYW4gZW1wdHkgdGl0bGUsIHRoZSB0aXRsZQorICAgICAgICBnZXRz
IG1hZGUgbGF0ZXIgaW4gb25hdHRhY2guCisgICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJv
cGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUub25wb3B1bGF0ZSk6IERvbid0IHJldHVybiBlYXJs
eQorICAgICAgICBpZiBzaG91bGRSZWZyZXNoQ2hpbGRyZW4gaXMgdHJ1ZS4gQ2FsbCByZW1vdmVD
aGlsZHJlbiBzaW5jZSB0aGlzIG1ldGhvZCBjYW4gYmUKKyAgICAgICAgY2FsbGVkIG11bHRpcGxl
IHRpbWVzIG5vdy4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVt
ZW50LnByb3RvdHlwZS5vbmRibGNsaWNrKTogQ2FsbCBzdGFydEVkaXRpbmcuCisgICAgICAgIChX
ZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUub25hdHRhY2gp
OiBDYWxsIHVwZGF0ZS4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVF
bGVtZW50LnByb3RvdHlwZS51cGRhdGUpOiBVcGRhdGUgdGhlIHRpdGxlIGZvcgorICAgICAgICB0
aGlzIGVsZW1lbnQgKGNvZGUgbW92ZWQgZnJvbSB0aGUgY29uc3RydWN0b3IuKQorICAgICAgICAo
V2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLnVwZGF0ZVNp
YmxpbmdzKTogUmVjcmVhdGUgYWxsCisgICAgICAgIHNpYmxpbmcgcHJvcGVydHkgZWxlbWVudHMu
CisgICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5
cGUuc3RhcnRFZGl0aW5nKTogQ2FsbAorICAgICAgICBXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5n
IGFmdGVyIHJlbWVtZWJyaW5nIHNvbWUgY29udGV4dC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5P
YmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZS5lZGl0aW5nRW5kZWQpOiBSZXNldCB0
aGUgc2Nyb2xsTGVmdAorICAgICAgICBmb3IgdGhlIGxpc3QgZWxlbWVudCwgc2luY2UgaXQgbWln
aHQgaGF2ZSBzY3JvbGxlZCBkdXJpbmcgZWRpdGluZy4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5P
YmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZS5lZGl0aW5nQ2FuY2VsbGVkKTogQ2Fs
bCBlZGl0aW5nRW5kZWQKKyAgICAgICAgdGhlbiByZXN0b3JlIHRoZSBzdGF0ZSBmcm9tIHRoZSBj
b250ZXh0LiBUaGVuIGNhbGwgdXBkYXRlIHRvIHJlc3RvcmUgdGhlIHRpdGxlLgorICAgICAgICAo
V2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLmVkaXRpbmdD
b21taXR0ZWQpOiBDYWxsIGVkaXRpbmdDYW5jZWxsZWQKKyAgICAgICAgaWYgdGhlIHVzZXIgaW5w
dXQgYW5kIHRoZSBwcmV2aW91cyBpbnB1dCBhcmUgdGhlIHNhbWUuIENhbGwgZWRpdGluZ0VuZGVk
LCB0aGVuIGNhbGwgYXBwbHlFeHByZXNzaW9uCisgICAgICAgIHRvIGNvbW1pdCB0aGUgdXNlciBp
bnB1dC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50LnBy
b3RvdHlwZS5hcHBseUV4cHJlc3Npb24pOiBFdmFsdWF0ZXMgdGhlIGlucHV0IGV4cHJlc3Npb24K
KyAgICAgICAgYW5kIHN0b3JlcyB0aGUgcmVzdWx0IG9uIHRoZSBvYmplY3QgZm9yIHRoZSBwcm9w
ZXJ0eSBuYW1lIG9mIHRoaXMgZWxlbWVudC4gSWYgdGhlIGV4cHJlc3Npb24gaXMKKyAgICAgICAg
ZW1wdHksIGRlbGV0ZSB0aGUgcHJvcGVydHkgYW5kIHJlbW92ZSB0aGUgdHJlZSBlbGVtZW50Lgor
ICAgICAgICAqIHBhZ2UvaW5zcGVjdG9yL1Njb3BlQ2hhaW5TaWRlYmFyUGFuZS5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5TY29wZUNoYWluU2lkZWJhclBhbmUucHJvdG90eXBlLnVwZGF0ZSk6
IFNldCB0aGUgZWRpdEluU2VsZWN0ZWRDYWxsRnJhbWVXaGVuUGF1c2VkCisgICAgICAgIHByb3Bl
cnR5IG9uIGVhY2ggT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uCisgICAgICAgIChXZWJJbnNwZWN0
b3IuU2NvcGVWYXJpYWJsZVRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmF0dGFjaCk6IENhbGwgT2Jq
ZWN0UHJvcGVydHlUcmVlRWxlbWVudCdzIG9uYXR0YWNoCisgICAgICAgIHNpbmNlIGl0IGlzIG5v
dyBpbXBsZW1lbnRlZC4KKyAgICAgICAgKiBwYWdlL2luc3BlY3Rvci9TY3JpcHRzUGFuZWwuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5ldmFsdWF0ZUlu
U2VsZWN0ZWRDYWxsRnJhbWUpOiBBZGRlZCBhbiB1cGRhdGVJbnRlcmZhY2UgYXJndW1lbnQKKyAg
ICAgICAgdGhhdCBkZWZhdWx0cyB0byB0cnVlIGlmIG9taXR0ZWQuIEl0IHNwZWNpZmllcyB3aGV0
aGVyIHRvIGNhbGwgdXBkYXRlIG9uIHRoZSBzY29wZSBjaGFpbi4KKyAgICAgICAgKiBwYWdlL2lu
c3BlY3Rvci9pbnNwZWN0b3IuY3NzOiBOZXcgc3R5bGVzLgorICAgICAgICAqIHBhZ2UvaW5zcGVj
dG9yL3RyZWVvdXRsaW5lLmpzOgorICAgICAgICAoVHJlZUVsZW1lbnQucHJvdG90eXBlLl9hdHRh
Y2gpOiBGaXhlZCBhbiBleGNlcHRpb24gdGhhdCBmaXJlZCB3aGVuIGhhbmRsaW5nIHRoZSBzaG91
bGRSZWZyZXNoQ2hpbGRyZW4KKyAgICAgICAgY2hhbmdlLiBUaGUgbmV4dFNpYmxpbmcgd291bGQg
ZXhpc3QgYnV0IGhhdmUgYSBfbGlzdEl0ZW1Ob2RlIHRoYXQgZGlkbid0IG1hdGNoIHRoZSBuZXcg
cGFyZW50LgorCisyMDA4LTA4LTE4ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNv
bT4KKwogICAgICAgICBTdXJyb3VuZCB0aGUgZXhwcmVzc2lvbiB0byBiZSBldmFsdWF0ZWQgaW4g
cGFyZW50aGVzaXMgc28gdGhlCiAgICAgICAgIHJlc3VsdCBvZiB0aGUgZXZhbCBpcyB0aGUgcmVz
dWx0IG9mIHRoZSB3aG9sZSBleHByZXNzaW9uIG5vdAogICAgICAgICB0aGUgbGFzdCBwb3RlbnRp
YWwgc3ViLWV4cHJlc3Npb24uIFNvIGV2YWx1YXRpbmcge3g6IDEyM30KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9pbnNwZWN0b3IvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMgYi9XZWJDb3Jl
L3BhZ2UvaW5zcGVjdG9yL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzCmluZGV4IDlhZGIxNjIu
LmJmNjhjZjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvT2JqZWN0UHJvcGVy
dGllc1NlY3Rpb24uanMKKysrIGIvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9PYmplY3RQcm9wZXJ0
aWVzU2VjdGlvbi5qcwpAQCAtMzksNiArMzksNyBAQCBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVy
dGllc1NlY3Rpb24gPSBmdW5jdGlvbihvYmplY3QsIHRpdGxlLCBzdWJ0aXRsZSwgZW1wdHlQbAog
ICAgIHRoaXMuaWdub3JlSGFzT3duUHJvcGVydHkgPSBpZ25vcmVIYXNPd25Qcm9wZXJ0eTsKICAg
ICB0aGlzLmV4dHJhUHJvcGVydGllcyA9IGV4dHJhUHJvcGVydGllczsKICAgICB0aGlzLnRyZWVF
bGVtZW50Q29uc3RydWN0b3IgPSB0cmVlRWxlbWVudENvbnN0cnVjdG9yIHx8IFdlYkluc3BlY3Rv
ci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50OworICAgIHRoaXMuZWRpdGFibGUgPSB0cnVlOwog
CiAgICAgV2ViSW5zcGVjdG9yLlByb3BlcnRpZXNTZWN0aW9uLmNhbGwodGhpcywgdGl0bGUsIHN1
YnRpdGxlKTsKIH0KQEAgLTQ2LDYgKzQ3LDExIEBAIFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0
aWVzU2VjdGlvbiA9IGZ1bmN0aW9uKG9iamVjdCwgdGl0bGUsIHN1YnRpdGxlLCBlbXB0eVBsCiBX
ZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlID0gewogICAgIG9u
cG9wdWxhdGU6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAgIHRoaXMudXBkYXRlKCk7CisgICAg
fSwKKworICAgIHVwZGF0ZTogZnVuY3Rpb24oKQorICAgIHsKICAgICAgICAgdmFyIHByb3BlcnRp
ZXMgPSBbXTsKICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiB0aGlzLm9iamVjdCkKICAgICAgICAg
ICAgIHByb3BlcnRpZXMucHVzaChwcm9wKTsKQEAgLTU0LDYgKzYwLDggQEAgV2ViSW5zcGVjdG9y
Lk9iamVjdFByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICBw
cm9wZXJ0aWVzLnB1c2gocHJvcCk7CiAgICAgICAgIHByb3BlcnRpZXMuc29ydCgpOwogCisgICAg
ICAgIHRoaXMucHJvcGVydGllc1RyZWVPdXRsaW5lLnJlbW92ZUNoaWxkcmVuKCk7CisKICAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wZXJ0aWVzLmxlbmd0aDsgKytpKSB7CiAgICAgICAg
ICAgICB2YXIgb2JqZWN0ID0gdGhpcy5vYmplY3Q7CiAgICAgICAgICAgICB2YXIgcHJvcGVydHlO
YW1lID0gcHJvcGVydGllc1tpXTsKQEAgLTgxLDI4ICs4OSw4IEBAIFdlYkluc3BlY3Rvci5PYmpl
Y3RQcm9wZXJ0eVRyZWVFbGVtZW50ID0gZnVuY3Rpb24ocGFyZW50T2JqZWN0LCBwcm9wZXJ0eU5h
bWUpCiAgICAgdGhpcy5wYXJlbnRPYmplY3QgPSBwYXJlbnRPYmplY3Q7CiAgICAgdGhpcy5wcm9w
ZXJ0eU5hbWUgPSBwcm9wZXJ0eU5hbWU7CiAKLSAgICB2YXIgY2hpbGRPYmplY3QgPSB0aGlzLnNh
ZmVQcm9wZXJ0eVZhbHVlKHBhcmVudE9iamVjdCwgcHJvcGVydHlOYW1lKTsKLSAgICB2YXIgaXNH
ZXR0ZXIgPSAoIl9fbG9va3VwR2V0dGVyX18iIGluIHBhcmVudE9iamVjdCAmJiBwYXJlbnRPYmpl
Y3QuX19sb29rdXBHZXR0ZXJfXyhwcm9wZXJ0eU5hbWUpKTsKLQotICAgIHZhciB0aXRsZSA9ICI8
c3BhbiBjbGFzcz1cIm5hbWVcIj4iICsgcHJvcGVydHlOYW1lLmVzY2FwZUhUTUwoKSArICI8L3Nw
YW4+OiAiOwotICAgIGlmICghaXNHZXR0ZXIpCi0gICAgICAgIHRpdGxlICs9ICI8c3BhbiBjbGFz
cz1cInZhbHVlXCI+IiArIE9iamVjdC5kZXNjcmliZShjaGlsZE9iamVjdCwgdHJ1ZSkuZXNjYXBl
SFRNTCgpICsgIjwvc3Bhbj4iOwotICAgIGVsc2UKLSAgICAgICAgLy8gRklYTUU6IHRoaXMgc2hv
dWxkIHNob3cgc29tZXRoaW5nIGxpa2UgImdldHRlciIgb25jZSB3ZSBjYW4gY2hhbmdlIGxvY2Fs
aXphdGlvbiAoYnVnIDE2NzM0KS4KLSAgICAgICAgdGl0bGUgKz0gIjxzcGFuIGNsYXNzPVwidmFs
dWUgZGltbWVkXCI+Jm1kYXNoOzwvc3Bhbj4iOwotCi0gICAgdmFyIGhhc1N1YlByb3BlcnRpZXMg
PSBmYWxzZTsKLSAgICB2YXIgdHlwZSA9IHR5cGVvZiBjaGlsZE9iamVjdDsKLSAgICBpZiAoY2hp
bGRPYmplY3QgJiYgKHR5cGUgPT09ICJvYmplY3QiIHx8IHR5cGUgPT09ICJmdW5jdGlvbiIpKSB7
Ci0gICAgICAgIGZvciAoc3ViUHJvcGVydHlOYW1lIGluIGNoaWxkT2JqZWN0KSB7Ci0gICAgICAg
ICAgICBpZiAoc3ViUHJvcGVydHlOYW1lID09PSAiX190cmVlRWxlbWVudElkZW50aWZpZXIiKQot
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgaGFzU3ViUHJvcGVydGllcyA9
IHRydWU7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLQotICAgIFRyZWVF
bGVtZW50LmNhbGwodGhpcywgdGl0bGUsIG51bGwsIGhhc1N1YlByb3BlcnRpZXMpOworICAgIC8v
IFBhc3MgYW4gZW1wdHkgdGl0bGUsIHRoZSB0aXRsZSBnZXRzIG1hZGUgbGF0ZXIgaW4gb25hdHRh
Y2guCisgICAgVHJlZUVsZW1lbnQuY2FsbCh0aGlzLCAiIiwgbnVsbCwgZmFsc2UpOwogfQogCiBX
ZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CkBAIC0x
MTUsOSArMTAzLDExIEBAIFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50LnBy
b3RvdHlwZSA9IHsKIAogICAgIG9ucG9wdWxhdGU6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAg
IGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCkKKyAgICAgICAgaWYgKHRoaXMuY2hpbGRyZW4ubGVu
Z3RoICYmICF0aGlzLnNob3VsZFJlZnJlc2hDaGlsZHJlbikKICAgICAgICAgICAgIHJldHVybjsK
IAorICAgICAgICB0aGlzLnJlbW92ZUNoaWxkcmVuKCk7CisKICAgICAgICAgdmFyIGNoaWxkT2Jq
ZWN0ID0gdGhpcy5zYWZlUHJvcGVydHlWYWx1ZSh0aGlzLnBhcmVudE9iamVjdCwgdGhpcy5wcm9w
ZXJ0eU5hbWUpOwogICAgICAgICB2YXIgcHJvcGVydGllcyA9IE9iamVjdC5zb3J0ZWRQcm9wZXJ0
aWVzKGNoaWxkT2JqZWN0KTsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wZXJ0aWVz
Lmxlbmd0aDsgKytpKSB7CkBAIC0xMjYsNiArMTE2LDE1NCBAQCBXZWJJbnNwZWN0b3IuT2JqZWN0
UHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgICAgICB0aGlzLmFwcGVuZENoaWxkKG5ldyB0aGlzLnRyZWVPdXRsaW5lLnNl
Y3Rpb24udHJlZUVsZW1lbnRDb25zdHJ1Y3RvcihjaGlsZE9iamVjdCwgcHJvcGVydHlOYW1lKSk7
CiAgICAgICAgIH0KKyAgICB9LAorCisgICAgb25kYmxjbGljazogZnVuY3Rpb24oZWxlbWVudCwg
ZXZlbnQpCisgICAgeworICAgICAgICB0aGlzLnN0YXJ0RWRpdGluZygpOworICAgIH0sCisKKyAg
ICBvbmF0dGFjaDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy51cGRhdGUoKTsKKyAg
ICB9LAorCisgICAgdXBkYXRlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB2YXIgY2hpbGRP
YmplY3QgPSB0aGlzLnNhZmVQcm9wZXJ0eVZhbHVlKHRoaXMucGFyZW50T2JqZWN0LCB0aGlzLnBy
b3BlcnR5TmFtZSk7CisgICAgICAgIHZhciBpc0dldHRlciA9ICgiX19sb29rdXBHZXR0ZXJfXyIg
aW4gdGhpcy5wYXJlbnRPYmplY3QgJiYgdGhpcy5wYXJlbnRPYmplY3QuX19sb29rdXBHZXR0ZXJf
Xyh0aGlzLnByb3BlcnR5TmFtZSkpOworCisgICAgICAgIHZhciBuYW1lRWxlbWVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICAgICAgbmFtZUVsZW1lbnQuY2xhc3NOYW1l
ID0gIm5hbWUiOworICAgICAgICBuYW1lRWxlbWVudC50ZXh0Q29udGVudCA9IHRoaXMucHJvcGVy
dHlOYW1lOworCisgICAgICAgIHRoaXMudmFsdWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgic3BhbiIpOworICAgICAgICB0aGlzLnZhbHVlRWxlbWVudC5jbGFzc05hbWUgPSAidmFs
dWUiOworICAgICAgICBpZiAoIWlzR2V0dGVyKSB7CisgICAgICAgICAgICB0aGlzLnZhbHVlRWxl
bWVudC50ZXh0Q29udGVudCA9IE9iamVjdC5kZXNjcmliZShjaGlsZE9iamVjdCwgdHJ1ZSk7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBGSVhNRTogdGhpcyBzaG91bGQgc2hvdyBz
b21ldGhpbmcgbGlrZSAiZ2V0dGVyIiAoYnVnIDE2NzM0KS4KKyAgICAgICAgICAgIHRoaXMudmFs
dWVFbGVtZW50LnRleHRDb250ZW50ID0gIlx1MjAxNCI7IC8vIGVtIGRhc2gKKyAgICAgICAgICAg
IHRoaXMudmFsdWVFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImRpbW1lZCIpOworICAgICAgICB9CisK
KyAgICAgICAgdGhpcy5saXN0SXRlbUVsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsKKworICAgICAg
ICB0aGlzLmxpc3RJdGVtRWxlbWVudC5hcHBlbmRDaGlsZChuYW1lRWxlbWVudCk7CisgICAgICAg
IHRoaXMubGlzdEl0ZW1FbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
KCI6ICIpKTsKKyAgICAgICAgdGhpcy5saXN0SXRlbUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy52
YWx1ZUVsZW1lbnQpOworCisgICAgICAgIHZhciBoYXNTdWJQcm9wZXJ0aWVzID0gZmFsc2U7Cisg
ICAgICAgIHZhciB0eXBlID0gdHlwZW9mIGNoaWxkT2JqZWN0OworICAgICAgICBpZiAoY2hpbGRP
YmplY3QgJiYgKHR5cGUgPT09ICJvYmplY3QiIHx8IHR5cGUgPT09ICJmdW5jdGlvbiIpKSB7Cisg
ICAgICAgICAgICBmb3IgKHN1YlByb3BlcnR5TmFtZSBpbiBjaGlsZE9iamVjdCkgeworICAgICAg
ICAgICAgICAgIGlmIChzdWJQcm9wZXJ0eU5hbWUgPT09ICJfX3RyZWVFbGVtZW50SWRlbnRpZmll
ciIpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGhhc1N1
YlByb3BlcnRpZXMgPSB0cnVlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQorICAgICAgICB9CisKKyAgICAgICAgdGhpcy5oYXNDaGlsZHJlbiA9IGhhc1N1YlByb3BlcnRp
ZXM7CisgICAgfSwKKworICAgIHVwZGF0ZVNpYmxpbmdzOiBmdW5jdGlvbigpCisgICAgeworICAg
ICAgICBpZiAodGhpcy5wYXJlbnQucm9vdCkKKyAgICAgICAgICAgIHRoaXMudHJlZU91dGxpbmUu
c2VjdGlvbi51cGRhdGUoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5wYXJlbnQu
c2hvdWxkUmVmcmVzaENoaWxkcmVuID0gdHJ1ZTsKKyAgICB9LAorCisgICAgc3RhcnRFZGl0aW5n
OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLmlzQmVpbmdFZGl0
ZWQodGhpcy52YWx1ZUVsZW1lbnQpIHx8ICF0aGlzLnRyZWVPdXRsaW5lLnNlY3Rpb24uZWRpdGFi
bGUpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdmFyIGNvbnRleHQgPSB7IGV4cGFu
ZGVkOiB0aGlzLmV4cGFuZGVkLCBoYXNDaGlsZHJlbjogdGhpcy5oYXNDaGlsZHJlbiB9OworCisg
ICAgICAgIC8vIExpZSBhYm91dCBvdXIgY2hpbGRyZW4gdG8gcHJldmVudCBleHBhbmRpbmcgb24g
ZG91YmxlIGNsaWNrIGFuZCB0byBjb2xsYXBzZSBzdWJwcm9wZXJ0aWVzLgorICAgICAgICB0aGlz
Lmhhc0NoaWxkcmVuID0gZmFsc2U7CisKKyAgICAgICAgdGhpcy5saXN0SXRlbUVsZW1lbnQuYWRk
U3R5bGVDbGFzcygiZWRpdGluZy1zdWItcGFydCIpOworCisgICAgICAgIFdlYkluc3BlY3Rvci5z
dGFydEVkaXRpbmcodGhpcy52YWx1ZUVsZW1lbnQsIHRoaXMuZWRpdGluZ0NvbW1pdHRlZC5iaW5k
KHRoaXMpLCB0aGlzLmVkaXRpbmdDYW5jZWxsZWQuYmluZCh0aGlzKSwgY29udGV4dCk7CisgICAg
fSwKKworICAgIGVkaXRpbmdFbmRlZDogZnVuY3Rpb24oY29udGV4dCkKKyAgICB7CisgICAgICAg
IHRoaXMubGlzdEl0ZW1FbGVtZW50LnNjcm9sbExlZnQgPSAwOworICAgICAgICB0aGlzLmxpc3RJ
dGVtRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJlZGl0aW5nLXN1Yi1wYXJ0Iik7CisgICAgfSwK
KworICAgIGVkaXRpbmdDYW5jZWxsZWQ6IGZ1bmN0aW9uKGVsZW1lbnQsIGNvbnRleHQpCisgICAg
eworICAgICAgICB0aGlzLmVkaXRpbmdFbmRlZChjb250ZXh0KTsKKyAgICAgICAgdGhpcy5oYXND
aGlsZHJlbiA9IGNvbnRleHQuaGFzQ2hpbGRyZW47CisgICAgICAgIGlmIChjb250ZXh0LmV4cGFu
ZGVkKQorICAgICAgICAgICAgdGhpcy5leHBhbmQoKTsKKyAgICAgICAgdGhpcy51cGRhdGUoKTsK
KyAgICB9LAorCisgICAgZWRpdGluZ0NvbW1pdHRlZDogZnVuY3Rpb24oZWxlbWVudCwgdXNlcklu
cHV0LCBwcmV2aW91c0NvbnRlbnQsIGNvbnRleHQpCisgICAgeworICAgICAgICBpZiAodXNlcklu
cHV0ID09PSBwcmV2aW91c0NvbnRlbnQpCisgICAgICAgICAgICByZXR1cm4gdGhpcy5lZGl0aW5n
Q2FuY2VsbGVkKGVsZW1lbnQsIGNvbnRleHQpOyAvLyBub3RoaW5nIGNoYW5nZWQsIHNvIGNhbmNl
bAorCisgICAgICAgIHRoaXMuZWRpdGluZ0VuZGVkKGNvbnRleHQpOworCisgICAgICAgIHRoaXMu
YXBwbHlFeHByZXNzaW9uKHVzZXJJbnB1dCwgdHJ1ZSk7CisKKyAgICAgICAgaWYgKGNvbnRleHQu
ZXhwYW5kZWQpCisgICAgICAgICAgICB0aGlzLmV4cGFuZCgpOworICAgIH0sCisKKyAgICBhcHBs
eUV4cHJlc3Npb246IGZ1bmN0aW9uKGV4cHJlc3Npb24sIHVwZGF0ZUludGVyZmFjZSkKKyAgICB7
CisgICAgICAgIHZhciBleHByZXNzaW9uTGVuZ3RoID0gZXhwcmVzc2lvbi50cmltV2hpdGVzcGFj
ZSgpLmxlbmd0aDsKKworICAgICAgICBpZiAoIWV4cHJlc3Npb25MZW5ndGgpIHsKKyAgICAgICAg
ICAgIC8vIFRoZSB1c2VyIGRlbGV0ZWQgdGhlIGV2ZXJ5dGhpbmcsIHNvIHRyeSB0byBkZWxldGUg
dGhlIHByb3BlcnR5LgorICAgICAgICAgICAgZGVsZXRlIHRoaXMucGFyZW50T2JqZWN0W3RoaXMu
cHJvcGVydHlOYW1lXTsKKworICAgICAgICAgICAgaWYgKHVwZGF0ZUludGVyZmFjZSkgeworICAg
ICAgICAgICAgICAgIGlmICh0aGlzLnByb3BlcnR5TmFtZSBpbiB0aGlzLnBhcmVudE9iamVjdCkg
eworICAgICAgICAgICAgICAgICAgICAvLyBUaGUgcHJvcGVydHkgd2FzIG5vdCBkZWxldGVkLCBz
byB1cGRhdGUuCisgICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlKCk7CisgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHByb3BlcnR5IHdhcyBk
ZWxldGVkLCBzbyByZW1vdmUgdGhpcyB0cmVlIGVsZW1lbnQuCisgICAgICAgICAgICAgICAgICAg
IHRoaXMucGFyZW50LnJlbW92ZUNoaWxkKHRoaXMpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8g
U3Vycm91bmQgdGhlIGV4cHJlc3Npb24gaW4gcGFyZW50aGVzaXMgc28gdGhlIHJlc3VsdCBvZiB0
aGUgZXZhbCBpcyB0aGUgcmVzdWx0CisgICAgICAgIC8vIG9mIHRoZSB3aG9sZSBleHByZXNzaW9u
IG5vdCB0aGUgbGFzdCBwb3RlbnRpYWwgc3ViLWV4cHJlc3Npb24uCisgICAgICAgIGV4cHJlc3Np
b24gPSAiKCIgKyBleHByZXNzaW9uICsgIikiOworCisgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAvLyBFdmFsdWF0ZSBpbiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGNhbGwgZnJhbWUgaWYgdGhl
IGRlYnVnZ2VyIGlzIHBhdXNlZC4KKyAgICAgICAgICAgIC8vIE90aGVyd2lzZSBldmFsdWF0ZSBp
biBhZ2FpbnN0IHRoZSBpbnNwZWN0ZWQgd2luZG93LgorICAgICAgICAgICAgaWYgKFdlYkluc3Bl
Y3Rvci5wYW5lbHMuc2NyaXB0cy5wYXVzZWQgJiYgdGhpcy50cmVlT3V0bGluZS5zZWN0aW9uLmVk
aXRJblNlbGVjdGVkQ2FsbEZyYW1lV2hlblBhdXNlZCkKKyAgICAgICAgICAgICAgICB2YXIgcmVz
dWx0ID0gV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLmV2YWx1YXRlSW5TZWxlY3RlZENhbGxG
cmFtZShleHByZXNzaW9uLCBmYWxzZSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgdmFyIHJlc3VsdCA9IEluc3BlY3RvckNvbnRyb2xsZXIuaW5zcGVjdGVkV2luZG93KCkuZXZh
bChleHByZXNzaW9uKTsKKworICAgICAgICAgICAgLy8gU3RvcmUgdGhlIHJlc3VsdCBpbiB0aGUg
cHJvcGVydHkuCisgICAgICAgICAgICB0aGlzLnBhcmVudE9iamVjdFt0aGlzLnByb3BlcnR5TmFt
ZV0gPSByZXN1bHQ7CisgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgLy8gVGhlIGV4
cHJlc3Npb24gZmFpbGVkIHNvIGRvbid0IGNoYW5nZSB0aGUgdmFsdWUuIFNvIGp1c3QgdXBkYXRl
IGFuZCByZXR1cm4uCisgICAgICAgICAgICBpZiAodXBkYXRlSW50ZXJmYWNlKQorICAgICAgICAg
ICAgICAgIHRoaXMudXBkYXRlKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwor
ICAgICAgICBpZiAodXBkYXRlSW50ZXJmYWNlKSB7CisgICAgICAgICAgICAvLyBDYWxsIHVwZGF0
ZVNpYmxpbmdzIHNpbmNlIHRoZWlyIHZhbHVlIG1pZ2h0IGJlIGJhc2VkIG9uIHRoZSB2YWx1ZSB0
aGF0IGp1c3QgY2hhbmdlZC4KKyAgICAgICAgICAgIHRoaXMudXBkYXRlU2libGluZ3MoKTsKKyAg
ICAgICAgfQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9T
Y29wZUNoYWluU2lkZWJhclBhbmUuanMgYi9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL1Njb3BlQ2hh
aW5TaWRlYmFyUGFuZS5qcwppbmRleCBmMmM0Y2NiLi4xNTdjZWU5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvaW5zcGVjdG9yL1Njb3BlQ2hhaW5TaWRlYmFyUGFuZS5qcworKysgYi9XZWJDb3Jl
L3BhZ2UvaW5zcGVjdG9yL1Njb3BlQ2hhaW5TaWRlYmFyUGFuZS5qcwpAQCAtODYsNiArODYsNyBA
QCBXZWJJbnNwZWN0b3IuU2NvcGVDaGFpblNpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgICAgICAgICBzdWJ0aXRsZSA9IG51bGw7CiAKICAgICAgICAgICAgIHZhciBzZWN0aW9uID0g
bmV3IFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbihzY29wZU9iamVjdCwgdGl0
bGUsIHN1YnRpdGxlLCBlbXB0eVBsYWNlaG9sZGVyLCB0cnVlLCBleHRyYVByb3BlcnRpZXMsIFdl
Ykluc3BlY3Rvci5TY29wZVZhcmlhYmxlVHJlZUVsZW1lbnQpOworICAgICAgICAgICAgc2VjdGlv
bi5lZGl0SW5TZWxlY3RlZENhbGxGcmFtZVdoZW5QYXVzZWQgPSB0cnVlOwogICAgICAgICAgICAg
c2VjdGlvbi5wYW5lID0gdGhpczsKIAogICAgICAgICAgICAgaWYgKCFmb3VuZExvY2FsU2NvcGUg
fHwgbG9jYWxTY29wZSkKQEAgLTEwNyw2ICsxMDgsNyBAQCBXZWJJbnNwZWN0b3IuU2NvcGVWYXJp
YWJsZVRyZWVFbGVtZW50ID0gZnVuY3Rpb24ocGFyZW50T2JqZWN0LCBwcm9wZXJ0eU5hbWUpCiBX
ZWJJbnNwZWN0b3IuU2NvcGVWYXJpYWJsZVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICBv
bmF0dGFjaDogZnVuY3Rpb24oKQogICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLk9iamVjdFBy
b3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLm9uYXR0YWNoLmNhbGwodGhpcyk7CiAgICAgICAg
IGlmICh0aGlzLmhhc0NoaWxkcmVuICYmIHRoaXMucHJvcGVydHlJZGVudGlmaWVyIGluIHRoaXMu
dHJlZU91dGxpbmUuc2VjdGlvbi5wYW5lLmNhbGxGcmFtZS5fZXhwYW5kZWRQcm9wZXJ0aWVzKQog
ICAgICAgICAgICAgdGhpcy5leHBhbmQoKTsKICAgICB9LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL2luc3BlY3Rvci9TY3JpcHRzUGFuZWwuanMgYi9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL1Nj
cmlwdHNQYW5lbC5qcwppbmRleCA1MjI3ZGNjLi5iOGNhN2Q1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvaW5zcGVjdG9yL1NjcmlwdHNQYW5lbC5qcworKysgYi9XZWJDb3JlL3BhZ2UvaW5zcGVj
dG9yL1NjcmlwdHNQYW5lbC5qcwpAQCAtMjgzLDEzICsyODMsMTYgQEAgV2ViSW5zcGVjdG9yLlNj
cmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBzb3VyY2VGcmFtZS5yZW1vdmVC
cmVha3BvaW50KGJyZWFrcG9pbnQpOwogICAgIH0sCiAKLSAgICBldmFsdWF0ZUluU2VsZWN0ZWRD
YWxsRnJhbWU6IGZ1bmN0aW9uKGNvZGUpCisgICAgZXZhbHVhdGVJblNlbGVjdGVkQ2FsbEZyYW1l
OiBmdW5jdGlvbihjb2RlLCB1cGRhdGVJbnRlcmZhY2UpCiAgICAgewogICAgICAgICB2YXIgc2Vs
ZWN0ZWRDYWxsRnJhbWUgPSB0aGlzLnNpZGViYXJQYW5lcy5jYWxsc3RhY2suc2VsZWN0ZWRDYWxs
RnJhbWU7CiAgICAgICAgIGlmICghdGhpcy5fcGF1c2VkIHx8ICFzZWxlY3RlZENhbGxGcmFtZSkK
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKHR5cGVvZiB1cGRhdGVJbnRlcmZhY2Ug
PT09ICJ1bmRlZmluZWQiKQorICAgICAgICAgICAgdXBkYXRlSW50ZXJmYWNlID0gdHJ1ZTsKICAg
ICAgICAgdmFyIHJlc3VsdCA9IHNlbGVjdGVkQ2FsbEZyYW1lLmV2YWx1YXRlKGNvZGUpOwotICAg
ICAgICB0aGlzLnNpZGViYXJQYW5lcy5zY29wZWNoYWluLnVwZGF0ZShzZWxlY3RlZENhbGxGcmFt
ZSk7CisgICAgICAgIGlmICh1cGRhdGVJbnRlcmZhY2UpCisgICAgICAgICAgICB0aGlzLnNpZGVi
YXJQYW5lcy5zY29wZWNoYWluLnVwZGF0ZShzZWxlY3RlZENhbGxGcmFtZSk7CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfSwKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2luc3BlY3Rv
ci9pbnNwZWN0b3IuY3NzIGIvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9pbnNwZWN0b3IuY3NzCmlu
ZGV4IDcxM2ZjY2QuLmU2YzczMjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3Iv
aW5zcGVjdG9yLmNzcworKysgYi9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL2luc3BlY3Rvci5jc3MK
QEAgLTEyMDgsNiArMTIwOCw5IEBAIGJvZHkuaW5hY3RpdmUgLnBsYWNhcmQuc2VsZWN0ZWQgewog
ICAgIC13ZWJraXQtdXNlci1tb2RpZnk6IHJlYWQtd3JpdGUtcGxhaW50ZXh0LW9ubHk7CiAgICAg
dGV4dC1vdmVyZmxvdzogY2xpcDsKICAgICBwYWRkaW5nLWxlZnQ6IDJweDsKKyAgICBtYXJnaW4t
bGVmdDogLTJweDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAycHg7CisgICAgbWFyZ2luLXJpZ2h0OiAt
MnB4OwogICAgIG1hcmdpbi1ib3R0b206IC0xcHg7CiAgICAgcGFkZGluZy1ib3R0b206IDFweDsK
ICAgICBvcGFjaXR5OiAxLjAgIWltcG9ydGFudDsKQEAgLTEyMjcsNiArMTIzMCwxMiBAQCBsaS5l
ZGl0aW5nIC5zd2F0Y2gsIGxpLmVkaXRpbmcgLmVuYWJsZWQtYnV0dG9uIHsKICAgICBkaXNwbGF5
OiBub25lICFpbXBvcnRhbnQ7CiB9CiAKKy5zZWN0aW9uIC5wcm9wZXJ0aWVzIGxpLmVkaXRpbmct
c3ViLXBhcnQgeworICAgIHBhZGRpbmc6IDNweCA2cHggOHB4IDE4cHg7CisgICAgbWFyZ2luOiAt
M3B4IC02cHggLThweCAtNnB4OworICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7Cit9CisKIC5zZWN0
aW9uIC5wcm9wZXJ0aWVzIC5vdmVybG9hZGVkLCAuc2VjdGlvbiAucHJvcGVydGllcyAuZGlzYWJs
ZWQgewogICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOwogfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wYWdlL2luc3BlY3Rvci90cmVlb3V0bGluZS5qcyBiL1dlYkNvcmUvcGFnZS9pbnNw
ZWN0b3IvdHJlZW91dGxpbmUuanMKaW5kZXggMDUzZDUxZS4uZDdlZDZiNyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL2luc3BlY3Rvci90cmVlb3V0bGluZS5qcworKysgYi9XZWJDb3JlL3BhZ2Uv
aW5zcGVjdG9yL3RyZWVvdXRsaW5lLmpzCkBAIC01NTYsNyArNTU2LDEwIEBAIFRyZWVFbGVtZW50
LnByb3RvdHlwZS5fYXR0YWNoID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgdGhpcy5vbmF0dGFj
aCh0aGlzKTsKICAgICB9CiAKLSAgICB0aGlzLnBhcmVudC5fY2hpbGRyZW5MaXN0Tm9kZS5pbnNl
cnRCZWZvcmUodGhpcy5fbGlzdEl0ZW1Ob2RlLCAodGhpcy5uZXh0U2libGluZyA/IHRoaXMubmV4
dFNpYmxpbmcuX2xpc3RJdGVtTm9kZSA6IG51bGwpKTsKKyAgICB2YXIgbmV4dFNpYmxpbmcgPSBu
dWxsOworICAgIGlmICh0aGlzLm5leHRTaWJsaW5nICYmIHRoaXMubmV4dFNpYmxpbmcuX2xpc3RJ
dGVtTm9kZSAmJiB0aGlzLm5leHRTaWJsaW5nLl9saXN0SXRlbU5vZGUucGFyZW50Tm9kZSA9PT0g
dGhpcy5wYXJlbnQuX2NoaWxkcmVuTGlzdE5vZGUpCisgICAgICAgIG5leHRTaWJsaW5nID0gdGhp
cy5uZXh0U2libGluZy5fbGlzdEl0ZW1Ob2RlOworICAgIHRoaXMucGFyZW50Ll9jaGlsZHJlbkxp
c3ROb2RlLmluc2VydEJlZm9yZSh0aGlzLl9saXN0SXRlbU5vZGUsIG5leHRTaWJsaW5nKTsKICAg
ICBpZiAodGhpcy5fY2hpbGRyZW5MaXN0Tm9kZSkKICAgICAgICAgdGhpcy5wYXJlbnQuX2NoaWxk
cmVuTGlzdE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuX2NoaWxkcmVuTGlzdE5vZGUsIHRoaXMuX2xp
c3RJdGVtTm9kZS5uZXh0U2libGluZyk7CiAgICAgaWYgKHRoaXMuc2VsZWN0ZWQpCi0tIAoxLjYu
MC5yYzMKCg==
</data>
<flag name="review"
          id="10168"
          type_id="1"
          status="+"
          setter="kmccullough"
    />
          </attachment>
      

    </bug>

</bugzilla>