<?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>27552</bug_id>
          
          <creation_ts>2009-07-22 12:20:34 -0700</creation_ts>
          <short_desc>remember last script displayed in Scripts panel</short_desc>
          <delta_ts>2009-11-18 16:53:04 -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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Patrick Mueller">pmuellr</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>133838</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick Mueller">pmuellr</who>
    <bug_when>2009-07-22 12:20:34 -0700</bug_when>
    <thetext>The following states should be saved across invocations in the Scripts panel:

- current source file being viewed
- expand/collapse state of:
   - Call Stack
   - Scope Variables
   
None of these seem to be saved; first source displayed seems to be random, and I think Call Stack and Scope Variables expand/collapse is hardcoded as expanded.

There may be other things on the panel, like Pause on Exception (not sure).

For current source file, I suggest we attempt to open the last open file if it&apos;s in the source list, otherwise resort to some other fixed behavior, like the first file on the list.  Anything seems better than random.

Another potential saveable thing would be the list of source files open, but that&apos;s dicer; even the current source file is a bit dicey.    I suspect this may work in practice, probably most developers are working on the same web pages with the same resources all day long.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138787</commentid>
    <comment_count>1</comment_count>
    <who name="Patrick Mueller">pmuellr</who>
    <bug_when>2009-08-10 13:13:58 -0700</bug_when>
    <thetext>I&apos;ve changed the scope of the bug to limit to the last script viewed.  The other items I listed - expand/collapse state of Call Stack and Scope Variables - probably make sense to leave expanded on open all the time (current behavior).

Not remembering the most recently viewed script turns out to be incredibly annoying for some of my debugging scenarios.  Namely, those with a number of scripts in the list.  Saves having to bring up the list of scripts, scroll to the one you want, and then selecting it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138792</commentid>
    <comment_count>2</comment_count>
      <attachid>34506</attachid>
    <who name="Patrick Mueller">pmuellr</who>
    <bug_when>2009-08-10 13:22:29 -0700</bug_when>
    <thetext>Created attachment 34506
proposed patch

Couple of issues with this patch:

- the behavior of always showing the first file added to the scripts menu still happens.  So if the &quot;last script&quot; file is also found in the list, two files will be added.  You can tell this has happened as the &quot;left arrow&quot; in the script traversal buttons is enabled.

- using the left and right arrows to traverse the &quot;open&quot; script files does not change the last viewed script

The behavior of the first point probably can&apos;t be easily fixed, as there probably is no good way to tell when scripts are being done loaded into the list - scripts may be added after the document has been loaded by more scripts.  

The second item can probably be fixed.

I suspect the existing behavior works in almost all cases though - I don&apos;t think I&apos;ve ever used the left/right arrows to traverse open scripts files, on purpose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146879</commentid>
    <comment_count>3</comment_count>
      <attachid>34506</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-09-11 20:10:35 -0700</bug_when>
    <thetext>Comment on attachment 34506
proposed patch

I think this is a good idea. But this assumes you only debug one site, and have only one Web Inspecgor open. This might be fine, but it means it wont always do the right thing. Maybe we need a &quot;LastViewedScriptFile-domain.com&quot; kind of thing?

Needs a ChangeLog.

&gt; if (url &amp;&amp; (url == lastURL)) {
&gt;     this._showScriptOrResource(option.representedObject);
&gt; }

No need for braces.

CC me on bus so I know to look at them. Otherwise I miss them until I go through the whole Web Inspector bug list every couple months.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146943</commentid>
    <comment_count>4</comment_count>
    <who name="Patrick Mueller">pmuellr</who>
    <bug_when>2009-09-12 13:33:51 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I think this is a good idea. But this assumes you only debug one site, and have
&gt; only one Web Inspecgor open. This might be fine, but it means it wont always do
&gt; the right thing. Maybe we need a &quot;LastViewedScriptFile-domain.com&quot; kind of
&gt; thing?

I suspect for most developers, it actually is the case that they are debugging one site at a time - or even if they aren&apos;t, they may well be debugging the same file across multiple pages.  Let&apos;s see how it works out in practice - if we need to add a domain to the key we&apos;re going to be potentially generating a lot of entries in the preferences.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147093</commentid>
    <comment_count>5</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-09-14 10:18:27 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; I think this is a good idea. But this assumes you only debug one site, and have
&gt; &gt; only one Web Inspecgor open. This might be fine, but it means it wont always do
&gt; &gt; the right thing. Maybe we need a &quot;LastViewedScriptFile-domain.com&quot; kind of
&gt; &gt; thing?
&gt; 
&gt; I suspect for most developers, it actually is the case that they are debugging
&gt; one site at a time - or even if they aren&apos;t, they may well be debugging the
&gt; same file across multiple pages.  Let&apos;s see how it works out in practice - if
&gt; we need to add a domain to the key we&apos;re going to be potentially generating a
&gt; lot of entries in the preferences.

Yeah I think you might be right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164329</commentid>
    <comment_count>6</comment_count>
      <attachid>43379</attachid>
    <who name="Patrick Mueller">pmuellr</who>
    <bug_when>2009-11-17 13:30:01 -0800</bug_when>
    <thetext>Created attachment 43379
proposed patch 2009/11/17 - a

Similar to previous patch, but catches more cases of the &quot;current script&quot; being selected.

The last script file viewed is saved in the setting &quot;LastViewedScriptFile&quot;.  This is set in ScriptsPanel._showScriptOrResource(), which is the common function used to cause a script to be displayed.  The parameters for this function have been refactored, since it would have otherwise meant adding a fourth parameter needed by only one call.  The &quot;option&quot; parameters are now collected as properties in a single &quot;option&quot; parameter, and the call sites have been changed to pass in literal objects as appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164340</commentid>
    <comment_count>7</comment_count>
      <attachid>43379</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-11-17 13:50:44 -0800</bug_when>
    <thetext>Comment on attachment 43379
proposed patch 2009/11/17 - a

