<?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>48722</bug_id>
          
          <creation_ts>2010-10-30 19:18:21 -0700</creation_ts>
          <short_desc>[Qt] Add a &apos;hasSelection&apos; function to QWebView and QWebPage...</short_desc>
          <delta_ts>2010-12-23 09:05:13 -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>WebKit Qt</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>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>31552</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dawit A.">adawit</reporter>
          <assigned_to name="QtWebKit Unassigned">webkit-qt-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>302355</commentid>
    <comment_count>0</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-10-30 19:18:21 -0700</bug_when>
    <thetext>The attached patch adds a hasSelection function for quickly determining if there is selected content on the page. This is faster than doing selectedText().isEmpty()...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302359</commentid>
    <comment_count>1</comment_count>
      <attachid>72447</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-10-30 21:27:51 -0700</bug_when>
    <thetext>Created attachment 72447
proposed patch...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302360</commentid>
    <comment_count>2</comment_count>
      <attachid>72448</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-10-30 21:38:31 -0700</bug_when>
    <thetext>Created attachment 72448
proposed patch (Update I)...

Fixed code style issue (trailing whitespaces) in the previous patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302361</commentid>
    <comment_count>3</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-10-30 21:39:35 -0700</bug_when>
    <thetext>Attachment 72447 did not build on qt:
Build output: http://queues.webkit.org/results/4816140</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302362</commentid>
    <comment_count>4</comment_count>
      <attachid>72449</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-10-30 21:44:33 -0700</bug_when>
    <thetext>Created attachment 72449
proposed patch (Update II)...

More trailing whitespace removal...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302365</commentid>
    <comment_count>5</comment_count>
      <attachid>72451</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-10-30 22:50:12 -0700</bug_when>
    <thetext>Created attachment 72451
proposed patch (Update III)

Fixed the test case code. It was meant to use QCOMPARE not QVERIFY...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302371</commentid>
    <comment_count>6</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-10-31 05:18:00 -0700</bug_when>
    <thetext>This API addition looks fine to me. CC&apos;ing more people for ack/nak.

(Sidenote: Your patch is missing \since tags and a ChangeLog entry.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302378</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-31 06:00:37 -0700</bug_when>
    <thetext>Why is this a lot faster than selectedText().isEmpty()? I mean, couldn&apos;t some of this logic be put into selectedText() or is it the construction of the empty QString that is expensive?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302414</commentid>
    <comment_count>8</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-10-31 10:03:07 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Why is this a lot faster than selectedText().isEmpty()? I mean, couldn&apos;t some of this logic be put into selectedText() or is it the construction of the empty QString that is expensive?

I think you are missing the case of there being a selection when you do the check, i.e. selectedText().isEmpty()... In that case, you end up with the code trying to convert the current selection to a normalized range and then attempting to get a string represtation of that...  Obviously that is more expensive than simply asking the selection object for its type, which is a pre set flag/enum.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302456</commentid>
    <comment_count>9</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-31 12:31:21 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; Why is this a lot faster than selectedText().isEmpty()? I mean, couldn&apos;t some of this logic be put into selectedText() or is it the construction of the empty QString that is expensive?
&gt; 
&gt; I think you are missing the case of there being a selection when you do the check, i.e. selectedText().isEmpty()... In that case, you end up with the code trying to convert the current selection to a normalized range and then attempting to get a string represtation of that...  Obviously that is more expensive than simply asking the selection object for its type, which is a pre set flag/enum.

Maybe I didn&apos;t get you, but why couldn&apos;t selectedText() internally not just call hasSelection and return an empty string in the case it has not?

The reason is that I do not like adding such apis [optimization apis] as our users might not even use them or they won&apos;t understand why selectedText is expensive if there is no selection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302462</commentid>
    <comment_count>10</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-10-31 12:37:57 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Maybe I didn&apos;t get you, but why couldn&apos;t selectedText() internally not just call hasSelection and return an empty string in the case it has not?

Good point, we should do this regardless.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302467</commentid>
    <comment_count>11</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-10-31 12:52:24 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; Maybe I didn&apos;t get you, but why couldn&apos;t selectedText() internally not just call hasSelection and return an empty string in the case it has not?
&gt; 
&gt; Good point, we should do this regardless.

Opened bug 48736 for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302497</commentid>
    <comment_count>12</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-10-31 15:24:00 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; (In reply to comment #7)
&gt; &gt; &gt; Why is this a lot faster than selectedText().isEmpty()? I mean, couldn&apos;t some of this logic be put into selectedText() or is it the construction of the empty QString that is expensive?
&gt; &gt; 
&gt; &gt; I think you are missing the case of there being a selection when you do the check, i.e. selectedText().isEmpty()... In that case, you end up with the code trying to convert the current selection to a normalized range and then attempting to get a string represtation of that...  Obviously that is more expensive than simply asking the selection object for its type, which is a pre set flag/enum.
&gt; 
&gt; Maybe I didn&apos;t get you, but why couldn&apos;t selectedText() internally not just call hasSelection and return an empty string in the case it has not?
&gt; 
&gt; The reason is that I do not like adding such apis [optimization apis] as our users might not even use them or they won&apos;t understand why selectedText is expensive if there is no selection.

We are looking at this from completely different angles. Yes, I agree what Andreas ultimately did, short-circuting selectedText() when there is no selection, in bug 48736 is a good optimization. However, that was not what I was trying to address with this patch.

My intention here was to optimize the case where there is a selection, but the act of checking for the presence of a selection and actually accessing the selected content are two separate actions for the client. In that case calling selectedText().isEmpty() in one place and later on down the line calling selectedText() again would be expensive. For example when showing a menu item you might want to find out whether there is a selection to enable disable an action, but not retrieve the selected content yet. That would have to wait for the user&apos;s desired action.

Anyhow, this is no different than what is in other Qt APIs. For example, QLineEdit contains both hasSelectedText() and selectedText()...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302499</commentid>
    <comment_count>13</comment_count>
      <attachid>72451</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-31 16:00:28 -0700</bug_when>
    <thetext>Comment on attachment 72451
proposed patch (Update III)

Thanks for explaning the use-case, I find this API fine, but it will need review before cherry-picking it into 2.1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321789</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-14 01:35:20 -0800</bug_when>
    <thetext>I&apos;m unsure what&apos;s left to be done here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325885</commentid>
    <comment_count>15</comment_count>
      <attachid>77303</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-12-22 21:09:20 -0800</bug_when>
    <thetext>Created attachment 77303
Proposed patch (Update IV)

Updated the patch to make sure it applies against current trunk. Can someone please review and land this before it bit rots and gets forgotton ? No one seems to have any objection to this API thus far. Thanks...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325994</commentid>
    <comment_count>16</comment_count>
      <attachid>77303</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-12-23 02:05:07 -0800</bug_when>
    <thetext>Comment on attachment 77303
Proposed patch (Update IV)

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

&gt; WebKit/qt/ChangeLog:7
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        [Qt] Add a &apos;hasSelection&apos; function to QWebView and QWebPage...
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=48722
&gt; +

You need to explain here why that API is needed and why you cannot accomplish it with the current API. That is useful for git blame etc

&gt; WebKit/qt/Api/qwebpage.cpp:2630
&gt; +    By default, this property is false.

Im not sure this &apos;by default&apos; is needed. By default there is no selection, which means that the property is false... not the opposite.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326064</commentid>
    <comment_count>17</comment_count>
      <attachid>77332</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-12-23 07:08:34 -0800</bug_when>
    <thetext>Created attachment 77332
Proposed patch (Update V)

Addressed the issues in review comment #16.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326065</commentid>
    <comment_count>18</comment_count>
      <attachid>72451</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-12-23 07:09:32 -0800</bug_when>
    <thetext>Comment on attachment 72451
proposed patch (Update III)

Removed the r+ flag from the old patch...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326084</commentid>
    <comment_count>19</comment_count>
      <attachid>77332</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-23 08:23:39 -0800</bug_when>
    <thetext>Comment on attachment 77332
Proposed patch (Update V)

Clearing flags on attachment: 77332

Committed r74558: &lt;http://trac.webkit.org/changeset/74558&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326085</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-23 08:23:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326107</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-23 09:05:13 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/74558 might have broken GTK Linux 64-bit Debug
The following tests are not passing:
media/adopt-node-crash.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72447</attachid>
            <date>2010-10-30 21:27:51 -0700</date>
            <delta_ts>2010-10-30 21:38:31 -0700</delta_ts>
            <desc>proposed patch...</desc>
            <filename>bug_46722_add_hasSelection_api.patch</filename>
            <type>text/plain</type>
            <size>5442</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmlu
ZGV4IDljNjRlNzAuLjZiZjNlMzAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTEwLTMwICBEYXdp
dCBBbGVtYXllaHUgIDxhZGF3aXRAa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIEFkZCBhICdoYXNTZWxlY3Rpb24nIGZ1bmN0aW9u
IHRvIFFXZWJWaWV3IGFuZCBRV2ViUGFnZS4uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg3MjIKKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6
CisgICAgICAgIChRV2ViUGFnZTo6aGFzU2VsZWN0aW9uKQorICAgICAgICAqIEFwaS9xd2VicGFn
ZS5oOgorICAgICAgICAqIEFwaS9xd2Vidmlldy5jcHA6CisgICAgICAgIChRV2ViUGFnZTo6aGFz
U2VsZWN0aW9uKQorICAgICAgICAqIEFwaS9xd2Vidmlldy5oOgorICAgICAgICAqIHRlc3RzL3F3
ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHA6CisgICAgICAgICh0c3RfUVdlYlBhZ2U6OnRleHRTZWxl
Y3Rpb24pOgorCiAyMDEwLTEwLTI5ICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNAcmltLmNvbT4KIAog
ICAgICAgICBObyByZXZpZXcsIHJvbGxpbmcgb3V0IDcwOTcxLgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCA0
MGY0MWM1Li5hNmM2YmM5IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAor
KysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMjQxNCw2ICsyNDE0LDIzIEBAIGJv
b2wgUVdlYlBhZ2U6OmFjY2VwdE5hdmlnYXRpb25SZXF1ZXN0KFFXZWJGcmFtZSAqZnJhbWUsIGNv
bnN0IFFOZXR3b3JrUmVxdWVzdCAmCiB9CiAKIC8qIQorICAgIFxwcm9wZXJ0eSBRV2ViUGFnZTo6
aGFzU2VsZWN0aW9uCisgICAgXGJyaWVmIHdoZXRoZXIgdGhpcyBwYWdlIGNvbnRhaW5zIHNlbGVj
dGVkIGNvbnRlbnQgb3Igbm90LgorCisgICAgQnkgZGVmYXVsdCwgdGhpcyBwcm9wZXJ0eSBpcyBm
YWxzZS4KKworICAgIFxzYSBzZWxlY3Rpb25DaGFuZ2VkKCkKKyovCitib29sIFFXZWJQYWdlOjpo
YXNTZWxlY3Rpb24oKSBjb25zdAoreworICAgIGQtPmNyZWF0ZU1haW5GcmFtZSgpOworICAgIFdl
YkNvcmU6OkZyYW1lKiBmcmFtZSA9IGQtPnBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2Vk
T3JNYWluRnJhbWUoKTsKKyAgICBpZiAoZnJhbWUpCisgICAgICAgIHJldHVybiAoZnJhbWUtPnNl
bGVjdGlvbigpLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb25UeXBlKCkgIT0gVmlzaWJsZVNlbGVjdGlv
bjo6Tm9TZWxlY3Rpb24pOyAgICAKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIQogICAgIFxw
cm9wZXJ0eSBRV2ViUGFnZTo6c2VsZWN0ZWRUZXh0CiAgICAgXGJyaWVmIHRoZSB0ZXh0IGN1cnJl
bnRseSBzZWxlY3RlZAogCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmggYi9X
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKaW5kZXggMTVkMjQzMi4uZjRlMjQ0ZSAxMDA2NDQKLS0t
IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aApAQCAtNzEsNiArNzEsNyBAQCBjbGFzcyBRV0VCS0lUX0VYUE9SVCBRV2ViUGFnZSA6IHB1Ymxp
YyBRT2JqZWN0IHsKIAogICAgIFFfUFJPUEVSVFkoYm9vbCBtb2RpZmllZCBSRUFEIGlzTW9kaWZp
ZWQpCiAgICAgUV9QUk9QRVJUWShRU3RyaW5nIHNlbGVjdGVkVGV4dCBSRUFEIHNlbGVjdGVkVGV4
dCkKKyAgICBRX1BST1BFUlRZKGJvb2wgaGFzU2VsZWN0aW9uIFJFQUQgaGFzU2VsZWN0aW9uKQog
ICAgIFFfUFJPUEVSVFkoUVNpemUgdmlld3BvcnRTaXplIFJFQUQgdmlld3BvcnRTaXplIFdSSVRF
IHNldFZpZXdwb3J0U2l6ZSkKICAgICBRX1BST1BFUlRZKFFTaXplIHByZWZlcnJlZENvbnRlbnRz
U2l6ZSBSRUFEIHByZWZlcnJlZENvbnRlbnRzU2l6ZSBXUklURSBzZXRQcmVmZXJyZWRDb250ZW50
c1NpemUpCiAgICAgUV9QUk9QRVJUWShib29sIGZvcndhcmRVbnN1cHBvcnRlZENvbnRlbnQgUkVB
RCBmb3J3YXJkVW5zdXBwb3J0ZWRDb250ZW50IFdSSVRFIHNldEZvcndhcmRVbnN1cHBvcnRlZENv
bnRlbnQpCkBAIC0yNjcsNiArMjY4LDcgQEAgcHVibGljOgogICAgIHF1aW50NjQgdG90YWxCeXRl
cygpIGNvbnN0OwogICAgIHF1aW50NjQgYnl0ZXNSZWNlaXZlZCgpIGNvbnN0OwogCisgICAgYm9v
bCBoYXNTZWxlY3Rpb24oKSBjb25zdDsKICAgICBRU3RyaW5nIHNlbGVjdGVkVGV4dCgpIGNvbnN0
OwogCiAjaWZuZGVmIFFUX05PX0FDVElPTgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vi
dmlldy5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAppbmRleCA2NGI3YTkwLi40ZjBi
NTBjIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAorKysgYi9XZWJLaXQv
cXQvQXBpL3F3ZWJ2aWV3LmNwcApAQCAtNTcyLDYgKzU3MiwyMiBAQCBRSWNvbiBRV2ViVmlldzo6
aWNvbigpIGNvbnN0CiB9CiAKIC8qIQorICAgIFxwcm9wZXJ0eSBRV2ViVmlldzo6aGFzU2VsZWN0
aW9uCisgICAgXGJyaWVmIHdoZXRoZXIgdGhpcyBwYWdlIGNvbnRhaW5zIHNlbGVjdGVkIGNvbnRl
bnQgb3Igbm90LgorCisgICAgQnkgZGVmYXVsdCwgdGhpcyBwcm9wZXJ0eSBpcyBmYWxzZS4KKwor
ICAgIFxzYSBzZWxlY3Rpb25DaGFuZ2VkKCkKKyovCitib29sIFFXZWJWaWV3OjpoYXNTZWxlY3Rp
b24oKSBjb25zdAoreworICAgIGlmIChkLT5wYWdlKQorICAgICAgICByZXR1cm4gZC0+cGFnZS0+
aGFzU2VsZWN0aW9uKCk7CisgIAorICAgIHJldHVybiBmYWxzZTsKK30KKworLyohCiAgICAgXHBy
b3BlcnR5IFFXZWJWaWV3OjpzZWxlY3RlZFRleHQKICAgICBcYnJpZWYgdGhlIHRleHQgY3VycmVu
dGx5IHNlbGVjdGVkCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuaCBiL1dl
YktpdC9xdC9BcGkvcXdlYnZpZXcuaAppbmRleCAxZDY1MWQ1Li5kOTBmYTNlIDEwMDY0NAotLS0g
YS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmgKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5o
CkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFXZWJWaWV3IDogcHVibGlj
IFFXaWRnZXQgewogICAgIFFfUFJPUEVSVFkoUVVybCB1cmwgUkVBRCB1cmwgV1JJVEUgc2V0VXJs
KQogICAgIFFfUFJPUEVSVFkoUUljb24gaWNvbiBSRUFEIGljb24pCiAgICAgUV9QUk9QRVJUWShR
U3RyaW5nIHNlbGVjdGVkVGV4dCBSRUFEIHNlbGVjdGVkVGV4dCkKKyAgICBRX1BST1BFUlRZKGJv
b2wgaGFzU2VsZWN0aW9uIFJFQUQgaGFzU2VsZWN0aW9uKQogICAgIFFfUFJPUEVSVFkoYm9vbCBt
b2RpZmllZCBSRUFEIGlzTW9kaWZpZWQpCiAgICAgLy9RX1BST1BFUlRZKFF0OjpUZXh0SW50ZXJh
Y3Rpb25GbGFncyB0ZXh0SW50ZXJhY3Rpb25GbGFncyBSRUFEIHRleHRJbnRlcmFjdGlvbkZsYWdz
IFdSSVRFIHNldFRleHRJbnRlcmFjdGlvbkZsYWdzKQogICAgIFFfUFJPUEVSVFkocXJlYWwgdGV4
dFNpemVNdWx0aXBsaWVyIFJFQUQgdGV4dFNpemVNdWx0aXBsaWVyIFdSSVRFIHNldFRleHRTaXpl
TXVsdGlwbGllciBERVNJR05BQkxFIGZhbHNlKQpAQCAtNzMsNiArNzQsNyBAQCBwdWJsaWM6CiAg
ICAgUVVybCB1cmwoKSBjb25zdDsKICAgICBRSWNvbiBpY29uKCkgY29uc3Q7CiAKKyAgICBib29s
IGhhc1NlbGVjdGlvbigpIGNvbnN0OwogICAgIFFTdHJpbmcgc2VsZWN0ZWRUZXh0KCkgY29uc3Q7
CiAKICNpZm5kZWYgUVRfTk9fQUNUSU9OCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvdGVzdHMvcXdl
YnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdl
YnBhZ2UuY3BwCmluZGV4IGU2YjU5MDkuLjU3MzFhNzAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC90
ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC90ZXN0cy9xd2Vi
cGFnZS90c3RfcXdlYnBhZ2UuY3BwCkBAIC0xMDcwLDcgKzEwNzAsNyBAQCB2b2lkIHRzdF9RV2Vi
UGFnZTo6dGV4dFNlbGVjdGlvbigpCiAgICAgICAgICI8cCBpZD10d28+anVtcHMgb3ZlciB0aGUg
bGF6eSBkb2c8L3A+IiBcCiAgICAgICAgICI8cD5NYXkgdGhlIHNvdXJjZTxici8+YmUgd2l0aCB5
b3UhPC9wPjwvYm9keT48L2h0bWw+Iik7CiAgICAgcGFnZS0+bWFpbkZyYW1lKCktPnNldEh0bWwo
Y29udGVudCk7Ci0KKyAgICAKICAgICAvLyB0aGVzZSBhY3Rpb25zIG11c3QgZXhpc3QKICAgICBR
VkVSSUZZKHBhZ2UtPmFjdGlvbihRV2ViUGFnZTo6U2VsZWN0QWxsKSAhPSAwKTsKICAgICBRVkVS
SUZZKHBhZ2UtPmFjdGlvbihRV2ViUGFnZTo6U2VsZWN0TmV4dENoYXIpICE9IDApOwpAQCAtMTEw
Myw2ICsxMTAzLDEwIEBAIHZvaWQgdHN0X1FXZWJQYWdlOjp0ZXh0U2VsZWN0aW9uKCkKIAogICAg
IC8vIC4uYnV0IFNlbGVjdEFsbCBpcyBhd2FseXMgZW5hYmxlZAogICAgIFFDT01QQVJFKHBhZ2Ut
PmFjdGlvbihRV2ViUGFnZTo6U2VsZWN0QWxsKS0+aXNFbmFibGVkKCksIHRydWUpOworICAgIAor
CisgICAgLy8gVmVyaWZ5IGhhc1NlbGVjdGlvbiByZXR1cm5zIGZhbHNlIHNpbmNlIHRoZXJlIGlz
IG5vIHNlbGVjdGlvbiB5ZXQuLi4KKyAgICBRVkVSSUZZKHBhZ2UtPmhhc1NlbGVjdGlvbigpLCBm
YWxzZSk7ICAgIAogCiAgICAgLy8gdGhpcyB3aWxsIHNlbGVjdCB0aGUgZmlyc3QgcGFyYWdyYXBo
CiAgICAgUVN0cmluZyBzZWxlY3RTY3JpcHQgPSAidmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRl
UmFuZ2UoKTsgIiBcCkBAIC0xMTExLDYgKzExMTUsOSBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6dGV4
dFNlbGVjdGlvbigpCiAgICAgICAgICJnZXRTZWxlY3Rpb24oKS5hZGRSYW5nZShyYW5nZSk7IjsK
ICAgICBwYWdlLT5tYWluRnJhbWUoKS0+ZXZhbHVhdGVKYXZhU2NyaXB0KHNlbGVjdFNjcmlwdCk7
CiAgICAgUUNPTVBBUkUocGFnZS0+c2VsZWN0ZWRUZXh0KCkudHJpbW1lZCgpLCBRU3RyaW5nOjpm
cm9tTGF0aW4xKCJUaGUgcXVpY2sgYnJvd24gZm94IikpOworICAgIAorICAgIC8vIE1ha2Ugc3Vy
ZSBoYXNTZWxlY3Rpb24gcmV0dXJucyB0cnVlLCBzaW5jZSB0aGVyZSBpcyBzZWxlY3RlZCB0ZXh0
IG5vdy4uLgorICAgIFFWRVJJRlkocGFnZS0+aGFzU2VsZWN0aW9uKCksIHRydWUpOwogCiAgICAg
Ly8gaGVyZSB0aGUgYWN0aW9ucyBhcmUgZW5hYmxlZCBhZnRlciBhIHNlbGVjdGlvbiBoYXMgYmVl
biBjcmVhdGVkCiAgICAgUUNPTVBBUkUocGFnZS0+YWN0aW9uKFFXZWJQYWdlOjpTZWxlY3ROZXh0
Q2hhciktPmlzRW5hYmxlZCgpLCB0cnVlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72448</attachid>
            <date>2010-10-30 21:38:31 -0700</date>
            <delta_ts>2010-10-30 21:44:33 -0700</delta_ts>
            <desc>proposed patch (Update I)...</desc>
            <filename>bug_46722_add_hasSelection_api.patch</filename>
            <type>text/plain</type>
            <size>5143</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">KzIwMTAtMTAtMzAgIERhd2l0IEFsZW1heWVodSAgPGFkYXdpdEBrZGUub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQWRkIGEgJ2hhc1Nl
bGVjdGlvbicgZnVuY3Rpb24gdG8gUVdlYlZpZXcgYW5kIFFXZWJQYWdlLi4uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODcyMgorCisgICAgICAgICog
QXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjpoYXNTZWxlY3Rpb24pCisgICAg
ICAgICogQXBpL3F3ZWJwYWdlLmg6CisgICAgICAgICogQXBpL3F3ZWJ2aWV3LmNwcDoKKyAgICAg
ICAgKFFXZWJQYWdlOjpoYXNTZWxlY3Rpb24pCisgICAgICAgICogQXBpL3F3ZWJ2aWV3Lmg6Cisg
ICAgICAgICogdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKHRzdF9R
V2ViUGFnZTo6dGV4dFNlbGVjdGlvbik6CisKIDIwMTAtMTAtMjkgIERhbmllbCBCYXRlcyAgPGRi
YXRlc0ByaW0uY29tPgoKICAgICAgICAgTm8gcmV2aWV3LCByb2xsaW5nIG91dCA3MDk3MS4KZGlm
ZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2Vi
cGFnZS5jcHAKaW5kZXggNDBmNDFjNS4uYTZjNmJjOSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0Fw
aS9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAgLTI0MTQs
NiArMjQxNCwyMyBAQCBib29sIFFXZWJQYWdlOjphY2NlcHROYXZpZ2F0aW9uUmVxdWVzdChRV2Vi
RnJhbWUgKmZyYW1lLCBjb25zdCBRTmV0d29ya1JlcXVlc3QgJgogfQogCiAvKiEKKyAgICBccHJv
cGVydHkgUVdlYlBhZ2U6Omhhc1NlbGVjdGlvbgorICAgIFxicmllZiB3aGV0aGVyIHRoaXMgcGFn
ZSBjb250YWlucyBzZWxlY3RlZCBjb250ZW50IG9yIG5vdC4KKworICAgIEJ5IGRlZmF1bHQsIHRo
aXMgcHJvcGVydHkgaXMgZmFsc2UuCisKKyAgICBcc2Egc2VsZWN0aW9uQ2hhbmdlZCgpCisqLwor
Ym9vbCBRV2ViUGFnZTo6aGFzU2VsZWN0aW9uKCkgY29uc3QKK3sKKyAgICBkLT5jcmVhdGVNYWlu
RnJhbWUoKTsKKyAgICBXZWJDb3JlOjpGcmFtZSogZnJhbWUgPSBkLT5wYWdlLT5mb2N1c0NvbnRy
b2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CisgICAgaWYgKGZyYW1lKQorICAgICAgICBy
ZXR1cm4gKGZyYW1lLT5zZWxlY3Rpb24oKS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uVHlwZSgpICE9
IFZpc2libGVTZWxlY3Rpb246Ok5vU2VsZWN0aW9uKTsgICAgCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCisvKiEKICAgICBccHJvcGVydHkgUVdlYlBhZ2U6OnNlbGVjdGVkVGV4dAogICAgIFxicmll
ZiB0aGUgdGV4dCBjdXJyZW50bHkgc2VsZWN0ZWQKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0Fw
aS9xd2VicGFnZS5oIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCmluZGV4IDE1ZDI0MzIuLmY0
ZTI0NGUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAorKysgYi9XZWJLaXQv
cXQvQXBpL3F3ZWJwYWdlLmgKQEAgLTcxLDYgKzcxLDcgQEAgY2xhc3MgUVdFQktJVF9FWFBPUlQg
UVdlYlBhZ2UgOiBwdWJsaWMgUU9iamVjdCB7CiAKICAgICBRX1BST1BFUlRZKGJvb2wgbW9kaWZp
ZWQgUkVBRCBpc01vZGlmaWVkKQogICAgIFFfUFJPUEVSVFkoUVN0cmluZyBzZWxlY3RlZFRleHQg
UkVBRCBzZWxlY3RlZFRleHQpCisgICAgUV9QUk9QRVJUWShib29sIGhhc1NlbGVjdGlvbiBSRUFE
IGhhc1NlbGVjdGlvbikKICAgICBRX1BST1BFUlRZKFFTaXplIHZpZXdwb3J0U2l6ZSBSRUFEIHZp
ZXdwb3J0U2l6ZSBXUklURSBzZXRWaWV3cG9ydFNpemUpCiAgICAgUV9QUk9QRVJUWShRU2l6ZSBw
cmVmZXJyZWRDb250ZW50c1NpemUgUkVBRCBwcmVmZXJyZWRDb250ZW50c1NpemUgV1JJVEUgc2V0
UHJlZmVycmVkQ29udGVudHNTaXplKQogICAgIFFfUFJPUEVSVFkoYm9vbCBmb3J3YXJkVW5zdXBw
b3J0ZWRDb250ZW50IFJFQUQgZm9yd2FyZFVuc3VwcG9ydGVkQ29udGVudCBXUklURSBzZXRGb3J3
YXJkVW5zdXBwb3J0ZWRDb250ZW50KQpAQCAtMjY3LDYgKzI2OCw3IEBAIHB1YmxpYzoKICAgICBx
dWludDY0IHRvdGFsQnl0ZXMoKSBjb25zdDsKICAgICBxdWludDY0IGJ5dGVzUmVjZWl2ZWQoKSBj
b25zdDsKIAorICAgIGJvb2wgaGFzU2VsZWN0aW9uKCkgY29uc3Q7CiAgICAgUVN0cmluZyBzZWxl
Y3RlZFRleHQoKSBjb25zdDsKIAogI2lmbmRlZiBRVF9OT19BQ1RJT04KZGlmZiAtLWdpdCBhL1dl
YktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKaW5k
ZXggNjRiN2E5MC4uODc1ZWVlMSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5j
cHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKQEAgLTU3Miw2ICs1NzIsMjEgQEAg
UUljb24gUVdlYlZpZXc6Omljb24oKSBjb25zdAogfQogCiAvKiEKKyAgICBccHJvcGVydHkgUVdl
YlZpZXc6Omhhc1NlbGVjdGlvbgorICAgIFxicmllZiB3aGV0aGVyIHRoaXMgcGFnZSBjb250YWlu
cyBzZWxlY3RlZCBjb250ZW50IG9yIG5vdC4KKworICAgIEJ5IGRlZmF1bHQsIHRoaXMgcHJvcGVy
dHkgaXMgZmFsc2UuCisKKyAgICBcc2Egc2VsZWN0aW9uQ2hhbmdlZCgpCisqLworYm9vbCBRV2Vi
Vmlldzo6aGFzU2VsZWN0aW9uKCkgY29uc3QKK3sKKyAgICBpZiAoZC0+cGFnZSkKKyAgICAgICAg
cmV0dXJuIGQtPnBhZ2UtPmhhc1NlbGVjdGlvbigpOworICAgIHJldHVybiBmYWxzZTsKK30KKwor
LyohCiAgICAgXHByb3BlcnR5IFFXZWJWaWV3OjpzZWxlY3RlZFRleHQKICAgICBcYnJpZWYgdGhl
IHRleHQgY3VycmVudGx5IHNlbGVjdGVkCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdl
YnZpZXcuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuaAppbmRleCAxZDY1MWQ1Li5kOTBmYTNl
IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmgKKysrIGIvV2ViS2l0L3F0L0Fw
aS9xd2Vidmlldy5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFXZWJW
aWV3IDogcHVibGljIFFXaWRnZXQgewogICAgIFFfUFJPUEVSVFkoUVVybCB1cmwgUkVBRCB1cmwg
V1JJVEUgc2V0VXJsKQogICAgIFFfUFJPUEVSVFkoUUljb24gaWNvbiBSRUFEIGljb24pCiAgICAg
UV9QUk9QRVJUWShRU3RyaW5nIHNlbGVjdGVkVGV4dCBSRUFEIHNlbGVjdGVkVGV4dCkKKyAgICBR
X1BST1BFUlRZKGJvb2wgaGFzU2VsZWN0aW9uIFJFQUQgaGFzU2VsZWN0aW9uKQogICAgIFFfUFJP
UEVSVFkoYm9vbCBtb2RpZmllZCBSRUFEIGlzTW9kaWZpZWQpCiAgICAgLy9RX1BST1BFUlRZKFF0
OjpUZXh0SW50ZXJhY3Rpb25GbGFncyB0ZXh0SW50ZXJhY3Rpb25GbGFncyBSRUFEIHRleHRJbnRl
cmFjdGlvbkZsYWdzIFdSSVRFIHNldFRleHRJbnRlcmFjdGlvbkZsYWdzKQogICAgIFFfUFJPUEVS
VFkocXJlYWwgdGV4dFNpemVNdWx0aXBsaWVyIFJFQUQgdGV4dFNpemVNdWx0aXBsaWVyIFdSSVRF
IHNldFRleHRTaXplTXVsdGlwbGllciBERVNJR05BQkxFIGZhbHNlKQpAQCAtNzMsNiArNzQsNyBA
QCBwdWJsaWM6CiAgICAgUVVybCB1cmwoKSBjb25zdDsKICAgICBRSWNvbiBpY29uKCkgY29uc3Q7
CiAKKyAgICBib29sIGhhc1NlbGVjdGlvbigpIGNvbnN0OwogICAgIFFTdHJpbmcgc2VsZWN0ZWRU
ZXh0KCkgY29uc3Q7CiAKICNpZm5kZWYgUVRfTk9fQUNUSU9OCmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA5YzY0ZTcwLi42YmYzZTMw
IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOSBAQApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdl
L3RzdF9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdl
LmNwcAppbmRleCBlNmI1OTA5Li4yNTVmMTE0IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvdGVzdHMv
cXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAorKysgYi9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2Uv
dHN0X3F3ZWJwYWdlLmNwcApAQCAtMTEwNCw2ICsxMTA0LDkgQEAgdm9pZCB0c3RfUVdlYlBhZ2U6
OnRleHRTZWxlY3Rpb24oKQogICAgIC8vIC4uYnV0IFNlbGVjdEFsbCBpcyBhd2FseXMgZW5hYmxl
ZAogICAgIFFDT01QQVJFKHBhZ2UtPmFjdGlvbihRV2ViUGFnZTo6U2VsZWN0QWxsKS0+aXNFbmFi
bGVkKCksIHRydWUpOwogCisgICAgLy8gVmVyaWZ5IGhhc1NlbGVjdGlvbiByZXR1cm5zIGZhbHNl
IHNpbmNlIHRoZXJlIGlzIG5vIHNlbGVjdGlvbiB5ZXQuLi4KKyAgICBRVkVSSUZZKHBhZ2UtPmhh
c1NlbGVjdGlvbigpLCBmYWxzZSk7CisKICAgICAvLyB0aGlzIHdpbGwgc2VsZWN0IHRoZSBmaXJz
dCBwYXJhZ3JhcGgKICAgICBRU3RyaW5nIHNlbGVjdFNjcmlwdCA9ICJ2YXIgcmFuZ2UgPSBkb2N1
bWVudC5jcmVhdGVSYW5nZSgpOyAiIFwKICAgICAgICAgInZhciBub2RlID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoXCJvbmVcIik7ICIgXApAQCAtMTExMiw2ICsxMTE1LDkgQEAgdm9pZCB0c3Rf
UVdlYlBhZ2U6OnRleHRTZWxlY3Rpb24oKQogICAgIHBhZ2UtPm1haW5GcmFtZSgpLT5ldmFsdWF0
ZUphdmFTY3JpcHQoc2VsZWN0U2NyaXB0KTsKICAgICBRQ09NUEFSRShwYWdlLT5zZWxlY3RlZFRl
eHQoKS50cmltbWVkKCksIFFTdHJpbmc6OmZyb21MYXRpbjEoIlRoZSBxdWljayBicm93biBmb3gi
KSk7CiAKKyAgICAvLyBNYWtlIHN1cmUgaGFzU2VsZWN0aW9uIHJldHVybnMgdHJ1ZSwgc2luY2Ug
dGhlcmUgaXMgc2VsZWN0ZWQgdGV4dCBub3cuLi4KKyAgICBRVkVSSUZZKHBhZ2UtPmhhc1NlbGVj
dGlvbigpLCB0cnVlKTsKKwogICAgIC8vIGhlcmUgdGhlIGFjdGlvbnMgYXJlIGVuYWJsZWQgYWZ0
ZXIgYSBzZWxlY3Rpb24gaGFzIGJlZW4gY3JlYXRlZAogICAgIFFDT01QQVJFKHBhZ2UtPmFjdGlv
bihRV2ViUGFnZTo6U2VsZWN0TmV4dENoYXIpLT5pc0VuYWJsZWQoKSwgdHJ1ZSk7CiAgICAgUUNP
TVBBUkUocGFnZS0+YWN0aW9uKFFXZWJQYWdlOjpTZWxlY3RQcmV2aW91c0NoYXIpLT5pc0VuYWJs
ZWQoKSwgdHJ1ZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72449</attachid>
            <date>2010-10-30 21:44:33 -0700</date>
            <delta_ts>2010-10-30 22:50:12 -0700</delta_ts>
            <desc>proposed patch (Update II)...</desc>
            <filename>bug_48722_add_hasSelection_api.patch</filename>
            <type>text/plain</type>
            <size>5139</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">KzIwMTAtMTAtMzAgIERhd2l0IEFsZW1heWVodSAgPGFkYXdpdEBrZGUub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQWRkIGEgJ2hhc1Nl
bGVjdGlvbicgZnVuY3Rpb24gdG8gUVdlYlZpZXcgYW5kIFFXZWJQYWdlLi4uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODcyMgorCisgICAgICAgICog
QXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjpoYXNTZWxlY3Rpb24pCisgICAg
ICAgICogQXBpL3F3ZWJwYWdlLmg6CisgICAgICAgICogQXBpL3F3ZWJ2aWV3LmNwcDoKKyAgICAg
ICAgKFFXZWJQYWdlOjpoYXNTZWxlY3Rpb24pCisgICAgICAgICogQXBpL3F3ZWJ2aWV3Lmg6Cisg
ICAgICAgICogdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKHRzdF9R
V2ViUGFnZTo6dGV4dFNlbGVjdGlvbik6CisKIDIwMTAtMTAtMjkgIERhbmllbCBCYXRlcyAgPGRi
YXRlc0ByaW0uY29tPgoKICAgICAgICAgTm8gcmV2aWV3LCByb2xsaW5nIG91dCA3MDk3MS4KZGlm
ZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2Vi
cGFnZS5jcHAKaW5kZXggNDBmNDFjNS4uYTZjNmJjOSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0Fw
aS9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAgLTI0MTQs
NiArMjQxNCwyMyBAQCBib29sIFFXZWJQYWdlOjphY2NlcHROYXZpZ2F0aW9uUmVxdWVzdChRV2Vi
RnJhbWUgKmZyYW1lLCBjb25zdCBRTmV0d29ya1JlcXVlc3QgJgogfQogCiAvKiEKKyAgICBccHJv
cGVydHkgUVdlYlBhZ2U6Omhhc1NlbGVjdGlvbgorICAgIFxicmllZiB3aGV0aGVyIHRoaXMgcGFn
ZSBjb250YWlucyBzZWxlY3RlZCBjb250ZW50IG9yIG5vdC4KKworICAgIEJ5IGRlZmF1bHQsIHRo
aXMgcHJvcGVydHkgaXMgZmFsc2UuCisKKyAgICBcc2Egc2VsZWN0aW9uQ2hhbmdlZCgpCisqLwor
Ym9vbCBRV2ViUGFnZTo6aGFzU2VsZWN0aW9uKCkgY29uc3QKK3sKKyAgICBkLT5jcmVhdGVNYWlu
RnJhbWUoKTsKKyAgICBXZWJDb3JlOjpGcmFtZSogZnJhbWUgPSBkLT5wYWdlLT5mb2N1c0NvbnRy
b2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CisgICAgaWYgKGZyYW1lKQorICAgICAgICBy
ZXR1cm4gKGZyYW1lLT5zZWxlY3Rpb24oKS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uVHlwZSgpICE9
IFZpc2libGVTZWxlY3Rpb246Ok5vU2VsZWN0aW9uKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
Ky8qIQogICAgIFxwcm9wZXJ0eSBRV2ViUGFnZTo6c2VsZWN0ZWRUZXh0CiAgICAgXGJyaWVmIHRo
ZSB0ZXh0IGN1cnJlbnRseSBzZWxlY3RlZAogCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3
ZWJwYWdlLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKaW5kZXggMTVkMjQzMi4uZjRlMjQ0
ZSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCisrKyBiL1dlYktpdC9xdC9B
cGkvcXdlYnBhZ2UuaApAQCAtNzEsNiArNzEsNyBAQCBjbGFzcyBRV0VCS0lUX0VYUE9SVCBRV2Vi
UGFnZSA6IHB1YmxpYyBRT2JqZWN0IHsKIAogICAgIFFfUFJPUEVSVFkoYm9vbCBtb2RpZmllZCBS
RUFEIGlzTW9kaWZpZWQpCiAgICAgUV9QUk9QRVJUWShRU3RyaW5nIHNlbGVjdGVkVGV4dCBSRUFE
IHNlbGVjdGVkVGV4dCkKKyAgICBRX1BST1BFUlRZKGJvb2wgaGFzU2VsZWN0aW9uIFJFQUQgaGFz
U2VsZWN0aW9uKQogICAgIFFfUFJPUEVSVFkoUVNpemUgdmlld3BvcnRTaXplIFJFQUQgdmlld3Bv
cnRTaXplIFdSSVRFIHNldFZpZXdwb3J0U2l6ZSkKICAgICBRX1BST1BFUlRZKFFTaXplIHByZWZl
cnJlZENvbnRlbnRzU2l6ZSBSRUFEIHByZWZlcnJlZENvbnRlbnRzU2l6ZSBXUklURSBzZXRQcmVm
ZXJyZWRDb250ZW50c1NpemUpCiAgICAgUV9QUk9QRVJUWShib29sIGZvcndhcmRVbnN1cHBvcnRl
ZENvbnRlbnQgUkVBRCBmb3J3YXJkVW5zdXBwb3J0ZWRDb250ZW50IFdSSVRFIHNldEZvcndhcmRV
bnN1cHBvcnRlZENvbnRlbnQpCkBAIC0yNjcsNiArMjY4LDcgQEAgcHVibGljOgogICAgIHF1aW50
NjQgdG90YWxCeXRlcygpIGNvbnN0OwogICAgIHF1aW50NjQgYnl0ZXNSZWNlaXZlZCgpIGNvbnN0
OwogCisgICAgYm9vbCBoYXNTZWxlY3Rpb24oKSBjb25zdDsKICAgICBRU3RyaW5nIHNlbGVjdGVk
VGV4dCgpIGNvbnN0OwogCiAjaWZuZGVmIFFUX05PX0FDVElPTgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L3F0L0FwaS9xd2Vidmlldy5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAppbmRleCA2
NGI3YTkwLi44NzVlZWUxIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAor
KysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcApAQCAtNTcyLDYgKzU3MiwyMSBAQCBRSWNv
biBRV2ViVmlldzo6aWNvbigpIGNvbnN0CiB9CiAKIC8qIQorICAgIFxwcm9wZXJ0eSBRV2ViVmll
dzo6aGFzU2VsZWN0aW9uCisgICAgXGJyaWVmIHdoZXRoZXIgdGhpcyBwYWdlIGNvbnRhaW5zIHNl
bGVjdGVkIGNvbnRlbnQgb3Igbm90LgorCisgICAgQnkgZGVmYXVsdCwgdGhpcyBwcm9wZXJ0eSBp
cyBmYWxzZS4KKworICAgIFxzYSBzZWxlY3Rpb25DaGFuZ2VkKCkKKyovCitib29sIFFXZWJWaWV3
OjpoYXNTZWxlY3Rpb24oKSBjb25zdAoreworICAgIGlmIChkLT5wYWdlKQorICAgICAgICByZXR1
cm4gZC0+cGFnZS0+aGFzU2VsZWN0aW9uKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCisvKiEK
ICAgICBccHJvcGVydHkgUVdlYlZpZXc6OnNlbGVjdGVkVGV4dAogICAgIFxicmllZiB0aGUgdGV4
dCBjdXJyZW50bHkgc2VsZWN0ZWQKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vidmll
dy5oIGIvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5oCmluZGV4IDFkNjUxZDUuLmQ5MGZhM2UgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3
ZWJ2aWV3LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgUVdFQktJVF9FWFBPUlQgUVdlYlZpZXcg
OiBwdWJsaWMgUVdpZGdldCB7CiAgICAgUV9QUk9QRVJUWShRVXJsIHVybCBSRUFEIHVybCBXUklU
RSBzZXRVcmwpCiAgICAgUV9QUk9QRVJUWShRSWNvbiBpY29uIFJFQUQgaWNvbikKICAgICBRX1BS
T1BFUlRZKFFTdHJpbmcgc2VsZWN0ZWRUZXh0IFJFQUQgc2VsZWN0ZWRUZXh0KQorICAgIFFfUFJP
UEVSVFkoYm9vbCBoYXNTZWxlY3Rpb24gUkVBRCBoYXNTZWxlY3Rpb24pCiAgICAgUV9QUk9QRVJU
WShib29sIG1vZGlmaWVkIFJFQUQgaXNNb2RpZmllZCkKICAgICAvL1FfUFJPUEVSVFkoUXQ6OlRl
eHRJbnRlcmFjdGlvbkZsYWdzIHRleHRJbnRlcmFjdGlvbkZsYWdzIFJFQUQgdGV4dEludGVyYWN0
aW9uRmxhZ3MgV1JJVEUgc2V0VGV4dEludGVyYWN0aW9uRmxhZ3MpCiAgICAgUV9QUk9QRVJUWShx
cmVhbCB0ZXh0U2l6ZU11bHRpcGxpZXIgUkVBRCB0ZXh0U2l6ZU11bHRpcGxpZXIgV1JJVEUgc2V0
VGV4dFNpemVNdWx0aXBsaWVyIERFU0lHTkFCTEUgZmFsc2UpCkBAIC03Myw2ICs3NCw3IEBAIHB1
YmxpYzoKICAgICBRVXJsIHVybCgpIGNvbnN0OwogICAgIFFJY29uIGljb24oKSBjb25zdDsKIAor
ICAgIGJvb2wgaGFzU2VsZWN0aW9uKCkgY29uc3Q7CiAgICAgUVN0cmluZyBzZWxlY3RlZFRleHQo
KSBjb25zdDsKIAogI2lmbmRlZiBRVF9OT19BQ1RJT04KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9D
aGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDljNjRlNzAuLjZiZjNlMzAgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0
X3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3Bw
CmluZGV4IGU2YjU5MDkuLjI1NWYxMTQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC90ZXN0cy9xd2Vi
cGFnZS90c3RfcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3Rf
cXdlYnBhZ2UuY3BwCkBAIC0xMTA0LDYgKzExMDQsOSBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6dGV4
dFNlbGVjdGlvbigpCiAgICAgLy8gLi5idXQgU2VsZWN0QWxsIGlzIGF3YWx5cyBlbmFibGVkCiAg
ICAgUUNPTVBBUkUocGFnZS0+YWN0aW9uKFFXZWJQYWdlOjpTZWxlY3RBbGwpLT5pc0VuYWJsZWQo
KSwgdHJ1ZSk7CiAKKyAgICAvLyBWZXJpZnkgaGFzU2VsZWN0aW9uIHJldHVybnMgZmFsc2Ugc2lu
Y2UgdGhlcmUgaXMgbm8gc2VsZWN0aW9uIHlldC4uLgorICAgIFFWRVJJRlkocGFnZS0+aGFzU2Vs
ZWN0aW9uKCksIGZhbHNlKTsKKwogICAgIC8vIHRoaXMgd2lsbCBzZWxlY3QgdGhlIGZpcnN0IHBh
cmFncmFwaAogICAgIFFTdHJpbmcgc2VsZWN0U2NyaXB0ID0gInZhciByYW5nZSA9IGRvY3VtZW50
LmNyZWF0ZVJhbmdlKCk7ICIgXAogICAgICAgICAidmFyIG5vZGUgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZChcIm9uZVwiKTsgIiBcCkBAIC0xMTEyLDYgKzExMTUsOSBAQCB2b2lkIHRzdF9RV2Vi
UGFnZTo6dGV4dFNlbGVjdGlvbigpCiAgICAgcGFnZS0+bWFpbkZyYW1lKCktPmV2YWx1YXRlSmF2
YVNjcmlwdChzZWxlY3RTY3JpcHQpOwogICAgIFFDT01QQVJFKHBhZ2UtPnNlbGVjdGVkVGV4dCgp
LnRyaW1tZWQoKSwgUVN0cmluZzo6ZnJvbUxhdGluMSgiVGhlIHF1aWNrIGJyb3duIGZveCIpKTsK
IAorICAgIC8vIE1ha2Ugc3VyZSBoYXNTZWxlY3Rpb24gcmV0dXJucyB0cnVlLCBzaW5jZSB0aGVy
ZSBpcyBzZWxlY3RlZCB0ZXh0IG5vdy4uLgorICAgIFFWRVJJRlkocGFnZS0+aGFzU2VsZWN0aW9u
KCksIHRydWUpOworCiAgICAgLy8gaGVyZSB0aGUgYWN0aW9ucyBhcmUgZW5hYmxlZCBhZnRlciBh
IHNlbGVjdGlvbiBoYXMgYmVlbiBjcmVhdGVkCiAgICAgUUNPTVBBUkUocGFnZS0+YWN0aW9uKFFX
ZWJQYWdlOjpTZWxlY3ROZXh0Q2hhciktPmlzRW5hYmxlZCgpLCB0cnVlKTsKICAgICBRQ09NUEFS
RShwYWdlLT5hY3Rpb24oUVdlYlBhZ2U6OlNlbGVjdFByZXZpb3VzQ2hhciktPmlzRW5hYmxlZCgp
LCB0cnVlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72451</attachid>
            <date>2010-10-30 22:50:12 -0700</date>
            <delta_ts>2010-12-23 07:09:32 -0800</delta_ts>
            <desc>proposed patch (Update III)</desc>
            <filename>bug_48722_add_hasSelection_api.patch</filename>
            <type>text/plain</type>
            <size>5141</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">KzIwMTAtMTAtMzAgIERhd2l0IEFsZW1heWVodSAgPGFkYXdpdEBrZGUub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQWRkIGEgJ2hhc1Nl
bGVjdGlvbicgZnVuY3Rpb24gdG8gUVdlYlZpZXcgYW5kIFFXZWJQYWdlLi4uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODcyMgorCisgICAgICAgICog
QXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjpoYXNTZWxlY3Rpb24pCisgICAg
ICAgICogQXBpL3F3ZWJwYWdlLmg6CisgICAgICAgICogQXBpL3F3ZWJ2aWV3LmNwcDoKKyAgICAg
ICAgKFFXZWJQYWdlOjpoYXNTZWxlY3Rpb24pCisgICAgICAgICogQXBpL3F3ZWJ2aWV3Lmg6Cisg
ICAgICAgICogdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKHRzdF9R
V2ViUGFnZTo6dGV4dFNlbGVjdGlvbik6CisKIDIwMTAtMTAtMjkgIERhbmllbCBCYXRlcyAgPGRi
YXRlc0ByaW0uY29tPgoKICAgICAgICAgTm8gcmV2aWV3LCByb2xsaW5nIG91dCA3MDk3MS4KZGlm
ZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2Vi
cGFnZS5jcHAKaW5kZXggNDBmNDFjNS4uYTZjNmJjOSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0Fw
aS9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAgLTI0MTQs
NiArMjQxNCwyMyBAQCBib29sIFFXZWJQYWdlOjphY2NlcHROYXZpZ2F0aW9uUmVxdWVzdChRV2Vi
RnJhbWUgKmZyYW1lLCBjb25zdCBRTmV0d29ya1JlcXVlc3QgJgogfQogCiAvKiEKKyAgICBccHJv
cGVydHkgUVdlYlBhZ2U6Omhhc1NlbGVjdGlvbgorICAgIFxicmllZiB3aGV0aGVyIHRoaXMgcGFn
ZSBjb250YWlucyBzZWxlY3RlZCBjb250ZW50IG9yIG5vdC4KKworICAgIEJ5IGRlZmF1bHQsIHRo
aXMgcHJvcGVydHkgaXMgZmFsc2UuCisKKyAgICBcc2Egc2VsZWN0aW9uQ2hhbmdlZCgpCisqLwor
Ym9vbCBRV2ViUGFnZTo6aGFzU2VsZWN0aW9uKCkgY29uc3QKK3sKKyAgICBkLT5jcmVhdGVNYWlu
RnJhbWUoKTsKKyAgICBXZWJDb3JlOjpGcmFtZSogZnJhbWUgPSBkLT5wYWdlLT5mb2N1c0NvbnRy
b2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CisgICAgaWYgKGZyYW1lKQorICAgICAgICBy
ZXR1cm4gKGZyYW1lLT5zZWxlY3Rpb24oKS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uVHlwZSgpICE9
IFZpc2libGVTZWxlY3Rpb246Ok5vU2VsZWN0aW9uKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
Ky8qIQogICAgIFxwcm9wZXJ0eSBRV2ViUGFnZTo6c2VsZWN0ZWRUZXh0CiAgICAgXGJyaWVmIHRo
ZSB0ZXh0IGN1cnJlbnRseSBzZWxlY3RlZAogCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3
ZWJwYWdlLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKaW5kZXggMTVkMjQzMi4uZjRlMjQ0
ZSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCisrKyBiL1dlYktpdC9xdC9B
cGkvcXdlYnBhZ2UuaApAQCAtNzEsNiArNzEsNyBAQCBjbGFzcyBRV0VCS0lUX0VYUE9SVCBRV2Vi
UGFnZSA6IHB1YmxpYyBRT2JqZWN0IHsKIAogICAgIFFfUFJPUEVSVFkoYm9vbCBtb2RpZmllZCBS
RUFEIGlzTW9kaWZpZWQpCiAgICAgUV9QUk9QRVJUWShRU3RyaW5nIHNlbGVjdGVkVGV4dCBSRUFE
IHNlbGVjdGVkVGV4dCkKKyAgICBRX1BST1BFUlRZKGJvb2wgaGFzU2VsZWN0aW9uIFJFQUQgaGFz
U2VsZWN0aW9uKQogICAgIFFfUFJPUEVSVFkoUVNpemUgdmlld3BvcnRTaXplIFJFQUQgdmlld3Bv
cnRTaXplIFdSSVRFIHNldFZpZXdwb3J0U2l6ZSkKICAgICBRX1BST1BFUlRZKFFTaXplIHByZWZl
cnJlZENvbnRlbnRzU2l6ZSBSRUFEIHByZWZlcnJlZENvbnRlbnRzU2l6ZSBXUklURSBzZXRQcmVm
ZXJyZWRDb250ZW50c1NpemUpCiAgICAgUV9QUk9QRVJUWShib29sIGZvcndhcmRVbnN1cHBvcnRl
ZENvbnRlbnQgUkVBRCBmb3J3YXJkVW5zdXBwb3J0ZWRDb250ZW50IFdSSVRFIHNldEZvcndhcmRV
bnN1cHBvcnRlZENvbnRlbnQpCkBAIC0yNjcsNiArMjY4LDcgQEAgcHVibGljOgogICAgIHF1aW50
NjQgdG90YWxCeXRlcygpIGNvbnN0OwogICAgIHF1aW50NjQgYnl0ZXNSZWNlaXZlZCgpIGNvbnN0
OwogCisgICAgYm9vbCBoYXNTZWxlY3Rpb24oKSBjb25zdDsKICAgICBRU3RyaW5nIHNlbGVjdGVk
VGV4dCgpIGNvbnN0OwogCiAjaWZuZGVmIFFUX05PX0FDVElPTgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L3F0L0FwaS9xd2Vidmlldy5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAppbmRleCA2
NGI3YTkwLi44NzVlZWUxIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAor
KysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcApAQCAtNTcyLDYgKzU3MiwyMSBAQCBRSWNv
biBRV2ViVmlldzo6aWNvbigpIGNvbnN0CiB9CiAKIC8qIQorICAgIFxwcm9wZXJ0eSBRV2ViVmll
dzo6aGFzU2VsZWN0aW9uCisgICAgXGJyaWVmIHdoZXRoZXIgdGhpcyBwYWdlIGNvbnRhaW5zIHNl
bGVjdGVkIGNvbnRlbnQgb3Igbm90LgorCisgICAgQnkgZGVmYXVsdCwgdGhpcyBwcm9wZXJ0eSBp
cyBmYWxzZS4KKworICAgIFxzYSBzZWxlY3Rpb25DaGFuZ2VkKCkKKyovCitib29sIFFXZWJWaWV3
OjpoYXNTZWxlY3Rpb24oKSBjb25zdAoreworICAgIGlmIChkLT5wYWdlKQorICAgICAgICByZXR1
cm4gZC0+cGFnZS0+aGFzU2VsZWN0aW9uKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCisvKiEK
ICAgICBccHJvcGVydHkgUVdlYlZpZXc6OnNlbGVjdGVkVGV4dAogICAgIFxicmllZiB0aGUgdGV4
dCBjdXJyZW50bHkgc2VsZWN0ZWQKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vidmll
dy5oIGIvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5oCmluZGV4IDFkNjUxZDUuLmQ5MGZhM2UgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3
ZWJ2aWV3LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgUVdFQktJVF9FWFBPUlQgUVdlYlZpZXcg
OiBwdWJsaWMgUVdpZGdldCB7CiAgICAgUV9QUk9QRVJUWShRVXJsIHVybCBSRUFEIHVybCBXUklU
RSBzZXRVcmwpCiAgICAgUV9QUk9QRVJUWShRSWNvbiBpY29uIFJFQUQgaWNvbikKICAgICBRX1BS
T1BFUlRZKFFTdHJpbmcgc2VsZWN0ZWRUZXh0IFJFQUQgc2VsZWN0ZWRUZXh0KQorICAgIFFfUFJP
UEVSVFkoYm9vbCBoYXNTZWxlY3Rpb24gUkVBRCBoYXNTZWxlY3Rpb24pCiAgICAgUV9QUk9QRVJU
WShib29sIG1vZGlmaWVkIFJFQUQgaXNNb2RpZmllZCkKICAgICAvL1FfUFJPUEVSVFkoUXQ6OlRl
eHRJbnRlcmFjdGlvbkZsYWdzIHRleHRJbnRlcmFjdGlvbkZsYWdzIFJFQUQgdGV4dEludGVyYWN0
aW9uRmxhZ3MgV1JJVEUgc2V0VGV4dEludGVyYWN0aW9uRmxhZ3MpCiAgICAgUV9QUk9QRVJUWShx
cmVhbCB0ZXh0U2l6ZU11bHRpcGxpZXIgUkVBRCB0ZXh0U2l6ZU11bHRpcGxpZXIgV1JJVEUgc2V0
VGV4dFNpemVNdWx0aXBsaWVyIERFU0lHTkFCTEUgZmFsc2UpCkBAIC03Myw2ICs3NCw3IEBAIHB1
YmxpYzoKICAgICBRVXJsIHVybCgpIGNvbnN0OwogICAgIFFJY29uIGljb24oKSBjb25zdDsKIAor
ICAgIGJvb2wgaGFzU2VsZWN0aW9uKCkgY29uc3Q7CiAgICAgUVN0cmluZyBzZWxlY3RlZFRleHQo
KSBjb25zdDsKIAogI2lmbmRlZiBRVF9OT19BQ1RJT04KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9D
aGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDljNjRlNzAuLjZiZjNlMzAgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0
X3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3Bw
CmluZGV4IGU2YjU5MDkuLjI1NWYxMTQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC90ZXN0cy9xd2Vi
cGFnZS90c3RfcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3Rf
cXdlYnBhZ2UuY3BwCkBAIC0xMTA0LDYgKzExMDQsOSBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6dGV4
dFNlbGVjdGlvbigpCiAgICAgLy8gLi5idXQgU2VsZWN0QWxsIGlzIGF3YWx5cyBlbmFibGVkCiAg
ICAgUUNPTVBBUkUocGFnZS0+YWN0aW9uKFFXZWJQYWdlOjpTZWxlY3RBbGwpLT5pc0VuYWJsZWQo
KSwgdHJ1ZSk7CiAKKyAgICAvLyBWZXJpZnkgaGFzU2VsZWN0aW9uIHJldHVybnMgZmFsc2Ugc2lu
Y2UgdGhlcmUgaXMgbm8gc2VsZWN0aW9uIHlldC4uLgorICAgIFFDT01QQVJFKHBhZ2UtPmhhc1Nl
bGVjdGlvbigpLCBmYWxzZSk7CisKICAgICAvLyB0aGlzIHdpbGwgc2VsZWN0IHRoZSBmaXJzdCBw
YXJhZ3JhcGgKICAgICBRU3RyaW5nIHNlbGVjdFNjcmlwdCA9ICJ2YXIgcmFuZ2UgPSBkb2N1bWVu
dC5jcmVhdGVSYW5nZSgpOyAiIFwKICAgICAgICAgInZhciBub2RlID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoXCJvbmVcIik7ICIgXApAQCAtMTExMiw2ICsxMTE1LDkgQEAgdm9pZCB0c3RfUVdl
YlBhZ2U6OnRleHRTZWxlY3Rpb24oKQogICAgIHBhZ2UtPm1haW5GcmFtZSgpLT5ldmFsdWF0ZUph
dmFTY3JpcHQoc2VsZWN0U2NyaXB0KTsKICAgICBRQ09NUEFSRShwYWdlLT5zZWxlY3RlZFRleHQo
KS50cmltbWVkKCksIFFTdHJpbmc6OmZyb21MYXRpbjEoIlRoZSBxdWljayBicm93biBmb3giKSk7
CiAKKyAgICAvLyBNYWtlIHN1cmUgaGFzU2VsZWN0aW9uIHJldHVybnMgdHJ1ZSwgc2luY2UgdGhl
cmUgaXMgc2VsZWN0ZWQgdGV4dCBub3cuLi4KKyAgICBRQ09NUEFSRShwYWdlLT5oYXNTZWxlY3Rp
b24oKSwgdHJ1ZSk7CisKICAgICAvLyBoZXJlIHRoZSBhY3Rpb25zIGFyZSBlbmFibGVkIGFmdGVy
IGEgc2VsZWN0aW9uIGhhcyBiZWVuIGNyZWF0ZWQKICAgICBRQ09NUEFSRShwYWdlLT5hY3Rpb24o
UVdlYlBhZ2U6OlNlbGVjdE5leHRDaGFyKS0+aXNFbmFibGVkKCksIHRydWUpOwogICAgIFFDT01Q
QVJFKHBhZ2UtPmFjdGlvbihRV2ViUGFnZTo6U2VsZWN0UHJldmlvdXNDaGFyKS0+aXNFbmFibGVk
KCksIHRydWUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77303</attachid>
            <date>2010-12-22 21:09:20 -0800</date>
            <delta_ts>2010-12-23 07:08:34 -0800</delta_ts>
            <desc>Proposed patch (Update IV)</desc>
            <filename>bug_48722_add_hasSelection_api.patch</filename>
            <type>text/plain</type>
            <size>5157</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmlu
ZGV4IDcwMTZkNmMuLjAzZGVlNzkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTEyLTIyICBEYXdp
dCBBbGVtYXllaHUgIDxhZGF3aXRAa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIEFkZCBhICdoYXNTZWxlY3Rpb24nIGZ1bmN0aW9u
IHRvIFFXZWJWaWV3IGFuZCBRV2ViUGFnZS4uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg3MjIKKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6
CisgICAgICAgIChRV2ViUGFnZTo6aGFzU2VsZWN0aW9uKToKKyAgICAgICAgKiBBcGkvcXdlYnBh
Z2UuaDoKKyAgICAgICAgKiBBcGkvcXdlYnZpZXcuY3BwOgorICAgICAgICAoUVdlYlZpZXc6Omhh
c1NlbGVjdGlvbik6CisgICAgICAgICogQXBpL3F3ZWJ2aWV3Lmg6CisgICAgICAgICogdGVzdHMv
cXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKHRzdF9RV2ViUGFnZTo6dGV4dFNl
bGVjdGlvbik6CisKIDIwMTAtMTItMjAgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbi5wb3Vs
YWluQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmNwcAppbmRleCBlODJiZDQ1Li4zZmEwYmE4IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBp
L3F3ZWJwYWdlLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMjYyNCw2
ICsyNjI0LDIzIEBAIGJvb2wgUVdlYlBhZ2U6OmFjY2VwdE5hdmlnYXRpb25SZXF1ZXN0KFFXZWJG
cmFtZSAqZnJhbWUsIGNvbnN0IFFOZXR3b3JrUmVxdWVzdCAmCiB9CiAKIC8qIQorICAgIFxwcm9w
ZXJ0eSBRV2ViUGFnZTo6aGFzU2VsZWN0aW9uCisgICAgXGJyaWVmIHdoZXRoZXIgdGhpcyBwYWdl
IGNvbnRhaW5zIHNlbGVjdGVkIGNvbnRlbnQgb3Igbm90LgorCisgICAgQnkgZGVmYXVsdCwgdGhp
cyBwcm9wZXJ0eSBpcyBmYWxzZS4KKworICAgIFxzYSBzZWxlY3Rpb25DaGFuZ2VkKCkKKyovCiti
b29sIFFXZWJQYWdlOjpoYXNTZWxlY3Rpb24oKSBjb25zdAoreworICAgIGQtPmNyZWF0ZU1haW5G
cmFtZSgpOworICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9IGQtPnBhZ2UtPmZvY3VzQ29udHJv
bGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKKyAgICBpZiAoZnJhbWUpCisgICAgICAgIHJl
dHVybiAoZnJhbWUtPnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb25UeXBlKCkgIT0g
VmlzaWJsZVNlbGVjdGlvbjo6Tm9TZWxlY3Rpb24pOworICAgIHJldHVybiBmYWxzZTsKK30KKwor
LyohCiAgICAgXHByb3BlcnR5IFFXZWJQYWdlOjpzZWxlY3RlZFRleHQKICAgICBcYnJpZWYgdGhl
IHRleHQgY3VycmVudGx5IHNlbGVjdGVkCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdl
YnBhZ2UuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAppbmRleCAxZTBiM2I3Li5kODI4ZjE3
IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKKysrIGIvV2ViS2l0L3F0L0Fw
aS9xd2VicGFnZS5oCkBAIC03Miw2ICs3Miw3IEBAIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFXZWJQ
YWdlIDogcHVibGljIFFPYmplY3QgewogCiAgICAgUV9QUk9QRVJUWShib29sIG1vZGlmaWVkIFJF
QUQgaXNNb2RpZmllZCkKICAgICBRX1BST1BFUlRZKFFTdHJpbmcgc2VsZWN0ZWRUZXh0IFJFQUQg
c2VsZWN0ZWRUZXh0KQorICAgIFFfUFJPUEVSVFkoYm9vbCBoYXNTZWxlY3Rpb24gUkVBRCBoYXNT
ZWxlY3Rpb24pCiAgICAgUV9QUk9QRVJUWShRU2l6ZSB2aWV3cG9ydFNpemUgUkVBRCB2aWV3cG9y
dFNpemUgV1JJVEUgc2V0Vmlld3BvcnRTaXplKQogICAgIFFfUFJPUEVSVFkoUVNpemUgcHJlZmVy
cmVkQ29udGVudHNTaXplIFJFQUQgcHJlZmVycmVkQ29udGVudHNTaXplIFdSSVRFIHNldFByZWZl
cnJlZENvbnRlbnRzU2l6ZSkKICAgICBRX1BST1BFUlRZKGJvb2wgZm9yd2FyZFVuc3VwcG9ydGVk
Q29udGVudCBSRUFEIGZvcndhcmRVbnN1cHBvcnRlZENvbnRlbnQgV1JJVEUgc2V0Rm9yd2FyZFVu
c3VwcG9ydGVkQ29udGVudCkKQEAgLTI2OCw2ICsyNjksNyBAQCBwdWJsaWM6CiAgICAgcXVpbnQ2
NCB0b3RhbEJ5dGVzKCkgY29uc3Q7CiAgICAgcXVpbnQ2NCBieXRlc1JlY2VpdmVkKCkgY29uc3Q7
CiAKKyAgICBib29sIGhhc1NlbGVjdGlvbigpIGNvbnN0OwogICAgIFFTdHJpbmcgc2VsZWN0ZWRU
ZXh0KCkgY29uc3Q7CiAKICNpZm5kZWYgUVRfTk9fQUNUSU9OCmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvQXBpL3F3ZWJ2aWV3LmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCmluZGV4IDMx
ZWU1MjEuLjBiNjA2MjUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCisr
KyBiL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCkBAIC01NzIsNiArNTcyLDIxIEBAIFFJY29u
IFFXZWJWaWV3OjppY29uKCkgY29uc3QKIH0KIAogLyohCisgICAgXHByb3BlcnR5IFFXZWJWaWV3
OjpoYXNTZWxlY3Rpb24KKyAgICBcYnJpZWYgd2hldGhlciB0aGlzIHBhZ2UgY29udGFpbnMgc2Vs
ZWN0ZWQgY29udGVudCBvciBub3QuCisKKyAgICBCeSBkZWZhdWx0LCB0aGlzIHByb3BlcnR5IGlz
IGZhbHNlLgorCisgICAgXHNhIHNlbGVjdGlvbkNoYW5nZWQoKQorKi8KK2Jvb2wgUVdlYlZpZXc6
Omhhc1NlbGVjdGlvbigpIGNvbnN0Cit7CisgICAgaWYgKGQtPnBhZ2UpCisgICAgICAgIHJldHVy
biBkLT5wYWdlLT5oYXNTZWxlY3Rpb24oKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIQog
ICAgIFxwcm9wZXJ0eSBRV2ViVmlldzo6c2VsZWN0ZWRUZXh0CiAgICAgXGJyaWVmIHRoZSB0ZXh0
IGN1cnJlbnRseSBzZWxlY3RlZAogCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3
LmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmgKaW5kZXggMWQ2NTFkNS4uZDkwZmEzZSAxMDA2
NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5oCisrKyBiL1dlYktpdC9xdC9BcGkvcXdl
YnZpZXcuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBRV0VCS0lUX0VYUE9SVCBRV2ViVmlldyA6
IHB1YmxpYyBRV2lkZ2V0IHsKICAgICBRX1BST1BFUlRZKFFVcmwgdXJsIFJFQUQgdXJsIFdSSVRF
IHNldFVybCkKICAgICBRX1BST1BFUlRZKFFJY29uIGljb24gUkVBRCBpY29uKQogICAgIFFfUFJP
UEVSVFkoUVN0cmluZyBzZWxlY3RlZFRleHQgUkVBRCBzZWxlY3RlZFRleHQpCisgICAgUV9QUk9Q
RVJUWShib29sIGhhc1NlbGVjdGlvbiBSRUFEIGhhc1NlbGVjdGlvbikKICAgICBRX1BST1BFUlRZ
KGJvb2wgbW9kaWZpZWQgUkVBRCBpc01vZGlmaWVkKQogICAgIC8vUV9QUk9QRVJUWShRdDo6VGV4
dEludGVyYWN0aW9uRmxhZ3MgdGV4dEludGVyYWN0aW9uRmxhZ3MgUkVBRCB0ZXh0SW50ZXJhY3Rp
b25GbGFncyBXUklURSBzZXRUZXh0SW50ZXJhY3Rpb25GbGFncykKICAgICBRX1BST1BFUlRZKHFy
ZWFsIHRleHRTaXplTXVsdGlwbGllciBSRUFEIHRleHRTaXplTXVsdGlwbGllciBXUklURSBzZXRU
ZXh0U2l6ZU11bHRpcGxpZXIgREVTSUdOQUJMRSBmYWxzZSkKQEAgLTczLDYgKzc0LDcgQEAgcHVi
bGljOgogICAgIFFVcmwgdXJsKCkgY29uc3Q7CiAgICAgUUljb24gaWNvbigpIGNvbnN0OwogCisg
ICAgYm9vbCBoYXNTZWxlY3Rpb24oKSBjb25zdDsKICAgICBRU3RyaW5nIHNlbGVjdGVkVGV4dCgp
IGNvbnN0OwogCiAjaWZuZGVmIFFUX05PX0FDVElPTgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3Rl
c3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2Uv
dHN0X3F3ZWJwYWdlLmNwcAppbmRleCA0NjQ1YTA2Li44ZDM5MjFjIDEwMDY0NAotLS0gYS9XZWJL
aXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAorKysgYi9XZWJLaXQvcXQvdGVz
dHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcApAQCAtMTA5OSw2ICsxMDk5LDkgQEAgdm9pZCB0
c3RfUVdlYlBhZ2U6OnRleHRTZWxlY3Rpb24oKQogICAgIC8vIC4uYnV0IFNlbGVjdEFsbCBpcyBh
d2FseXMgZW5hYmxlZAogICAgIFFDT01QQVJFKHBhZ2UtPmFjdGlvbihRV2ViUGFnZTo6U2VsZWN0
QWxsKS0+aXNFbmFibGVkKCksIHRydWUpOwogCisgICAgLy8gVmVyaWZ5IGhhc1NlbGVjdGlvbiBy
ZXR1cm5zIGZhbHNlIHNpbmNlIHRoZXJlIGlzIG5vIHNlbGVjdGlvbiB5ZXQuLi4KKyAgICBRQ09N
UEFSRShwYWdlLT5oYXNTZWxlY3Rpb24oKSwgZmFsc2UpOworCiAgICAgLy8gdGhpcyB3aWxsIHNl
bGVjdCB0aGUgZmlyc3QgcGFyYWdyYXBoCiAgICAgUVN0cmluZyBzZWxlY3RTY3JpcHQgPSAidmFy
IHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsgIiBcCiAgICAgICAgICJ2YXIgbm9kZSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwib25lXCIpOyAiIFwKQEAgLTExMDcsNiArMTExMCw5
IEBAIHZvaWQgdHN0X1FXZWJQYWdlOjp0ZXh0U2VsZWN0aW9uKCkKICAgICBwYWdlLT5tYWluRnJh
bWUoKS0+ZXZhbHVhdGVKYXZhU2NyaXB0KHNlbGVjdFNjcmlwdCk7CiAgICAgUUNPTVBBUkUocGFn
ZS0+c2VsZWN0ZWRUZXh0KCkudHJpbW1lZCgpLCBRU3RyaW5nOjpmcm9tTGF0aW4xKCJUaGUgcXVp
Y2sgYnJvd24gZm94IikpOwogCisgICAgLy8gTWFrZSBzdXJlIGhhc1NlbGVjdGlvbiByZXR1cm5z
IHRydWUsIHNpbmNlIHRoZXJlIGlzIHNlbGVjdGVkIHRleHQgbm93Li4uCisgICAgUUNPTVBBUkUo
cGFnZS0+aGFzU2VsZWN0aW9uKCksIHRydWUpOworCiAgICAgLy8gaGVyZSB0aGUgYWN0aW9ucyBh
cmUgZW5hYmxlZCBhZnRlciBhIHNlbGVjdGlvbiBoYXMgYmVlbiBjcmVhdGVkCiAgICAgUUNPTVBB
UkUocGFnZS0+YWN0aW9uKFFXZWJQYWdlOjpTZWxlY3ROZXh0Q2hhciktPmlzRW5hYmxlZCgpLCB0
cnVlKTsKICAgICBRQ09NUEFSRShwYWdlLT5hY3Rpb24oUVdlYlBhZ2U6OlNlbGVjdFByZXZpb3Vz
Q2hhciktPmlzRW5hYmxlZCgpLCB0cnVlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77332</attachid>
            <date>2010-12-23 07:08:34 -0800</date>
            <delta_ts>2010-12-23 08:23:39 -0800</delta_ts>
            <desc>Proposed patch (Update V)</desc>
            <filename>bug_48722_add_hasSelection_api.patch</filename>
            <type>text/plain</type>
            <size>5384</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmlu
ZGV4IDcwMTZkNmMuLjM2M2NlNjYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEwLTEyLTIyICBEYXdp
dCBBbGVtYXllaHUgIDxhZGF3aXRAa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIEFkZCBhICdoYXNTZWxlY3Rpb24nIGZ1bmN0aW9u
IHRvIFFXZWJWaWV3IGFuZCBRV2ViUGFnZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQ4NzIyCisKKyAgICAgICAgVGhpcyBpcyBhIGNvbnZlbmllbmNl
IEFQSSB0aGF0IG9wdGltaXplcyB0aGUgY2FzZSB3aGVyZSBjaGVja2luZyBmb3IKKyAgICAgICAg
dGhlIHByZXNlbmNlIG9mIHNlbGVjdGVkIGNvbnRlbnQgYW5kIGFjY2Vzc2luZyB0aGUgc2VsZWN0
ZWQgY29udGVudAorICAgICAgICBhcmUgdHdvIHNlcGFyYXRlIGFjdGlvbnMgaW4gdGhlIGNsaWVu
dC4gU2VlIGNvbW1lbnQgIzEyIGluIHRoZSBhYm92ZQorICAgICAgICBidWcgcmVwb3J0IGxpbmsg
Zm9yIGRldGFpbHMuCisKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdl
YlBhZ2U6Omhhc1NlbGVjdGlvbik6CisgICAgICAgICogQXBpL3F3ZWJwYWdlLmg6CisgICAgICAg
ICogQXBpL3F3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKFFXZWJWaWV3OjpoYXNTZWxlY3Rpb24pOgor
ICAgICAgICAqIEFwaS9xd2Vidmlldy5oOgorICAgICAgICAqIHRlc3RzL3F3ZWJwYWdlL3RzdF9x
d2VicGFnZS5jcHA6CisgICAgICAgICh0c3RfUVdlYlBhZ2U6OnRleHRTZWxlY3Rpb24pOgorCiAy
MDEwLTEyLTIwICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW4ucG91bGFpbkBub2tpYS5jb20+
CgogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCBl
ODJiZDQ1Li5mMDEyNGI4IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAor
KysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMjYyNCw2ICsyNjI0LDIxIEBAIGJv
b2wgUVdlYlBhZ2U6OmFjY2VwdE5hdmlnYXRpb25SZXF1ZXN0KFFXZWJGcmFtZSAqZnJhbWUsIGNv
bnN0IFFOZXR3b3JrUmVxdWVzdCAmCiB9CiAKIC8qIQorICAgIFxwcm9wZXJ0eSBRV2ViUGFnZTo6
aGFzU2VsZWN0aW9uCisgICAgXGJyaWVmIHdoZXRoZXIgdGhpcyBwYWdlIGNvbnRhaW5zIHNlbGVj
dGVkIGNvbnRlbnQgb3Igbm90LgorCisgICAgXHNhIHNlbGVjdGlvbkNoYW5nZWQoKQorKi8KK2Jv
b2wgUVdlYlBhZ2U6Omhhc1NlbGVjdGlvbigpIGNvbnN0Cit7CisgICAgZC0+Y3JlYXRlTWFpbkZy
YW1lKCk7CisgICAgV2ViQ29yZTo6RnJhbWUqIGZyYW1lID0gZC0+cGFnZS0+Zm9jdXNDb250cm9s
bGVyKCktPmZvY3VzZWRPck1haW5GcmFtZSgpOworICAgIGlmIChmcmFtZSkKKyAgICAgICAgcmV0
dXJuIChmcmFtZS0+c2VsZWN0aW9uKCktPnNlbGVjdGlvbigpLnNlbGVjdGlvblR5cGUoKSAhPSBW
aXNpYmxlU2VsZWN0aW9uOjpOb1NlbGVjdGlvbik7CisgICAgcmV0dXJuIGZhbHNlOworfQorCisv
KiEKICAgICBccHJvcGVydHkgUVdlYlBhZ2U6OnNlbGVjdGVkVGV4dAogICAgIFxicmllZiB0aGUg
dGV4dCBjdXJyZW50bHkgc2VsZWN0ZWQKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vi
cGFnZS5oIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCmluZGV4IDFlMGIzYjcuLmQ4MjhmMTcg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAorKysgYi9XZWJLaXQvcXQvQXBp
L3F3ZWJwYWdlLmgKQEAgLTcyLDYgKzcyLDcgQEAgY2xhc3MgUVdFQktJVF9FWFBPUlQgUVdlYlBh
Z2UgOiBwdWJsaWMgUU9iamVjdCB7CiAKICAgICBRX1BST1BFUlRZKGJvb2wgbW9kaWZpZWQgUkVB
RCBpc01vZGlmaWVkKQogICAgIFFfUFJPUEVSVFkoUVN0cmluZyBzZWxlY3RlZFRleHQgUkVBRCBz
ZWxlY3RlZFRleHQpCisgICAgUV9QUk9QRVJUWShib29sIGhhc1NlbGVjdGlvbiBSRUFEIGhhc1Nl
bGVjdGlvbikKICAgICBRX1BST1BFUlRZKFFTaXplIHZpZXdwb3J0U2l6ZSBSRUFEIHZpZXdwb3J0
U2l6ZSBXUklURSBzZXRWaWV3cG9ydFNpemUpCiAgICAgUV9QUk9QRVJUWShRU2l6ZSBwcmVmZXJy
ZWRDb250ZW50c1NpemUgUkVBRCBwcmVmZXJyZWRDb250ZW50c1NpemUgV1JJVEUgc2V0UHJlZmVy
cmVkQ29udGVudHNTaXplKQogICAgIFFfUFJPUEVSVFkoYm9vbCBmb3J3YXJkVW5zdXBwb3J0ZWRD
b250ZW50IFJFQUQgZm9yd2FyZFVuc3VwcG9ydGVkQ29udGVudCBXUklURSBzZXRGb3J3YXJkVW5z
dXBwb3J0ZWRDb250ZW50KQpAQCAtMjY4LDYgKzI2OSw3IEBAIHB1YmxpYzoKICAgICBxdWludDY0
IHRvdGFsQnl0ZXMoKSBjb25zdDsKICAgICBxdWludDY0IGJ5dGVzUmVjZWl2ZWQoKSBjb25zdDsK
IAorICAgIGJvb2wgaGFzU2VsZWN0aW9uKCkgY29uc3Q7CiAgICAgUVN0cmluZyBzZWxlY3RlZFRl
eHQoKSBjb25zdDsKIAogI2lmbmRlZiBRVF9OT19BQ1RJT04KZGlmZiAtLWdpdCBhL1dlYktpdC9x
dC9BcGkvcXdlYnZpZXcuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKaW5kZXggMzFl
ZTUyMS4uMGI2MDYyNSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKKysr
IGIvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKQEAgLTU3Miw2ICs1NzIsMjEgQEAgUUljb24g
UVdlYlZpZXc6Omljb24oKSBjb25zdAogfQogCiAvKiEKKyAgICBccHJvcGVydHkgUVdlYlZpZXc6
Omhhc1NlbGVjdGlvbgorICAgIFxicmllZiB3aGV0aGVyIHRoaXMgcGFnZSBjb250YWlucyBzZWxl
Y3RlZCBjb250ZW50IG9yIG5vdC4KKworICAgIEJ5IGRlZmF1bHQsIHRoaXMgcHJvcGVydHkgaXMg
ZmFsc2UuCisKKyAgICBcc2Egc2VsZWN0aW9uQ2hhbmdlZCgpCisqLworYm9vbCBRV2ViVmlldzo6
aGFzU2VsZWN0aW9uKCkgY29uc3QKK3sKKyAgICBpZiAoZC0+cGFnZSkKKyAgICAgICAgcmV0dXJu
IGQtPnBhZ2UtPmhhc1NlbGVjdGlvbigpOworICAgIHJldHVybiBmYWxzZTsKK30KKworLyohCiAg
ICAgXHByb3BlcnR5IFFXZWJWaWV3OjpzZWxlY3RlZFRleHQKICAgICBcYnJpZWYgdGhlIHRleHQg
Y3VycmVudGx5IHNlbGVjdGVkCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcu
aCBiL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuaAppbmRleCAxZDY1MWQ1Li5kOTBmYTNlIDEwMDY0
NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmgKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vi
dmlldy5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFXZWJWaWV3IDog
cHVibGljIFFXaWRnZXQgewogICAgIFFfUFJPUEVSVFkoUVVybCB1cmwgUkVBRCB1cmwgV1JJVEUg
c2V0VXJsKQogICAgIFFfUFJPUEVSVFkoUUljb24gaWNvbiBSRUFEIGljb24pCiAgICAgUV9QUk9Q
RVJUWShRU3RyaW5nIHNlbGVjdGVkVGV4dCBSRUFEIHNlbGVjdGVkVGV4dCkKKyAgICBRX1BST1BF
UlRZKGJvb2wgaGFzU2VsZWN0aW9uIFJFQUQgaGFzU2VsZWN0aW9uKQogICAgIFFfUFJPUEVSVFko
Ym9vbCBtb2RpZmllZCBSRUFEIGlzTW9kaWZpZWQpCiAgICAgLy9RX1BST1BFUlRZKFF0OjpUZXh0
SW50ZXJhY3Rpb25GbGFncyB0ZXh0SW50ZXJhY3Rpb25GbGFncyBSRUFEIHRleHRJbnRlcmFjdGlv
bkZsYWdzIFdSSVRFIHNldFRleHRJbnRlcmFjdGlvbkZsYWdzKQogICAgIFFfUFJPUEVSVFkocXJl
YWwgdGV4dFNpemVNdWx0aXBsaWVyIFJFQUQgdGV4dFNpemVNdWx0aXBsaWVyIFdSSVRFIHNldFRl
eHRTaXplTXVsdGlwbGllciBERVNJR05BQkxFIGZhbHNlKQpAQCAtNzMsNiArNzQsNyBAQCBwdWJs
aWM6CiAgICAgUVVybCB1cmwoKSBjb25zdDsKICAgICBRSWNvbiBpY29uKCkgY29uc3Q7CiAKKyAg
ICBib29sIGhhc1NlbGVjdGlvbigpIGNvbnN0OwogICAgIFFTdHJpbmcgc2VsZWN0ZWRUZXh0KCkg
Y29uc3Q7CiAKICNpZm5kZWYgUVRfTk9fQUNUSU9OCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvdGVz
dHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90
c3RfcXdlYnBhZ2UuY3BwCmluZGV4IDQ2NDVhMDYuLjhkMzkyMWMgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC90ZXN0
cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCkBAIC0xMDk5LDYgKzEwOTksOSBAQCB2b2lkIHRz
dF9RV2ViUGFnZTo6dGV4dFNlbGVjdGlvbigpCiAgICAgLy8gLi5idXQgU2VsZWN0QWxsIGlzIGF3
YWx5cyBlbmFibGVkCiAgICAgUUNPTVBBUkUocGFnZS0+YWN0aW9uKFFXZWJQYWdlOjpTZWxlY3RB
bGwpLT5pc0VuYWJsZWQoKSwgdHJ1ZSk7CiAKKyAgICAvLyBWZXJpZnkgaGFzU2VsZWN0aW9uIHJl
dHVybnMgZmFsc2Ugc2luY2UgdGhlcmUgaXMgbm8gc2VsZWN0aW9uIHlldC4uLgorICAgIFFDT01Q
QVJFKHBhZ2UtPmhhc1NlbGVjdGlvbigpLCBmYWxzZSk7CisKICAgICAvLyB0aGlzIHdpbGwgc2Vs
ZWN0IHRoZSBmaXJzdCBwYXJhZ3JhcGgKICAgICBRU3RyaW5nIHNlbGVjdFNjcmlwdCA9ICJ2YXIg
cmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOyAiIFwKICAgICAgICAgInZhciBub2RlID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJvbmVcIik7ICIgXApAQCAtMTEwNyw2ICsxMTEwLDkg
QEAgdm9pZCB0c3RfUVdlYlBhZ2U6OnRleHRTZWxlY3Rpb24oKQogICAgIHBhZ2UtPm1haW5GcmFt
ZSgpLT5ldmFsdWF0ZUphdmFTY3JpcHQoc2VsZWN0U2NyaXB0KTsKICAgICBRQ09NUEFSRShwYWdl
LT5zZWxlY3RlZFRleHQoKS50cmltbWVkKCksIFFTdHJpbmc6OmZyb21MYXRpbjEoIlRoZSBxdWlj
ayBicm93biBmb3giKSk7CiAKKyAgICAvLyBNYWtlIHN1cmUgaGFzU2VsZWN0aW9uIHJldHVybnMg
dHJ1ZSwgc2luY2UgdGhlcmUgaXMgc2VsZWN0ZWQgdGV4dCBub3cuLi4KKyAgICBRQ09NUEFSRShw
YWdlLT5oYXNTZWxlY3Rpb24oKSwgdHJ1ZSk7CisKICAgICAvLyBoZXJlIHRoZSBhY3Rpb25zIGFy
ZSBlbmFibGVkIGFmdGVyIGEgc2VsZWN0aW9uIGhhcyBiZWVuIGNyZWF0ZWQKICAgICBRQ09NUEFS
RShwYWdlLT5hY3Rpb24oUVdlYlBhZ2U6OlNlbGVjdE5leHRDaGFyKS0+aXNFbmFibGVkKCksIHRy
dWUpOwogICAgIFFDT01QQVJFKHBhZ2UtPmFjdGlvbihRV2ViUGFnZTo6U2VsZWN0UHJldmlvdXND
aGFyKS0+aXNFbmFibGVkKCksIHRydWUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>