&gt; +
&gt; +        // if not first item, check to see if this was the last viewed
&gt; +        else {

Put the comment inside the else block and remove the empty line.

&gt; +            if (url &amp;&amp; (url == lastURL))

Remove the inner parentheses and use ===. 

Otherwise r+. Nice cleanup with the options object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164563</commentid>
    <comment_count>8</comment_count>
      <attachid>43433</attachid>
    <who name="Patrick Mueller">pmuellr</who>
    <bug_when>2009-11-18 07:41:08 -0800</bug_when>
    <thetext>Created attachment 43433
proposed patch 2009/11/18 - a

addressed review issues from comment 7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164587</commentid>
    <comment_count>9</comment_count>
      <attachid>43433</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-11-18 09:03:37 -0800</bug_when>
    <thetext>Comment on attachment 43433
proposed patch 2009/11/18 - a

Looks good.
One comment though - you are using InspectorController.setting() in a sync manner, whereas we are going away from that. We now think that there is agent (with inspector backend) and a client (frontend). Interaction between those is supposed to be serialized and asynchronous (imagine that remote client attaches to the agent).

So we should either convert setting to async call with a callback or extract such methods into another interface like InspectorHost. First seems to be simpler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164605</commentid>
    <comment_count>10</comment_count>
      <attachid>43433</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-11-18 09:46:55 -0800</bug_when>
    <thetext>Comment on attachment 43433
proposed patch 2009/11/18 - a

Making InspectorController.setting async makes sense, but that will require many other changes first before it can be done here too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164823</commentid>
    <comment_count>11</comment_count>
      <attachid>43433</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-18 16:52:59 -0800</bug_when>
    <thetext>Comment on attachment 43433
proposed patch 2009/11/18 - a

Clearing flags on attachment: 43433

Committed r51156: &lt;http://trac.webkit.org/changeset/51156&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164824</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-18 16:53:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34506</attachid>
            <date>2009-08-10 13:22:29 -0700</date>
            <delta_ts>2009-11-17 13:30:01 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>27552.patch</filename>
            <type>text/plain</type>
            <size>1547</size>
            <attacher name="Patrick Mueller">pmuellr</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwkocmV2
aXNpb24gNDY5NjkpCisrKyBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVs
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC02OTUsNiArNjk1LDE1IEBAIFdlYkluc3BlY3Rvci5TY3Jp
cHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAvLyBUaGlzIHdpbGwgaGFwcGVuIGZvciB0
aGUgZmlyc3QgaXRlbSBhZGRlZCB0byB0aGUgbWVudS4KICAgICAgICAgaWYgKHNlbGVjdC5vcHRp
b25zW3NlbGVjdC5zZWxlY3RlZEluZGV4XSA9PT0gb3B0aW9uKQogICAgICAgICAgICAgdGhpcy5f
c2hvd1NjcmlwdE9yUmVzb3VyY2Uob3B0aW9uLnJlcHJlc2VudGVkT2JqZWN0KTsKKyAgICAgICAg
ICAgIAorICAgICAgICAvLyBpZiBub3QgZmlyc3QgaXRlbSwgY2hlY2sgdG8gc2VlIGlmIHRoaXMg
d2FzIHRoZSBsYXN0IHZpZXdlZAorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHZhciB1cmwg
PSBvcHRpb24ucmVwcmVzZW50ZWRPYmplY3QudXJsIHx8IG9wdGlvbi5yZXByZXNlbnRlZE9iamVj
dC5zb3VyY2VVUkw7CisgICAgICAgICAgICB2YXIgbGFzdFVSTCA9IEluc3BlY3RvckNvbnRyb2xs
ZXIuc2V0dGluZygiTGFzdFZpZXdlZFNjcmlwdEZpbGUiKTsKKyAgICAgICAgICAgIGlmICh1cmwg
JiYgKHVybCA9PSBsYXN0VVJMKSkgeworICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dTY3JpcHRP
clJlc291cmNlKG9wdGlvbi5yZXByZXNlbnRlZE9iamVjdCk7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KICAgICB9LAogCiAgICAgX2NsZWFyQ3VycmVudEV4ZWN1dGlvbkxpbmU6IGZ1bmN0aW9u
KCkKQEAgLTcyNiw3ICs3MzUsMTMgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5
cGUgPSB7CiAgICAgX2NoYW5nZVZpc2libGVGaWxlOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAg
ICAgICAgIHZhciBzZWxlY3QgPSB0aGlzLmZpbGVzU2VsZWN0RWxlbWVudDsKLSAgICAgICAgdGhp
cy5fc2hvd1NjcmlwdE9yUmVzb3VyY2Uoc2VsZWN0Lm9wdGlvbnNbc2VsZWN0LnNlbGVjdGVkSW5k
ZXhdLnJlcHJlc2VudGVkT2JqZWN0KTsKKyAgICAgICAgdmFyIHNjcmlwdCA9IHNlbGVjdC5vcHRp
b25zW3NlbGVjdC5zZWxlY3RlZEluZGV4XS5yZXByZXNlbnRlZE9iamVjdDsKKyAgICAgICAgdmFy
IHVybCA9IHNjcmlwdC51cmwgfHwgc2NyaXB0LnNvdXJjZVVSTDsKKworICAgICAgICBpZiAodXJs
KQorICAgICAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxlci5zZXRTZXR0aW5nKCJMYXN0Vmlld2Vk
U2NyaXB0RmlsZSIsIHVybCk7CisKKyAgICAgICAgdGhpcy5fc2hvd1NjcmlwdE9yUmVzb3VyY2Uo
c2NyaXB0KTsKICAgICB9LAogCiAgICAgX3N0YXJ0U2lkZWJhclJlc2l6ZURyYWc6IGZ1bmN0aW9u
KGV2ZW50KQo=
</data>
<flag name="review"
          id="20597"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43379</attachid>
            <date>2009-11-17 13:30:01 -0800</date>
            <delta_ts>2009-11-18 07:41:08 -0800</delta_ts>
            <desc>proposed patch 2009/11/17 - a</desc>
            <filename>27552.patch</filename>
            <type>text/plain</type>
            <size>7670</size>
            <attacher name="Patrick Mueller">pmuellr</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTA4NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMTEtMTcgIFBhdHJpY2sgTXVlbGxlciAgPFBhdHJpY2tfTXVl
bGxlckB1cy5pYm0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3IgLSByZW1lbWJlciBsYXN0IHNjcmlwdCBkaXNwbGF5ZWQg
aW4gU2NyaXB0cyBwYW5lbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Mjc1NTIKKworICAgICAgICBNYW51YWwgdGVzdCBhZGRlZAorCisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5zaG93U2NyaXB0KToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLnNob3dSZXNvdXJjZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fc2hvd1NjcmlwdE9yUmVzb3VyY2UpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuX2FkZFNjcmlwdFRv
RmlsZXNNZW51KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBl
Ll9jYWxsRnJhbWVTZWxlY3RlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVs
LnByb3RvdHlwZS5fZ29CYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwu
cHJvdG90eXBlLl9nb0ZvcndhcmQpOgorICAgICAgICAqIG1hbnVhbC10ZXN0cy9pbnNwZWN0b3Iv
cmVtZW1iZXItbGFzdC1zY3JpcHQuaHRtbDogQWRkZWQuCisKIDIwMDktMTEtMTcgIFBhdmVsIEZl
bGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGlt
b3RoeSBIYXRjaGVyLgpJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQ
YW5lbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0
c1BhbmVsLmpzCShyZXZpc2lvbiA1MTA3NSkKKysrIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TY3JpcHRzUGFuZWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTUwMSwxMiArNTAxLDEyIEBAIFdl
Ykluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgc2hvd1NjcmlwdDog
ZnVuY3Rpb24oc2NyaXB0LCBsaW5lKQogICAgIHsKLSAgICAgICAgdGhpcy5fc2hvd1NjcmlwdE9y
UmVzb3VyY2Uoc2NyaXB0LCBsaW5lLCB0cnVlKTsKKyAgICAgICAgdGhpcy5fc2hvd1NjcmlwdE9y
UmVzb3VyY2Uoc2NyaXB0LCB7bGluZTogbGluZSwgc2hvdWxkSGlnaGxpZ2h0TGluZTogdHJ1ZX0p
OwogICAgIH0sCiAKICAgICBzaG93UmVzb3VyY2U6IGZ1bmN0aW9uKHJlc291cmNlLCBsaW5lKQog
ICAgIHsKLSAgICAgICAgdGhpcy5fc2hvd1NjcmlwdE9yUmVzb3VyY2UocmVzb3VyY2UsIGxpbmUs
IHRydWUpOworICAgICAgICB0aGlzLl9zaG93U2NyaXB0T3JSZXNvdXJjZShyZXNvdXJjZSwge2xp
bmU6IGxpbmUsIHNob3VsZEhpZ2hsaWdodExpbmU6IHRydWV9KTsKICAgICB9LAogCiAgICAgc2hv
d1ZpZXc6IGZ1bmN0aW9uKHZpZXcpCkBAIC01NzQsOCArNTc0LDEyIEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuIHRoaXMuc291cmNl
RnJhbWVGb3JTY3JpcHQoc2NyaXB0T3JSZXNvdXJjZSk7CiAgICAgfSwKIAotICAgIF9zaG93U2Ny
aXB0T3JSZXNvdXJjZTogZnVuY3Rpb24oc2NyaXB0T3JSZXNvdXJjZSwgbGluZSwgc2hvdWxkSGln
aGxpZ2h0TGluZSwgZnJvbUJhY2tGb3J3YXJkQWN0aW9uKQorICAgIF9zaG93U2NyaXB0T3JSZXNv
dXJjZTogZnVuY3Rpb24oc2NyaXB0T3JSZXNvdXJjZSwgb3B0aW9ucykKICAgICB7CisgICAgICAg
IC8vIG9wdGlvbnMgPSB7bGluZTosIHNob3VsZEhpZ2hsaWdodExpbmU6LCBmcm9tQmFja0Zvcndh
cmRBY3Rpb246LCBpbml0aWFsTG9hZDp9CisgICAgICAgIGlmICghb3B0aW9ucykgCisgICAgICAg
ICAgICBvcHRpb25zID0ge307CisKICAgICAgICAgaWYgKCFzY3JpcHRPclJlc291cmNlKQogICAg
ICAgICAgICAgcmV0dXJuOwogCkBAIC02MDEsNyArNjA1LDExIEBAIFdlYkluc3BlY3Rvci5TY3Jp
cHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICBpZiAoIXZpZXcpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICAgICAgaWYgKCFmcm9tQmFja0ZvcndhcmRBY3Rpb24pIHsKKyAgICAgICAg
dmFyIHVybCA9IHNjcmlwdE9yUmVzb3VyY2UudXJsIHx8IHNjcmlwdE9yUmVzb3VyY2Uuc291cmNl
VVJMOworICAgICAgICBpZiAodXJsICYmICFvcHRpb25zLmluaXRpYWxMb2FkKQorICAgICAgICAg
ICAgSW5zcGVjdG9yQ29udHJvbGxlci5zZXRTZXR0aW5nKCJMYXN0Vmlld2VkU2NyaXB0RmlsZSIs
IHVybCk7CisKKyAgICAgICAgaWYgKCFvcHRpb25zLmZyb21CYWNrRm9yd2FyZEFjdGlvbikgewog
ICAgICAgICAgICAgdmFyIG9sZEluZGV4ID0gdGhpcy5fY3VycmVudEJhY2tGb3J3YXJkSW5kZXg7
CiAgICAgICAgICAgICBpZiAob2xkSW5kZXggPj0gMCkKICAgICAgICAgICAgICAgICB0aGlzLl9i
YWNrRm9yd2FyZExpc3Quc3BsaWNlKG9sZEluZGV4ICsgMSwgdGhpcy5fYmFja0ZvcndhcmRMaXN0
Lmxlbmd0aCAtIG9sZEluZGV4KTsKQEAgLTYyMiwxMSArNjMwLDExIEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgICAgIHRoaXMudmlzaWJsZVZpZXcgPSB2
aWV3OwogCi0gICAgICAgIGlmIChsaW5lKSB7CisgICAgICAgIGlmIChvcHRpb25zLmxpbmUpIHsK
ICAgICAgICAgICAgIGlmICh2aWV3LnJldmVhbExpbmUpCi0gICAgICAgICAgICAgICAgdmlldy5y
ZXZlYWxMaW5lKGxpbmUpOwotICAgICAgICAgICAgaWYgKHZpZXcuaGlnaGxpZ2h0TGluZSAmJiBz
aG91bGRIaWdobGlnaHRMaW5lKQotICAgICAgICAgICAgICAgIHZpZXcuaGlnaGxpZ2h0TGluZShs
aW5lKTsKKyAgICAgICAgICAgICAgICB2aWV3LnJldmVhbExpbmUob3B0aW9ucy5saW5lKTsKKyAg
ICAgICAgICAgIGlmICh2aWV3LmhpZ2hsaWdodExpbmUgJiYgb3B0aW9ucy5zaG91bGRIaWdobGln
aHRMaW5lKQorICAgICAgICAgICAgICAgIHZpZXcuaGlnaGxpZ2h0TGluZShvcHRpb25zLmxpbmUp
OwogICAgICAgICB9CiAKICAgICAgICAgdmFyIG9wdGlvbjsKQEAgLTY0Miw3ICs2NTAsNiBAQCBX
ZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgICAgICAgICAgY29u
c29sZS5hc3NlcnQob3B0aW9uKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHZhciB1
cmwgPSBzY3JpcHRPclJlc291cmNlLnVybDsKICAgICAgICAgICAgIHZhciBzY3JpcHQgPSB0aGlz
Ll9zY3JpcHRzRm9yVVJMc0luRmlsZXNTZWxlY3RbdXJsXTsKICAgICAgICAgICAgIGlmIChzY3Jp
cHQpCiAgICAgICAgICAgICAgICBvcHRpb24gPSBzY3JpcHQuZmlsZXNTZWxlY3RPcHRpb247CkBA
IC02OTksNyArNzA2LDE1IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0g
ewogICAgICAgICAvLyBDYWxsIF9zaG93U2NyaXB0T3JSZXNvdXJjZSBpZiB0aGUgb3B0aW9uIHdl
IGp1c3QgYXBwZW5kZWQgZW5kZWQgdXAgYmVpbmcgc2VsZWN0ZWQuCiAgICAgICAgIC8vIFRoaXMg
d2lsbCBoYXBwZW4gZm9yIHRoZSBmaXJzdCBpdGVtIGFkZGVkIHRvIHRoZSBtZW51LgogICAgICAg
ICBpZiAoc2VsZWN0Lm9wdGlvbnNbc2VsZWN0LnNlbGVjdGVkSW5kZXhdID09PSBvcHRpb24pCi0g
ICAgICAgICAgICB0aGlzLl9zaG93U2NyaXB0T3JSZXNvdXJjZShvcHRpb24ucmVwcmVzZW50ZWRP
YmplY3QpOworICAgICAgICAgICAgdGhpcy5fc2hvd1NjcmlwdE9yUmVzb3VyY2Uob3B0aW9uLnJl
cHJlc2VudGVkT2JqZWN0LCB7aW5pdGlhbExvYWQ6IHRydWV9KTsKKworICAgICAgICAvLyBpZiBu
b3QgZmlyc3QgaXRlbSwgY2hlY2sgdG8gc2VlIGlmIHRoaXMgd2FzIHRoZSBsYXN0IHZpZXdlZAor
ICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHZhciB1cmwgPSBvcHRpb24ucmVwcmVzZW50ZWRP
YmplY3QudXJsIHx8IG9wdGlvbi5yZXByZXNlbnRlZE9iamVjdC5zb3VyY2VVUkw7CisgICAgICAg
ICAgICB2YXIgbGFzdFVSTCA9IEluc3BlY3RvckNvbnRyb2xsZXIuc2V0dGluZygiTGFzdFZpZXdl
ZFNjcmlwdEZpbGUiKTsKKyAgICAgICAgICAgIGlmICh1cmwgJiYgKHVybCA9PSBsYXN0VVJMKSkK
KyAgICAgICAgICAgICAgICB0aGlzLl9zaG93U2NyaXB0T3JSZXNvdXJjZShvcHRpb24ucmVwcmVz
ZW50ZWRPYmplY3QsIHtpbml0aWFsTG9hZDogdHJ1ZX0pOworICAgICAgICB9CiAgICAgfSwKIAog
ICAgIF9jbGVhckN1cnJlbnRFeGVjdXRpb25MaW5lOiBmdW5jdGlvbigpCkBAIC03MjIsNyArNzM3
LDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRo
aXMuc2lkZWJhclBhbmVzLndhdGNoRXhwcmVzc2lvbnMucmVmcmVzaEV4cHJlc3Npb25zKCk7CiAK
ICAgICAgICAgdmFyIHNjcmlwdE9yUmVzb3VyY2UgPSB0aGlzLl9zb3VyY2VJRE1hcFtjdXJyZW50
RnJhbWUuc291cmNlSURdOwotICAgICAgICB0aGlzLl9zaG93U2NyaXB0T3JSZXNvdXJjZShzY3Jp
cHRPclJlc291cmNlLCBjdXJyZW50RnJhbWUubGluZSk7CisgICAgICAgIHRoaXMuX3Nob3dTY3Jp
cHRPclJlc291cmNlKHNjcmlwdE9yUmVzb3VyY2UsIHtsaW5lOiBjdXJyZW50RnJhbWUubGluZX0p
OwogCiAgICAgICAgIHRoaXMuX2V4ZWN1dGlvblNvdXJjZUZyYW1lID0gdGhpcy5fc291cmNlRnJh
bWVGb3JTY3JpcHRPclJlc291cmNlKHNjcmlwdE9yUmVzb3VyY2UpOwogICAgICAgICBpZiAodGhp
cy5fZXhlY3V0aW9uU291cmNlRnJhbWUpCkBAIC04NDEsNyArODU2LDcgQEAgV2ViSW5zcGVjdG9y
LlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KIAotICAgICAgICB0aGlzLl9zaG93U2NyaXB0T3JSZXNvdXJjZSh0aGlzLl9iYWNrRm9yd2Fy
ZExpc3RbLS10aGlzLl9jdXJyZW50QmFja0ZvcndhcmRJbmRleF0sIG51bGwsIGZhbHNlLCB0cnVl
KTsKKyAgICAgICAgdGhpcy5fc2hvd1NjcmlwdE9yUmVzb3VyY2UodGhpcy5fYmFja0ZvcndhcmRM
aXN0Wy0tdGhpcy5fY3VycmVudEJhY2tGb3J3YXJkSW5kZXhdLCB7ZnJvbUJhY2tGb3J3YXJkQWN0
aW9uOiB0cnVlfSk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZUJhY2tBbmRGb3J3YXJkQnV0dG9ucygp
OwogICAgIH0sCiAKQEAgLTg1Miw3ICs4NjcsNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVs
LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAg
IHRoaXMuX3Nob3dTY3JpcHRPclJlc291cmNlKHRoaXMuX2JhY2tGb3J3YXJkTGlzdFsrK3RoaXMu
X2N1cnJlbnRCYWNrRm9yd2FyZEluZGV4XSwgbnVsbCwgZmFsc2UsIHRydWUpOworICAgICAgICB0
aGlzLl9zaG93U2NyaXB0T3JSZXNvdXJjZSh0aGlzLl9iYWNrRm9yd2FyZExpc3RbKyt0aGlzLl9j
dXJyZW50QmFja0ZvcndhcmRJbmRleF0sIHtmcm9tQmFja0ZvcndhcmRBY3Rpb246IHRydWV9KTsK
ICAgICAgICAgdGhpcy5fdXBkYXRlQmFja0FuZEZvcndhcmRCdXR0b25zKCk7CiAgICAgfSwKIApJ
bmRleDogV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5zcGVjdG9yL3JlbWVtYmVyLWxhc3Qtc2NyaXB0
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5zcGVjdG9yL3JlbWVt
YmVyLWxhc3Qtc2NyaXB0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hbnVhbC10ZXN0
cy9pbnNwZWN0b3IvcmVtZW1iZXItbGFzdC1zY3JpcHQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw0MiBAQAorPHN0eWxlPmNvZGV7YmFja2dyb3VuZC1jb2xvcjogI2ZmYzt9PC9zdHlsZT4K
KzxwPjxiPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNzU1MiI+QnVnIDI3NTUyPC9hPiAtIHJlbWVtYmVyIGxhc3Qgc2NyaXB0IGRpc3Bs
YXllZCBpbiBTY3JpcHRzIHBhbmVsPC9iPgorCis8dWw+Cis8bGk+PHA+b3BlbiB0aGlzIHBhZ2Ug
d2l0aCBXZWIgSW5zcGVjdG9yLCBzd2l0Y2ggdG8gdGhlIDxiPlNjcmlwdHM8L2I+IHBhbmVsLCBl
bmFibGluZyBkZWJ1ZyBpZiByZXF1aXJlZAorPGxpPjxwPnRoZSBhdmFpbGFibGUgc2NyaXB0cyBp
biB0aGUgc2VsZWN0IGVsZW1lbnQgc2hvdWxkIGJlOgorICAgIDx1bD4KKyAgICAgICAgPGxpPjxi
Pihwcm9ncmFtKTogZjEuanM8L2I+CisgICAgICAgIDxsaT48Yj5yZW1lbWJlci1sYXN0LXNjcmlw
dC5odG1sPC9iPgorICAgIDwvdWw+Cis8bGk+PHA+c2VsZWN0IDxiPihwcm9ncmFtKTogZjEuanM8
L2I+IHNvIHRoZSBzb3VyY2UgaXMgYXZhaWxhYmxlCis8bGk+PHA+c3dpdGNoIHRvIHRoZSA8Yj5S
ZXNvdXJjZXM8L2I+IHBhbmVsCis8bGk+PHA+Y2xvc2UgV2ViIEluc3BlY3RvcgorPGxpPjxwPlJl
cGVhdCB0aGUgZm9sbG93aW5nIHNldmVyYWwgdGltZXMuICBFYWNoIHRpbWUsIDxiPihwcm9ncmFt
KTogZjEuanM8L2I+CitzaG91bGQgYmUgdGhlIHNlbGVjdGVkIHNjcmlwdDoKKyAgICA8dWw+Cisg
ICAgPGxpPm9wZW4gV2ViIEluc3BlY3Rvciwgc3dpdGNoIHRvIHRoZSA8Yj5TY3JpcHRzPC9iPiBw
YW5lbCwgdGhlbiBjbG9zZSBXZWIgSW5zcGVjdG9yCisgICAgPC91bD4KKzxsaT48cD5vcGVuIFdl
YiBJbnNwZWN0b3IsIHN3aXRjaCB0byB0aGUgPGI+U2NyaXB0czwvYj4gcGFuZWwKKzxsaT48cD5z
ZWxlY3QgPGI+cmVtZW1iZXItbGFzdC1zY3JpcHQuaHRtbDwvYj4gc28gdGhlIHNvdXJjZSBpcyBh
dmFpbGFibGUKKzxsaT48cD5SZXBlYXQgdGhlIGZvbGxvd2luZyBzZXZlcmFsIHRpbWVzLiAgRWFj
aCB0aW1lLCA8Yj5yZW1lbWJlci1sYXN0LXNjcmlwdC5odG1sPC9iPgorc2hvdWxkIGJlIHRoZSBz
ZWxlY3RlZCBzY3JpcHQ6CisgICAgPHVsPgorICAgIDxsaT5vcGVuIFdlYiBJbnNwZWN0b3IsIHN3
aXRjaCB0byB0aGUgPGI+U2NyaXB0czwvYj4gcGFuZWwsIHRoZW4gY2xvc2UgV2ViIEluc3BlY3Rv
cgorICAgIDwvdWw+Cis8L3VsPiAgICAKKworPHNjcmlwdD4KKworZjEgPSBGdW5jdGlvbihbCisg
ICAgIiIsCisgICAgIiAgIGRvTm90aGluZygpOyIsCisgICAgIi8vQHNvdXJjZVVSTD1mMS5qcyIK
K10uam9pbigiXG4iKSk7CisKK2Z1bmN0aW9uIGRvTm90aGluZygpIHsgLyogYWxsb3dzIG11bHRp
LWxpbmUgZnVuY3Rpb25zLCBlYXNpZXIgdG8gZGVidWcgKi8gfTsKKworZG9Ob3RoaW5nKCk7Citm
MSgpOworCis8L3NjcmlwdD4KKzwhLS0gRW5kIC0tPgo=
</data>
<flag name="review"
          id="25083"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43433</attachid>
            <date>2009-11-18 07:41:08 -0800</date>
            <delta_ts>2009-11-18 16:52:58 -0800</delta_ts>
            <desc>proposed patch 2009/11/18 - a</desc>
            <filename>27552.patch</filename>
            <type>text/plain</type>
            <size>7677</size>
            <attacher name="Patrick Mueller">pmuellr</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTExMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMTEtMTggIFBhdHJpY2sgTXVlbGxlciAgPFBhdHJpY2tfTXVl
bGxlckB1cy5pYm0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3IgLSByZW1lbWJlciBsYXN0IHNjcmlwdCBkaXNwbGF5ZWQg
aW4gU2NyaXB0cyBwYW5lbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Mjc1NTIKKworICAgICAgICBNYW51YWwgdGVzdCBhZGRlZAorICAgICAgICAKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLnNob3dTY3JpcHQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuc2hvd1Jlc291cmNlKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9zaG93U2NyaXB0T3JSZXNv
dXJjZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fYWRk
U2NyaXB0VG9GaWxlc01lbnUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5w
cm90b3R5cGUuX2NhbGxGcmFtZVNlbGVjdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3Jp
cHRzUGFuZWwucHJvdG90eXBlLl9nb0JhY2spOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlw
dHNQYW5lbC5wcm90b3R5cGUuX2dvRm9yd2FyZCk6CisgICAgICAgICogbWFudWFsLXRlc3RzL2lu
c3BlY3Rvci9yZW1lbWJlci1sYXN0LXNjcmlwdC5odG1sOiBBZGRlZC4KKwogMjAwOS0xMS0xOCAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYW4gQmVybnN0ZWluLgpJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Nj
cmlwdHNQYW5lbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
U2NyaXB0c1BhbmVsLmpzCShyZXZpc2lvbiA1MTA3NSkKKysrIFdlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9TY3JpcHRzUGFuZWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTUwMSwxMiArNTAxLDEy
IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgc2hvd1Nj
cmlwdDogZnVuY3Rpb24oc2NyaXB0LCBsaW5lKQogICAgIHsKLSAgICAgICAgdGhpcy5fc2hvd1Nj
cmlwdE9yUmVzb3VyY2Uoc2NyaXB0LCBsaW5lLCB0cnVlKTsKKyAgICAgICAgdGhpcy5fc2hvd1Nj
cmlwdE9yUmVzb3VyY2Uoc2NyaXB0LCB7bGluZTogbGluZSwgc2hvdWxkSGlnaGxpZ2h0TGluZTog
dHJ1ZX0pOwogICAgIH0sCiAKICAgICBzaG93UmVzb3VyY2U6IGZ1bmN0aW9uKHJlc291cmNlLCBs
aW5lKQogICAgIHsKLSAgICAgICAgdGhpcy5fc2hvd1NjcmlwdE9yUmVzb3VyY2UocmVzb3VyY2Us
IGxpbmUsIHRydWUpOworICAgICAgICB0aGlzLl9zaG93U2NyaXB0T3JSZXNvdXJjZShyZXNvdXJj
ZSwge2xpbmU6IGxpbmUsIHNob3VsZEhpZ2hsaWdodExpbmU6IHRydWV9KTsKICAgICB9LAogCiAg
ICAgc2hvd1ZpZXc6IGZ1bmN0aW9uKHZpZXcpCkBAIC01NzQsOCArNTc0LDEyIEBAIFdlYkluc3Bl
Y3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuIHRoaXMu
c291cmNlRnJhbWVGb3JTY3JpcHQoc2NyaXB0T3JSZXNvdXJjZSk7CiAgICAgfSwKIAotICAgIF9z
aG93U2NyaXB0T3JSZXNvdXJjZTogZnVuY3Rpb24oc2NyaXB0T3JSZXNvdXJjZSwgbGluZSwgc2hv
dWxkSGlnaGxpZ2h0TGluZSwgZnJvbUJhY2tGb3J3YXJkQWN0aW9uKQorICAgIF9zaG93U2NyaXB0
T3JSZXNvdXJjZTogZnVuY3Rpb24oc2NyaXB0T3JSZXNvdXJjZSwgb3B0aW9ucykKICAgICB7Cisg
ICAgICAgIC8vIG9wdGlvbnMgPSB7bGluZTosIHNob3VsZEhpZ2hsaWdodExpbmU6LCBmcm9tQmFj
a0ZvcndhcmRBY3Rpb246LCBpbml0aWFsTG9hZDp9CisgICAgICAgIGlmICghb3B0aW9ucykgCisg
ICAgICAgICAgICBvcHRpb25zID0ge307CisKICAgICAgICAgaWYgKCFzY3JpcHRPclJlc291cmNl
KQogICAgICAgICAgICAgcmV0dXJuOwogCkBAIC02MDEsNyArNjA1LDExIEBAIFdlYkluc3BlY3Rv
ci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICBpZiAoIXZpZXcpCiAgICAgICAg
ICAgICByZXR1cm47CiAKLSAgICAgICAgaWYgKCFmcm9tQmFja0ZvcndhcmRBY3Rpb24pIHsKKyAg
ICAgICAgdmFyIHVybCA9IHNjcmlwdE9yUmVzb3VyY2UudXJsIHx8IHNjcmlwdE9yUmVzb3VyY2Uu
c291cmNlVVJMOworICAgICAgICBpZiAodXJsICYmICFvcHRpb25zLmluaXRpYWxMb2FkKQorICAg
ICAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxlci5zZXRTZXR0aW5nKCJMYXN0Vmlld2VkU2NyaXB0
RmlsZSIsIHVybCk7CisKKyAgICAgICAgaWYgKCFvcHRpb25zLmZyb21CYWNrRm9yd2FyZEFjdGlv
bikgewogICAgICAgICAgICAgdmFyIG9sZEluZGV4ID0gdGhpcy5fY3VycmVudEJhY2tGb3J3YXJk
SW5kZXg7CiAgICAgICAgICAgICBpZiAob2xkSW5kZXggPj0gMCkKICAgICAgICAgICAgICAgICB0
aGlzLl9iYWNrRm9yd2FyZExpc3Quc3BsaWNlKG9sZEluZGV4ICsgMSwgdGhpcy5fYmFja0Zvcndh
cmRMaXN0Lmxlbmd0aCAtIG9sZEluZGV4KTsKQEAgLTYyMiwxMSArNjMwLDExIEBAIFdlYkluc3Bl
Y3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgICAgIHRoaXMudmlzaWJsZVZp
ZXcgPSB2aWV3OwogCi0gICAgICAgIGlmIChsaW5lKSB7CisgICAgICAgIGlmIChvcHRpb25zLmxp
bmUpIHsKICAgICAgICAgICAgIGlmICh2aWV3LnJldmVhbExpbmUpCi0gICAgICAgICAgICAgICAg
dmlldy5yZXZlYWxMaW5lKGxpbmUpOwotICAgICAgICAgICAgaWYgKHZpZXcuaGlnaGxpZ2h0TGlu
ZSAmJiBzaG91bGRIaWdobGlnaHRMaW5lKQotICAgICAgICAgICAgICAgIHZpZXcuaGlnaGxpZ2h0
TGluZShsaW5lKTsKKyAgICAgICAgICAgICAgICB2aWV3LnJldmVhbExpbmUob3B0aW9ucy5saW5l
KTsKKyAgICAgICAgICAgIGlmICh2aWV3LmhpZ2hsaWdodExpbmUgJiYgb3B0aW9ucy5zaG91bGRI
aWdobGlnaHRMaW5lKQorICAgICAgICAgICAgICAgIHZpZXcuaGlnaGxpZ2h0TGluZShvcHRpb25z
LmxpbmUpOwogICAgICAgICB9CiAKICAgICAgICAgdmFyIG9wdGlvbjsKQEAgLTY0Miw3ICs2NTAs
NiBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgICAgICAg
ICAgY29uc29sZS5hc3NlcnQob3B0aW9uKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
IHZhciB1cmwgPSBzY3JpcHRPclJlc291cmNlLnVybDsKICAgICAgICAgICAgIHZhciBzY3JpcHQg
PSB0aGlzLl9zY3JpcHRzRm9yVVJMc0luRmlsZXNTZWxlY3RbdXJsXTsKICAgICAgICAgICAgIGlm
IChzY3JpcHQpCiAgICAgICAgICAgICAgICBvcHRpb24gPSBzY3JpcHQuZmlsZXNTZWxlY3RPcHRp
b247CkBAIC02OTksNyArNzA2LDE0IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90
eXBlID0gewogICAgICAgICAvLyBDYWxsIF9zaG93U2NyaXB0T3JSZXNvdXJjZSBpZiB0aGUgb3B0
aW9uIHdlIGp1c3QgYXBwZW5kZWQgZW5kZWQgdXAgYmVpbmcgc2VsZWN0ZWQuCiAgICAgICAgIC8v
IFRoaXMgd2lsbCBoYXBwZW4gZm9yIHRoZSBmaXJzdCBpdGVtIGFkZGVkIHRvIHRoZSBtZW51Lgog
ICAgICAgICBpZiAoc2VsZWN0Lm9wdGlvbnNbc2VsZWN0LnNlbGVjdGVkSW5kZXhdID09PSBvcHRp
b24pCi0gICAgICAgICAgICB0aGlzLl9zaG93U2NyaXB0T3JSZXNvdXJjZShvcHRpb24ucmVwcmVz
ZW50ZWRPYmplY3QpOworICAgICAgICAgICAgdGhpcy5fc2hvd1NjcmlwdE9yUmVzb3VyY2Uob3B0
aW9uLnJlcHJlc2VudGVkT2JqZWN0LCB7aW5pdGlhbExvYWQ6IHRydWV9KTsKKyAgICAgICAgZWxz
ZSB7CisgICAgICAgICAgICAvLyBpZiBub3QgZmlyc3QgaXRlbSwgY2hlY2sgdG8gc2VlIGlmIHRo
aXMgd2FzIHRoZSBsYXN0IHZpZXdlZAorICAgICAgICAgICAgdmFyIHVybCA9IG9wdGlvbi5yZXBy
ZXNlbnRlZE9iamVjdC51cmwgfHwgb3B0aW9uLnJlcHJlc2VudGVkT2JqZWN0LnNvdXJjZVVSTDsK
KyAgICAgICAgICAgIHZhciBsYXN0VVJMID0gSW5zcGVjdG9yQ29udHJvbGxlci5zZXR0aW5nKCJM
YXN0Vmlld2VkU2NyaXB0RmlsZSIpOworICAgICAgICAgICAgaWYgKHVybCAmJiB1cmwgPT09IGxh
c3RVUkwpCisgICAgICAgICAgICAgICAgdGhpcy5fc2hvd1NjcmlwdE9yUmVzb3VyY2Uob3B0aW9u
LnJlcHJlc2VudGVkT2JqZWN0LCB7aW5pdGlhbExvYWQ6IHRydWV9KTsKKyAgICAgICAgfQogICAg
IH0sCiAKICAgICBfY2xlYXJDdXJyZW50RXhlY3V0aW9uTGluZTogZnVuY3Rpb24oKQpAQCAtNzIy
LDcgKzczNiw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAg
ICAgICB0aGlzLnNpZGViYXJQYW5lcy53YXRjaEV4cHJlc3Npb25zLnJlZnJlc2hFeHByZXNzaW9u
cygpOwogCiAgICAgICAgIHZhciBzY3JpcHRPclJlc291cmNlID0gdGhpcy5fc291cmNlSURNYXBb
Y3VycmVudEZyYW1lLnNvdXJjZUlEXTsKLSAgICAgICAgdGhpcy5fc2hvd1NjcmlwdE9yUmVzb3Vy
Y2Uoc2NyaXB0T3JSZXNvdXJjZSwgY3VycmVudEZyYW1lLmxpbmUpOworICAgICAgICB0aGlzLl9z
aG93U2NyaXB0T3JSZXNvdXJjZShzY3JpcHRPclJlc291cmNlLCB7bGluZTogY3VycmVudEZyYW1l
LmxpbmV9KTsKIAogICAgICAgICB0aGlzLl9leGVjdXRpb25Tb3VyY2VGcmFtZSA9IHRoaXMuX3Nv
dXJjZUZyYW1lRm9yU2NyaXB0T3JSZXNvdXJjZShzY3JpcHRPclJlc291cmNlKTsKICAgICAgICAg
aWYgKHRoaXMuX2V4ZWN1dGlvblNvdXJjZUZyYW1lKQpAQCAtODQxLDcgKzg1NSw3IEBAIFdlYklu
c3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKLSAgICAgICAgdGhpcy5fc2hvd1NjcmlwdE9yUmVzb3VyY2UodGhpcy5fYmFj
a0ZvcndhcmRMaXN0Wy0tdGhpcy5fY3VycmVudEJhY2tGb3J3YXJkSW5kZXhdLCBudWxsLCBmYWxz
ZSwgdHJ1ZSk7CisgICAgICAgIHRoaXMuX3Nob3dTY3JpcHRPclJlc291cmNlKHRoaXMuX2JhY2tG
b3J3YXJkTGlzdFstLXRoaXMuX2N1cnJlbnRCYWNrRm9yd2FyZEluZGV4XSwge2Zyb21CYWNrRm9y
d2FyZEFjdGlvbjogdHJ1ZX0pOwogICAgICAgICB0aGlzLl91cGRhdGVCYWNrQW5kRm9yd2FyZEJ1
dHRvbnMoKTsKICAgICB9LAogCkBAIC04NTIsNyArODY2LDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlw
dHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAot
ICAgICAgICB0aGlzLl9zaG93U2NyaXB0T3JSZXNvdXJjZSh0aGlzLl9iYWNrRm9yd2FyZExpc3Rb
Kyt0aGlzLl9jdXJyZW50QmFja0ZvcndhcmRJbmRleF0sIG51bGwsIGZhbHNlLCB0cnVlKTsKKyAg
ICAgICAgdGhpcy5fc2hvd1NjcmlwdE9yUmVzb3VyY2UodGhpcy5fYmFja0ZvcndhcmRMaXN0Wysr
dGhpcy5fY3VycmVudEJhY2tGb3J3YXJkSW5kZXhdLCB7ZnJvbUJhY2tGb3J3YXJkQWN0aW9uOiB0
cnVlfSk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZUJhY2tBbmRGb3J3YXJkQnV0dG9ucygpOwogICAg
IH0sCiAKSW5kZXg6IFdlYkNvcmUvbWFudWFsLXRlc3RzL2luc3BlY3Rvci9yZW1lbWJlci1sYXN0
LXNjcmlwdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRlc3RzL2luc3BlY3Rv
ci9yZW1lbWJlci1sYXN0LXNjcmlwdC5odG1sCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYW51
YWwtdGVzdHMvaW5zcGVjdG9yL3JlbWVtYmVyLWxhc3Qtc2NyaXB0Lmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNDIgQEAKKzxzdHlsZT5jb2Rle2JhY2tncm91bmQtY29sb3I6ICNmZmM7fTwv
c3R5bGU+Cis8cD48Yj5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Mjc1NTIiPkJ1ZyAyNzU1MjwvYT4gLSByZW1lbWJlciBsYXN0IHNjcmlw
dCBkaXNwbGF5ZWQgaW4gU2NyaXB0cyBwYW5lbDwvYj4KKworPHVsPgorPGxpPjxwPm9wZW4gdGhp
cyBwYWdlIHdpdGggV2ViIEluc3BlY3Rvciwgc3dpdGNoIHRvIHRoZSA8Yj5TY3JpcHRzPC9iPiBw
YW5lbCwgZW5hYmxpbmcgZGVidWcgaWYgcmVxdWlyZWQKKzxsaT48cD50aGUgYXZhaWxhYmxlIHNj
cmlwdHMgaW4gdGhlIHNlbGVjdCBlbGVtZW50IHNob3VsZCBiZToKKyAgICA8dWw+CisgICAgICAg
IDxsaT48Yj4ocHJvZ3JhbSk6IGYxLmpzPC9iPgorICAgICAgICA8bGk+PGI+cmVtZW1iZXItbGFz
dC1zY3JpcHQuaHRtbDwvYj4KKyAgICA8L3VsPgorPGxpPjxwPnNlbGVjdCA8Yj4ocHJvZ3JhbSk6
IGYxLmpzPC9iPiBzbyB0aGUgc291cmNlIGlzIGF2YWlsYWJsZQorPGxpPjxwPnN3aXRjaCB0byB0
aGUgPGI+UmVzb3VyY2VzPC9iPiBwYW5lbAorPGxpPjxwPmNsb3NlIFdlYiBJbnNwZWN0b3IKKzxs
aT48cD5SZXBlYXQgdGhlIGZvbGxvd2luZyBzZXZlcmFsIHRpbWVzLiAgRWFjaCB0aW1lLCA8Yj4o
cHJvZ3JhbSk6IGYxLmpzPC9iPgorc2hvdWxkIGJlIHRoZSBzZWxlY3RlZCBzY3JpcHQ6CisgICAg
PHVsPgorICAgIDxsaT5vcGVuIFdlYiBJbnNwZWN0b3IsIHN3aXRjaCB0byB0aGUgPGI+U2NyaXB0
czwvYj4gcGFuZWwsIHRoZW4gY2xvc2UgV2ViIEluc3BlY3RvcgorICAgIDwvdWw+Cis8bGk+PHA+
b3BlbiBXZWIgSW5zcGVjdG9yLCBzd2l0Y2ggdG8gdGhlIDxiPlNjcmlwdHM8L2I+IHBhbmVsCis8
bGk+PHA+c2VsZWN0IDxiPnJlbWVtYmVyLWxhc3Qtc2NyaXB0Lmh0bWw8L2I+IHNvIHRoZSBzb3Vy
Y2UgaXMgYXZhaWxhYmxlCis8bGk+PHA+UmVwZWF0IHRoZSBmb2xsb3dpbmcgc2V2ZXJhbCB0aW1l
cy4gIEVhY2ggdGltZSwgPGI+cmVtZW1iZXItbGFzdC1zY3JpcHQuaHRtbDwvYj4KK3Nob3VsZCBi
ZSB0aGUgc2VsZWN0ZWQgc2NyaXB0OgorICAgIDx1bD4KKyAgICA8bGk+b3BlbiBXZWIgSW5zcGVj
dG9yLCBzd2l0Y2ggdG8gdGhlIDxiPlNjcmlwdHM8L2I+IHBhbmVsLCB0aGVuIGNsb3NlIFdlYiBJ
bnNwZWN0b3IKKyAgICA8L3VsPgorPC91bD4gICAgCisKKzxzY3JpcHQ+CisKK2YxID0gRnVuY3Rp
b24oWworICAgICIiLAorICAgICIgICBkb05vdGhpbmcoKTsiLAorICAgICIvL0Bzb3VyY2VVUkw9
ZjEuanMiCitdLmpvaW4oIlxuIikpOworCitmdW5jdGlvbiBkb05vdGhpbmcoKSB7IC8qIGFsbG93
cyBtdWx0aS1saW5lIGZ1bmN0aW9ucywgZWFzaWVyIHRvIGRlYnVnICovIH07CisKK2RvTm90aGlu
ZygpOworZjEoKTsKKworPC9zY3JpcHQ+Cis8IS0tIEVuZCAtLT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>