<?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>54639</bug_id>
          
          <creation_ts>2011-02-17 05:06:42 -0800</creation_ts>
          <short_desc>Navigating downwards / upwards does not focus on the links spread across more than one line.</short_desc>
          <delta_ts>2011-02-25 11:58:48 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>S60 Hardware</rep_platform>
          <op_sys>S60 3rd edition</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P1</priority>
          <bug_severity>Blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="deepak">deepak.dhananjaya</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ademar</cc>
    
    <cc>suresh.voruganti</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>352760</commentid>
    <comment_count>0</comment_count>
    <who name="deepak">deepak.dhananjaya</who>
    <bug_when>2011-02-17 05:06:42 -0800</bug_when>
    <thetext>Attachment : includes a webpage, that has link that is spread across two lines.

Steps:
1. Open the page, and navigate use key pad in the mobile hardware to navigate the links.

Expected Result:
The link that is spread across two lines also should be selected and focused.

Actual REsult:
The link that is spread across two lines is skipped and the next link is selected and focused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352761</commentid>
    <comment_count>1</comment_count>
    <who name="deepak">deepak.dhananjaya</who>
    <bug_when>2011-02-17 05:08:42 -0800</bug_when>
    <thetext>Additional Info: Tested this with QTTestBrowser, and it is reproducible on the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352780</commentid>
    <comment_count>2</comment_count>
    <who name="deepak">deepak.dhananjaya</who>
    <bug_when>2011-02-17 05:42:08 -0800</bug_when>
    <thetext>Additional Info:
Since QTTestBrowser does not support key pad navigation, enabled the setting through code in webpage.

this-&gt;settings()-&gt;setAttribute(QWebSettings::SpatialNavigationEnabled, true);

After which, was able to test this test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352865</commentid>
    <comment_count>3</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2011-02-17 07:30:59 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; Attachment : includes a webpage, that has link that is spread across two lines.
&gt; 
&gt; Steps:
&gt; 1. Open the page, and navigate use key pad in the mobile hardware to navigate the links.
&gt; 
&gt; Expected Result:
&gt; The link that is spread across two lines also should be selected and focused.
&gt; 
&gt; Actual REsult:
&gt; The link that is spread across two lines is skipped and the next link is selected and focused.

Please include the attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352929</commentid>
    <comment_count>4</comment_count>
      <attachid>82814</attachid>
    <who name="Murali Alluri">murali.alluri</who>
    <bug_when>2011-02-17 08:35:45 -0800</bug_when>
    <thetext>Created attachment 82814
widget</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352971</commentid>
    <comment_count>5</comment_count>
      <attachid>82820</attachid>
    <who name="deepak">deepak.dhananjaya</who>
    <bug_when>2011-02-17 09:26:55 -0800</bug_when>
    <thetext>Created attachment 82820
Test page attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353293</commentid>
    <comment_count>6</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2011-02-17 18:06:21 -0800</bug_when>
    <thetext>Removing [Qt][S60] as the fix is in common code. 
Patch is coming soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353542</commentid>
    <comment_count>7</comment_count>
      <attachid>82946</attachid>
    <who name="Yael">yael</who>
    <bug_when>2011-02-18 05:25:41 -0800</bug_when>
    <thetext>Created attachment 82946
Patch.

When 2 anchor elements span more than one line each, and one ends on the same line that the 
second starts on, the rects reported by their renderers are overlapping. When handling 2 overlapping nodes, check for this case, and don&apos;t assume that one of the nodes is on a higher layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353575</commentid>
    <comment_count>8</comment_count>
      <attachid>82946</attachid>
    <who name="Yael">yael</who>
    <bug_when>2011-02-18 06:49:52 -0800</bug_when>
    <thetext>Comment on attachment 82946
Patch.

Thanks for the review :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353785</commentid>
    <comment_count>9</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2011-02-18 13:07:46 -0800</bug_when>
    <thetext>Committed r79021: &lt;http://trac.webkit.org/changeset/79021&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354584</commentid>
    <comment_count>10</comment_count>
    <who name="Suresh Voruganti">suresh.voruganti</who>
    <bug_when>2011-02-21 07:21:45 -0800</bug_when>
    <thetext>Please cherry pick the fix for Qtwebkit 2.1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354720</commentid>
    <comment_count>11</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-02-21 12:00:06 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Please cherry pick the fix for Qtwebkit 2.1

The code requires significant changes to be cherry-picked. We need a backport targeted at qtwebkit-2.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355623</commentid>
    <comment_count>12</comment_count>
      <attachid>83393</attachid>
    <who name="Yael">yael</who>
    <bug_when>2011-02-22 14:42:29 -0800</bug_when>
    <thetext>Created attachment 83393
Backport

This is a backport of the original patch to qtwebkit-2.1.x</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358102</commentid>
    <comment_count>13</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-02-25 11:58:05 -0800</bug_when>
    <thetext>Revision r79021 cherry-picked into qtwebkit-2.1 with commit 3721aa1 &lt;http://gitorious.org/webkit/qtwebkit/commit/3721aa1&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>82814</attachid>
            <date>2011-02-17 08:35:45 -0800</date>
            <delta_ts>2011-02-17 08:35:45 -0800</delta_ts>
            <desc>widget</desc>
            <filename>directional_navigation_problem-signed.wgt</filename>
            <type>application/x-zip-compressed</type>
            <size>2403</size>
            <attacher name="Murali Alluri">murali.alluri</attacher>
            
              <data encoding="base64">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
AAAAoQgAAAAA
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>82820</attachid>
            <date>2011-02-17 09:26:55 -0800</date>
            <delta_ts>2011-02-17 09:26:55 -0800</delta_ts>
            <desc>Test page attached.</desc>
            <filename>index.html</filename>
            <type>text/html</type>
            <size>2451</size>
            <attacher name="deepak">deepak.dhananjaya</attacher>
            
              <data encoding="base64">PCFkb2N0eXBlIGh0bWw+DQo8aHRtbD4NCiAgICA8aGVhZD4NCgk8bWV0YSBuYW1lPSJ0b3VjaG5h
dmlnYXRpb24iIGNvbnRlbnQ9ImRpcmVjdGlvbmFsIj4NCiAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+DQogICAgICAgIGZ1bmN0aW9uIG9uRm9jdXNPdXQoZWxlbSkgew0KCQkJZWxl
bS5jbGFzc05hbWUgPSAibGluayI7DQoJCX0NCgkJDQoJCWZ1bmN0aW9uIG9uRm9jdXNJbihlbGVt
KSB7CQkNCgkJCWVsZW0uY2xhc3NOYW1lID0gImxpbmsgZm9jdXNlZCI7DQoJCX0NCiAgICA8L3Nj
cmlwdD4NCiAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KICAgICAgICAuZm9jdXNlZCB7IGNv
bG9yOiByZWQgIWltcG9ydGFudDsgfQ0KICAgICAgICANCiAgICAgICAgLmxpbmsgew0KICAgICAg
ICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgICAgICAgICAgd2lkdGggOiAxMDAlOw0K
ICAgICAgICAgICAgZm9udC1mYW1pbHkgOiAiTm9raWEgU2FucyBTNjAiLCAiU2VyaWVzIDYwIFNh
bnMiLCBzYW5zLXNlcmlmOyANCiAgICAgICAgICAgIGNvbG9yOiAjMDAzMzk5Ow0KICAgICAgICB9
DQogICAgICAgIGh0bWwgeyBmb250LXNpemU6IDI2cHg7IH0NCiAgICA8L3N0eWxlPg0KICAgIDwv
aGVhZD4NCiAgICA8Ym9keT4NCiAgICA8ZGl2IGlkPSJtYWluY29udGFpbmVyIj4NCiAgICA8cD4N
CiAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImxpbmsiIHRhYmluZGV4PSIwIiBvbmZvY3VzPSJv
bkZvY3VzSW4odGhpcyk7IiBvbmJsdXI9Im9uRm9jdXNPdXQodGhpcyk7Ij5BbHJlYWR5IGhhdmUg
YSBOb2tpYSBhY2NvdW50PyBTaWduIGluIGhlcmU8L2E+DQogICAgICAgIDxhIGhyZWY9IiMiIGNs
YXNzPSJsaW5rIiB0YWJpbmRleD0iMCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZTsiIG9uZm9jdXM9
Im9uRm9jdXNJbih0aGlzKTsiIG9uYmx1cj0ib25Gb2N1c091dCh0aGlzKTsiPk92aSBNYWlsIGFu
ZCBPdmkgQ2hhdCBieSBZYWhvbyEgVGVybXM8L2E+DQogICAgICAgIDxzcGFuIHN0eWxlPSJkaXNw
bGF5OiBpbmxpbmU7Ij4gYW5kIDwvc3Bhbj4NCiAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9Imxp
bmsiIHRhYmluZGV4PSIwIiBzdHlsZT0iZGlzcGxheTogaW5saW5lOyIgb25mb2N1cz0ib25Gb2N1
c0luKHRoaXMpOyIgb25ibHVyPSJvbkZvY3VzT3V0KHRoaXMpOyI+UHJpdmFjeSBQb2xpY3kuPC9h
Pg0KICAgIDwvcD4NCiAgICA8cD4NCiAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImxpbmsiIHRh
YmluZGV4PSIwIiBvbmZvY3VzPSJvbkZvY3VzSW4odGhpcyk7IiBvbmJsdXI9Im9uRm9jdXNPdXQo
dGhpcyk7Ij5BbHJlYWR5IGhhdmUgYSBOb2tpYSBhY2NvdW50PyBTaWduIGluIGhlcmU8L2E+DQog
ICAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmU7Ij4gKioqKiogPC9zcGFuPg0KICAg
ICAgICA8YSBocmVmPSIjIiBjbGFzcz0ibGluayIgdGFiaW5kZXg9IjAiIHN0eWxlPSJkaXNwbGF5
OiBpbmxpbmU7IiBvbmZvY3VzPSJvbkZvY3VzSW4odGhpcyk7IiBvbmJsdXI9Im9uRm9jdXNPdXQo
dGhpcyk7Ij5PdmkgTWFpbCBhbmQgT3ZpIENoYXQgYnkgWWFob28hIFRlcm1zPC9hPg0KICAgICAg
ICA8c3BhbiBzdHlsZT0iZGlzcGxheTogaW5saW5lOyI+IGFuZCA8L3NwYW4+DQogICAgICAgIDxh
IGhyZWY9IiMiIGNsYXNzPSJsaW5rIiB0YWJpbmRleD0iMCIgc3R5bGU9ImRpc3BsYXk6IGlubGlu
ZTsiIG9uZm9jdXM9Im9uRm9jdXNJbih0aGlzKTsiIG9uYmx1cj0ib25Gb2N1c091dCh0aGlzKTsi
PlByaXZhY3kgUG9saWN5LjwvYT4NCiAgICA8L3A+ICAgIA0KICAgIDxwPg0KICAgICAgICA8YSBo
cmVmPSIjIiBjbGFzcz0ibGluayIgdGFiaW5kZXg9IjAiIG9uZm9jdXM9Im9uRm9jdXNJbih0aGlz
KTsiIG9uYmx1cj0ib25Gb2N1c091dCh0aGlzKTsiPkFscmVhZHkgaGF2ZSBhIE5va2lhIGFjY291
bnQ/IFNpZ24gaW4gaGVyZTwvYT4NCiAgICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6IGlubGlu
ZTsiPkJ5IGNvbnRpbnVpbmcgeW91IGFncmVlIHRvIHRoZSA8L3NwYW4+DQogICAgICAgIDxhIGhy
ZWY9IiMiIGNsYXNzPSJsaW5rIiB0YWJpbmRleD0iMCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZTsi
IG9uZm9jdXM9Im9uRm9jdXNJbih0aGlzKTsiIG9uYmx1cj0ib25Gb2N1c091dCh0aGlzKTsiPk92
aSBNYWlsIGFuZCBPdmkgQ2hhdCBieSBZYWhvbyEgVGVybXM8L2E+DQogICAgICAgIDxzcGFuIHN0
eWxlPSJkaXNwbGF5OiBpbmxpbmU7Ij4gYW5kIDwvc3Bhbj4NCiAgICAgICAgPGEgaHJlZj0iIyIg
Y2xhc3M9ImxpbmsiIHRhYmluZGV4PSIwIiBzdHlsZT0iZGlzcGxheTogaW5saW5lOyIgb25mb2N1
cz0ib25Gb2N1c0luKHRoaXMpOyIgb25ibHVyPSJvbkZvY3VzT3V0KHRoaXMpOyI+UHJpdmFjeSBQ
b2xpY3kuPC9hPg0KICAgIDwvcD4gDQogICAgPC9kaXY+DQogICAgDQo8L2JvZHk+DQo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82946</attachid>
            <date>2011-02-18 05:25:41 -0800</date>
            <delta_ts>2011-02-18 06:49:52 -0800</delta_ts>
            <desc>Patch.</desc>
            <filename>54639.patch</filename>
            <type>text/plain</type>
            <size>10423</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4OTQwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDItMTcgIFlhZWwgQWhh
cm9uICA8eWFlbC5haGFyb25Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5hdmlnYXRpbmcgZG93bndhcmRzIC8gdXB3YXJkcyBkb2Vz
IG5vdCBmb2N1cyBvbiB0aGUgbGlua3Mgc3ByZWFkIGFjcm9zcyBtb3JlIHRoYW4gb25lIGxpbmUu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDYzOQor
CisgICAgICAgIFdoZW4gMiBhbmNob3IgZWxlbWVudHMgc3BhbiBtb3JlIHRoYW4gb25lIGxpbmUg
ZWFjaCwgYW5kIG9uZSBlbmRzIG9uIHRoZSBzYW1lIGxpbmUgdGhhdCB0aGUKKyAgICAgICAgc2Vj
b25kIHN0YXJ0cyBvbiwgdGhlIHJlY3RzIHJlcG9ydGVkIGJ5IHRoZWlyIHJlbmRlcmVycyBhcmUg
b3ZlcmxhcHBpbmcuIFdoZW4gaGFuZGxpbmcKKyAgICAgICAgMiBvdmVybGFwcGluZyBub2Rlcywg
Y2hlY2sgZm9yIHRoaXMgY2FzZSwgYW5kIGRvbid0IGFzc3VtZSB0aGF0IG9uZSBvZiB0aGUgbm9k
ZXMgaXMgb24gYSBoaWdoZXIgbGF5ZXIuICAgCisKKyAgICAgICAgVGVzdDogZmFzdC9zcGF0aWFs
LW5hdmlnYXRpb24vc25hdi10d28tZWxlbWVudHMtb25lLWxpbmUuaHRtbAorCisgICAgICAgICog
cGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRlRm9jdXND
YW5kaWRhdGVJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OmZp
bmRGb2N1c0NhbmRpZGF0ZUluQ29udGFpbmVyKToKKyAgICAgICAgKiBwYWdlL1NwYXRpYWxOYXZp
Z2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFyZUVsZW1lbnRzT25TYW1lTGluZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpkaXN0YW5jZURhdGFGb3JOb2RlKToKKyAgICAgICAgKiBwYWdlL1Nw
YXRpYWxOYXZpZ2F0aW9uLmg6CisKIDIwMTEtMDItMTcgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA3ODgyNCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDIxLDcgKzQyMSw3IEBAIHZvaWQgRm9jdXNDb250cm9sbGVyOjpzZXRBY3RpdmUoYm9vbCBhY3QK
ICAgICAgICAgZGlzcGF0Y2hFdmVudHNPbldpbmRvd0FuZEZvY3VzZWROb2RlKG1fZm9jdXNlZEZy
YW1lLT5kb2N1bWVudCgpLCBhY3RpdmUpOwogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVGb2N1c0Nh
bmRpZGF0ZUlmTmVlZGVkKEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgY29uc3QgSW50UmVjdCYg
c3RhcnRpbmdSZWN0LCBGb2N1c0NhbmRpZGF0ZSYgY2FuZGlkYXRlLCBGb2N1c0NhbmRpZGF0ZSYg
Y2xvc2VzdCkKK3N0YXRpYyB2b2lkIHVwZGF0ZUZvY3VzQ2FuZGlkYXRlSWZOZWVkZWQoRm9jdXNE
aXJlY3Rpb24gZGlyZWN0aW9uLCBjb25zdCBGb2N1c0NhbmRpZGF0ZSYgY3VycmVudCwgRm9jdXND
YW5kaWRhdGUmIGNhbmRpZGF0ZSwgRm9jdXNDYW5kaWRhdGUmIGNsb3Nlc3QpCiB7CiAgICAgQVNT
RVJUKGNhbmRpZGF0ZS52aXNpYmxlTm9kZS0+aXNFbGVtZW50Tm9kZSgpKTsKICAgICBBU1NFUlQo
Y2FuZGlkYXRlLnZpc2libGVOb2RlLT5yZW5kZXJlcigpKTsKQEAgLTQzNCw4ICs0MzQsNiBAQCBz
dGF0aWMgdm9pZCB1cGRhdGVGb2N1c0NhbmRpZGF0ZUlmTmVlZGVkCiAgICAgaWYgKGNhbmRpZGF0
ZS5pc09mZnNjcmVlbiAmJiAhY2FuQmVTY3JvbGxlZEludG9WaWV3KGRpcmVjdGlvbiwgY2FuZGlk
YXRlKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgRm9jdXNDYW5kaWRhdGUgY3VycmVudDsKLSAg
ICBjdXJyZW50LnJlY3QgPSBzdGFydGluZ1JlY3Q7CiAgICAgZGlzdGFuY2VEYXRhRm9yTm9kZShk
aXJlY3Rpb24sIGN1cnJlbnQsIGNhbmRpZGF0ZSk7CiAgICAgaWYgKGNhbmRpZGF0ZS5kaXN0YW5j
ZSA9PSBtYXhEaXN0YW5jZSgpKQogICAgICAgICByZXR1cm47CkBAIC00NDksNyArNDQ3LDcgQEAg
c3RhdGljIHZvaWQgdXBkYXRlRm9jdXNDYW5kaWRhdGVJZk5lZWRlZAogICAgIH0KIAogICAgIElu
dFJlY3QgaW50ZXJzZWN0aW9uUmVjdCA9IGludGVyc2VjdGlvbihjYW5kaWRhdGUucmVjdCwgY2xv
c2VzdC5yZWN0KTsKLSAgICBpZiAoIWludGVyc2VjdGlvblJlY3QuaXNFbXB0eSgpKSB7CisgICAg
aWYgKCFpbnRlcnNlY3Rpb25SZWN0LmlzRW1wdHkoKSAmJiAhYXJlRWxlbWVudHNPblNhbWVMaW5l
KGNsb3Nlc3QsIGNhbmRpZGF0ZSkpIHsKICAgICAgICAgLy8gSWYgMiBub2RlcyBhcmUgaW50ZXJz
ZWN0aW5nLCBkbyBoaXQgdGVzdCB0byBmaW5kIHdoaWNoIG5vZGUgaW4gb24gdG9wLgogICAgICAg
ICBpbnQgeCA9IGludGVyc2VjdGlvblJlY3QueCgpICsgaW50ZXJzZWN0aW9uUmVjdC53aWR0aCgp
IC8gMjsKICAgICAgICAgaW50IHkgPSBpbnRlcnNlY3Rpb25SZWN0LnkoKSArIGludGVyc2VjdGlv
blJlY3QuaGVpZ2h0KCkgLyAyOwpAQCAtNDc4LDYgKzQ3NiwxMSBAQCB2b2lkIEZvY3VzQ29udHJv
bGxlcjo6ZmluZEZvY3VzQ2FuZGlkYXRlCiAgICAgTm9kZSogZm9jdXNlZE5vZGUgPSAoZm9jdXNl
ZEZyYW1lKCkgJiYgZm9jdXNlZEZyYW1lKCktPmRvY3VtZW50KCkpID8gZm9jdXNlZEZyYW1lKCkt
PmRvY3VtZW50KCktPmZvY3VzZWROb2RlKCkgOiAwOwogCiAgICAgTm9kZSogbm9kZSA9IGNvbnRh
aW5lci0+Zmlyc3RDaGlsZCgpOworICAgIEZvY3VzQ2FuZGlkYXRlIGN1cnJlbnQ7CisgICAgY3Vy
cmVudC5yZWN0ID0gc3RhcnRpbmdSZWN0OworICAgIGN1cnJlbnQuZm9jdXNhYmxlTm9kZSA9IGZv
Y3VzZWROb2RlOworICAgIGN1cnJlbnQudmlzaWJsZU5vZGUgPSBmb2N1c2VkTm9kZTsKKwogICAg
IGZvciAoOyBub2RlOyBub2RlID0gKG5vZGUtPmlzRnJhbWVPd25lckVsZW1lbnQoKSB8fCBjYW5T
Y3JvbGxJbkRpcmVjdGlvbihub2RlLCBkaXJlY3Rpb24pKSA/IG5vZGUtPnRyYXZlcnNlTmV4dFNp
YmxpbmcoY29udGFpbmVyKSA6IG5vZGUtPnRyYXZlcnNlTmV4dE5vZGUoY29udGFpbmVyKSkgewog
ICAgICAgICBpZiAobm9kZSA9PSBmb2N1c2VkTm9kZSkKICAgICAgICAgICAgIGNvbnRpbnVlOwpA
QCAtNDkzLDcgKzQ5Niw3IEBAIHZvaWQgRm9jdXNDb250cm9sbGVyOjpmaW5kRm9jdXNDYW5kaWRh
dGUKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGNhbmRpZGF0ZS5lbmNsb3NpbmdT
Y3JvbGxhYmxlQm94ID0gY29udGFpbmVyOwotICAgICAgICB1cGRhdGVGb2N1c0NhbmRpZGF0ZUlm
TmVlZGVkKGRpcmVjdGlvbiwgc3RhcnRpbmdSZWN0LCBjYW5kaWRhdGUsIGNsb3Nlc3QpOworICAg
ICAgICB1cGRhdGVGb2N1c0NhbmRpZGF0ZUlmTmVlZGVkKGRpcmVjdGlvbiwgY3VycmVudCwgY2Fu
ZGlkYXRlLCBjbG9zZXN0KTsKICAgICB9CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
U3BhdGlhbE5hdmlnYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
U3BhdGlhbE5hdmlnYXRpb24uY3BwCShyZXZpc2lvbiA3ODgyNCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3
IEBACiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIk5vZGUuaCIKICNpbmNsdWRlICJQ
YWdlLmgiCisjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIu
aCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogCkBAIC01OTQsMTIgKzU5NSwzOSBAQCB2b2lkIGVu
dHJ5QW5kRXhpdFBvaW50c0ZvckRpcmVjdGlvbihGb2N1CiAgICAgfQogfQogCitib29sIGFyZUVs
ZW1lbnRzT25TYW1lTGluZShjb25zdCBGb2N1c0NhbmRpZGF0ZSYgZmlyc3RDYW5kaWRhdGUsIGNv
bnN0IEZvY3VzQ2FuZGlkYXRlJiBzZWNvbmRDYW5kaWRhdGUpCit7CisgICAgaWYgKGZpcnN0Q2Fu
ZGlkYXRlLmlzTnVsbCgpIHx8IHNlY29uZENhbmRpZGF0ZS5pc051bGwoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgaWYgKCFmaXJzdENhbmRpZGF0ZS52aXNpYmxlTm9kZS0+cmVuZGVy
ZXIoKSB8fCAhc2Vjb25kQ2FuZGlkYXRlLnZpc2libGVOb2RlLT5yZW5kZXJlcigpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWZpcnN0Q2FuZGlkYXRlLnJlY3QuaW50ZXJzZWN0
cyhzZWNvbmRDYW5kaWRhdGUucmVjdCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlm
IChmaXJzdENhbmRpZGF0ZS5mb2N1c2FibGVOb2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YXJl
YVRhZykgfHwgc2Vjb25kQ2FuZGlkYXRlLmZvY3VzYWJsZU5vZGUtPmhhc1RhZ05hbWUoSFRNTE5h
bWVzOjphcmVhVGFnKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFmaXJzdENh
bmRpZGF0ZS52aXNpYmxlTm9kZS0+cmVuZGVyZXIoKS0+aXNSZW5kZXJJbmxpbmUoKSB8fCAhc2Vj
b25kQ2FuZGlkYXRlLnZpc2libGVOb2RlLT5yZW5kZXJlcigpLT5pc1JlbmRlcklubGluZSgpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoZmlyc3RDYW5kaWRhdGUudmlzaWJsZU5v
ZGUtPnJlbmRlcmVyKCktPmNvbnRhaW5pbmdCbG9jaygpICE9IHNlY29uZENhbmRpZGF0ZS52aXNp
YmxlTm9kZS0+cmVuZGVyZXIoKS0+Y29udGFpbmluZ0Jsb2NrKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIGRpc3RhbmNlRGF0YUZvck5vZGUo
Rm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uLCBjb25zdCBGb2N1c0NhbmRpZGF0ZSYgY3VycmVudCwg
Rm9jdXNDYW5kaWRhdGUmIGNhbmRpZGF0ZSkKIHsKLSAgICBpZiAoY2FuZGlkYXRlLmlzTnVsbCgp
KQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFjYW5kaWRhdGUudmlzaWJsZU5vZGUtPnJlbmRl
cmVyKCkpCi0gICAgICAgIHJldHVybjsKKyAgICBpZiAoYXJlRWxlbWVudHNPblNhbWVMaW5lKGN1
cnJlbnQsIGNhbmRpZGF0ZSkpIHsKKyAgICAgICAgaWYgKChkaXJlY3Rpb24gPT0gRm9jdXNEaXJl
Y3Rpb25VcCAmJiBjdXJyZW50LnJlY3QueSgpID4gY2FuZGlkYXRlLnJlY3QueSgpKSB8fCAoZGly
ZWN0aW9uID09IEZvY3VzRGlyZWN0aW9uRG93biAmJiBjYW5kaWRhdGUucmVjdC55KCkgPiBjdXJy
ZW50LnJlY3QueSgpKSkgeworICAgICAgICAgICAgY2FuZGlkYXRlLmRpc3RhbmNlID0gMDsKKyAg
ICAgICAgICAgIGNhbmRpZGF0ZS5hbGlnbm1lbnQgPSBGdWxsOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9CisgICAgfQorCiAgICAgSW50UmVjdCBub2RlUmVjdCA9IGNhbmRpZGF0ZS5y
ZWN0OwogICAgIEludFJlY3QgY3VycmVudFJlY3QgPSBjdXJyZW50LnJlY3Q7CiAgICAgZGVmbGF0
ZUlmT3ZlcmxhcHBlZChjdXJyZW50UmVjdCwgbm9kZVJlY3QpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uaAkocmV2aXNpb24gNzg4MjQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0MSw2ICsx
NDEsNyBAQCBib29sIHNjcm9sbEluRGlyZWN0aW9uKE5vZGUqIGNvbnRhaW5lciwgCiBib29sIGNh
blNjcm9sbEluRGlyZWN0aW9uKGNvbnN0IE5vZGUqIGNvbnRhaW5lciwgRm9jdXNEaXJlY3Rpb24p
OwogYm9vbCBjYW5TY3JvbGxJbkRpcmVjdGlvbihjb25zdCBGcmFtZSosIEZvY3VzRGlyZWN0aW9u
KTsKIGJvb2wgY2FuQmVTY3JvbGxlZEludG9WaWV3KEZvY3VzRGlyZWN0aW9uLCBjb25zdCBGb2N1
c0NhbmRpZGF0ZSYpOworYm9vbCBhcmVFbGVtZW50c09uU2FtZUxpbmUoY29uc3QgRm9jdXNDYW5k
aWRhdGUmIGZpcnN0Q2FuZGlkYXRlLCBjb25zdCBGb2N1c0NhbmRpZGF0ZSYgc2Vjb25kQ2FuZGlk
YXRlKTsKIHZvaWQgZGlzdGFuY2VEYXRhRm9yTm9kZShGb2N1c0RpcmVjdGlvbiwgY29uc3QgRm9j
dXNDYW5kaWRhdGUmIGN1cnJlbnQsIEZvY3VzQ2FuZGlkYXRlJiBjYW5kaWRhdGUpOwogTm9kZSog
c2Nyb2xsYWJsZUVuY2xvc2luZ0JveE9yUGFyZW50RnJhbWVGb3JOb2RlSW5EaXJlY3Rpb24oRm9j
dXNEaXJlY3Rpb24sIE5vZGUqKTsKIEludFJlY3Qgbm9kZVJlY3RJbkFic29sdXRlQ29vcmRpbmF0
ZXMoTm9kZSosIGJvb2wgaWdub3JlQm9yZGVyID0gZmFsc2UpOwpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
Nzg5NDApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxMyBAQAorMjAxMS0wMi0xNyAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmF2aWdh
dGluZyBkb3dud2FyZHMgLyB1cHdhcmRzIGRvZXMgbm90IGZvY3VzIG9uIHRoZSBsaW5rcyBzcHJl
YWQgYWNyb3NzIG1vcmUgdGhhbiBvbmUgbGluZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NjM5CisKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2
aWdhdGlvbi9zbmF2LXR3by1lbGVtZW50cy1vbmUtbGluZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtdHdvLWVsZW1lbnRzLW9uZS1s
aW5lLmh0bWw6IEFkZGVkLgorCiAyMDExLTAyLTE3ICBBbmRyZXcgV2lsc29uICA8YXR3aWxzb25A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZXhwZWN0YXRpb25zIHR3ZWFrIGlu
IGF0dGVtcHQgdG8gZ3JlZW4gdXAgdGhlIGNocm9taXVtIGNhbmFyaWVzLgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi10d28tZWxlbWVudHMtb25lLWxpbmUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZp
Z2F0aW9uL3NuYXYtdHdvLWVsZW1lbnRzLW9uZS1saW5lLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtdHdvLWVsZW1l
bnRzLW9uZS1saW5lLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMSBAQAor
QUFBQUFBQUFBQSBBQUFBQUFBQUFBIEFBIEFBIEFBQUFBQUFBQUEgQUFBQUFBQUFBQQorCisKK0FB
QUFBQUFBQUEgQUFBQUFBQUFBQSBBQSBCIEFBIEFBQUFBQUFBQUEgQUFBQUFBQUFBQQorUEFTUyBn
Rm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICJlMSIK
K1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBp
cyAiZTIiCitQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUo
ImlkIikgaXMgImUzIgorUEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0
cmlidXRlKCJpZCIpIGlzICJlMiIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50
LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiZTEiCitQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgInN0YXJ0IgorVGhpcyB0ZXN0IGlzIHRlc3Rp
bmcgdGhhdCB3ZSBjYW4gaGFuZGxlIDIgaW5saW5lIGVsZW1lbnRzIGluIHRoZSBzYW1lIGxpbmUu
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXR3by1lbGVt
ZW50cy1vbmUtbGluZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlh
bC1uYXZpZ2F0aW9uL3NuYXYtdHdvLWVsZW1lbnRzLW9uZS1saW5lLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXR3by1lbGVtZW50
cy1vbmUtbGluZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDY0IEBACis8aHRtbD4KKyAg
PGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy9zcGF0aWFsLW5hdmlnYXRpb24t
dXRpbHMuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vamF2YXNj
cmlwdCI+CisKKyAgICB2YXIgcmVzdWx0TWFwID0gWworICAgICAgWyJEb3duIiwgImUxIl0sCisg
ICAgICBbIkRvd24iLCAiZTIiXSwKKyAgICAgIFsiRG93biIsICJlMyJdLAorICAgICAgWyJVcCIs
ICJlMiJdLAorICAgICAgWyJVcCIsICJlMSJdLAorICAgICAgWyJVcCIsICJzdGFydCJdLAorICAg
ICAgWyJET05FIiwgIkRPTkUiXQorICAgIF07CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1
ZSk7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IiwgMSk7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAg
eworICAgICAgLy8gc3RhcnRpbmcgdGhlIHRlc3QgaXRzZWxmOiBnZXQgdG8gYSBrbm93biBwbGFj
ZS4KKyAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpLmZvY3VzKCk7CisKKyAg
ICAgIGluaXRUZXN0KHJlc3VsdE1hcCwgdGVzdENvbXBsZXRlZCk7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gdGVzdENvbXBsZXRlZCgpCisgICAgeworICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
ICAgIH0KKworICAgIHdpbmRvdy5vbmxvYWQgPSBydW5UZXN0OworICAgIDwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSJqcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAg
ICA8c3R5bGU+CisgICAgZGl2LmNvbnRhaW5lcjEgeyB3aWR0aDogMTAwcHg7fQorICAgIGRpdi5j
b250YWluZXIyIHsgd2lkdGg6IDEwMHB4O30KKyAgICA8L3N0eWxlPgorICA8L2hlYWQ+Cis8Ym9k
eSBpZD0ic29tZS1jb250ZW50IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIg
c3R5bGU9InBhZGRpbmc6MjBweCI+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIxIj4KKzxhIGhyZWY9
IiMiIGlkPSJzdGFydCI+QUFBQUFBQUFBQSBBQUFBQUFBQUFBIEFBPC9hPgorPGEgaHJlZj0iIyIg
aWQ9ImUxIj5BQSBBQUFBQUFBQUFBIEFBQUFBQUFBQUE8L2E+Cis8L2Rpdj4KKzxicj48YnI+Cis8
ZGl2IGNsYXNzPSJjb250YWluZXIyIj4KKzxhIGhyZWY9IiMiIGlkPSJlMiI+QUFBQUFBQUFBQSBB
QUFBQUFBQUFBIEFBPC9hPgorPHNwYW4+Qjwvc3Bhbj4KKzxhIGhyZWY9IiMiIGlkPSJlMyI+QUEg
QUFBQUFBQUFBQSBBQUFBQUFBQUFBPC9hPgorPC9kaXY+CisKKworCisKKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorVGhpcyB0ZXN0IGlzIHRlc3RpbmcgdGhhdCB3ZSBjYW4gaGFuZGxlIDIgaW5s
aW5lIGVsZW1lbnRzIGluIHRoZSBzYW1lIGxpbmUuCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="74659"
          type_id="1"
          status="+"
          setter="tonikitoo"
    />
    <flag name="commit-queue"
          id="74673"
          type_id="3"
          status="+"
          setter="yael"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83393</attachid>
            <date>2011-02-22 14:42:29 -0800</date>
            <delta_ts>2011-02-22 14:42:29 -0800</delta_ts>
            <desc>Backport</desc>
            <filename>0001-Bug-fix-54639.patch</filename>
            <type>text/plain</type>
            <size>10853</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">RnJvbSAyZGQ3ZjNiZjIwYjU4MDg3OTA4NmIwMjBjN2ZkNWYzNWFlMzI0ZWQ1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBZYWVsIEFoYXJvbiA8eWFlbC5haGFyb25Abm9raWEuY29tPgpE
YXRlOiBUdWUsIDIyIEZlYiAyMDExIDE2OjIyOjMyIC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQnVn
IGZpeCA1NDYzOQoKLS0tCiAuLi4vc25hdi10d28tZWxlbWVudHMtb25lLWxpbmUtZXhwZWN0ZWQu
dHh0ICAgICAgICB8ICAgMTEgKysrKwogLi4uL3NuYXYtdHdvLWVsZW1lbnRzLW9uZS1saW5lLmh0
bWwgICAgICAgICAgICAgICAgfCAgIDY0ICsrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjEgKysrKysrKwog
V2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAgICAgICAgICAgICAgICAgICAgfCAgIDEy
ICsrLS0KIFdlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAgICAgICAgICAgICAgICAg
IHwgICAzOSArKysrKysrKysrLS0KIFdlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5oICAg
ICAgICAgICAgICAgICAgIHwgICAgMyArLQogNiBmaWxlcyBjaGFuZ2VkLCAxMzkgaW5zZXJ0aW9u
cygrKSwgMTEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtdHdvLWVsZW1lbnRzLW9uZS1saW5lLWV4
cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Nw
YXRpYWwtbmF2aWdhdGlvbi9zbmF2LXR3by1lbGVtZW50cy1vbmUtbGluZS5odG1sCgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtdHdv
LWVsZW1lbnRzLW9uZS1saW5lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXR3by1lbGVtZW50cy1vbmUtbGluZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA4MDEyNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2
LXR3by1lbGVtZW50cy1vbmUtbGluZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQUFB
QUFBQUFBQSBBQUFBQUFBQUFBIEFBIEFBIEFBQUFBQUFBQUEgQUFBQUFBQUFBQQorCisKK0FBQUFB
QUFBQUEgQUFBQUFBQUFBQSBBQSBCIEFBIEFBQUFBQUFBQUEgQUFBQUFBQUFBQQorUEFTUyBnRm9j
dXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICJlMSIKK1BB
U1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAi
ZTIiCitQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoImlk
IikgaXMgImUzIgorUEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmli
dXRlKCJpZCIpIGlzICJlMiIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50Lmdl
dEF0dHJpYnV0ZSgiaWQiKSBpcyAiZTEiCitQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxl
bWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgInN0YXJ0IgorVGhpcyB0ZXN0IGlzIHRlc3Rpbmcg
dGhhdCB3ZSBjYW4gaGFuZGxlIDIgaW5saW5lIGVsZW1lbnRzIGluIHRoZSBzYW1lIGxpbmUuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25h
di10d28tZWxlbWVudHMtb25lLWxpbmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Nw
YXRpYWwtbmF2aWdhdGlvbi9zbmF2LXR3by1lbGVtZW50cy1vbmUtbGluZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4ODY2MDEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi10d28tZWxlbWVu
dHMtb25lLWxpbmUuaHRtbApAQCAtMCwwICsxLDY0IEBACis8aHRtbD4KKyAgPGhlYWQ+CisgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy9zcGF0aWFsLW5hdmlnYXRpb24tdXRpbHMuanMi
Pjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vamF2YXNjcmlwdCI+CisK
KyAgICB2YXIgcmVzdWx0TWFwID0gWworICAgICAgWyJEb3duIiwgImUxIl0sCisgICAgICBbIkRv
d24iLCAiZTIiXSwKKyAgICAgIFsiRG93biIsICJlMyJdLAorICAgICAgWyJVcCIsICJlMiJdLAor
ICAgICAgWyJVcCIsICJlMSJdLAorICAgICAgWyJVcCIsICJzdGFydCJdLAorICAgICAgWyJET05F
IiwgIkRPTkUiXQorICAgIF07CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5zZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFRhYlRvTGlu
a3NQcmVmZXJlbmNlS2V5IiwgMSk7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgeworICAgICAg
Ly8gc3RhcnRpbmcgdGhlIHRlc3QgaXRzZWxmOiBnZXQgdG8gYSBrbm93biBwbGFjZS4KKyAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpLmZvY3VzKCk7CisKKyAgICAgIGluaXRU
ZXN0KHJlc3VsdE1hcCwgdGVzdENvbXBsZXRlZCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVz
dENvbXBsZXRlZCgpCisgICAgeworICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH0KKwor
ICAgIHdpbmRvdy5vbmxvYWQgPSBydW5UZXN0OworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQg
c3JjPSJqcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgICA8c3R5bGU+
CisgICAgZGl2LmNvbnRhaW5lcjEgeyB3aWR0aDogMTAwcHg7fQorICAgIGRpdi5jb250YWluZXIy
IHsgd2lkdGg6IDEwMHB4O30KKyAgICA8L3N0eWxlPgorICA8L2hlYWQ+Cis8Ym9keSBpZD0ic29t
ZS1jb250ZW50IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9InBh
ZGRpbmc6MjBweCI+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIxIj4KKzxhIGhyZWY9IiMiIGlkPSJz
dGFydCI+QUFBQUFBQUFBQSBBQUFBQUFBQUFBIEFBPC9hPgorPGEgaHJlZj0iIyIgaWQ9ImUxIj5B
QSBBQUFBQUFBQUFBIEFBQUFBQUFBQUE8L2E+Cis8L2Rpdj4KKzxicj48YnI+Cis8ZGl2IGNsYXNz
PSJjb250YWluZXIyIj4KKzxhIGhyZWY9IiMiIGlkPSJlMiI+QUFBQUFBQUFBQSBBQUFBQUFBQUFB
IEFBPC9hPgorPHNwYW4+Qjwvc3Bhbj4KKzxhIGhyZWY9IiMiIGlkPSJlMyI+QUEgQUFBQUFBQUFB
QSBBQUFBQUFBQUFBPC9hPgorPC9kaXY+CisKKworCisKKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorVGhpcyB0ZXN0IGlzIHRlc3RpbmcgdGhhdCB3ZSBjYW4gaGFuZGxlIDIgaW5saW5lIGVsZW1l
bnRzIGluIHRoZSBzYW1lIGxpbmUuCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDllZTBmODYuLmFiMDM5ZDYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTEtMDItMTggIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29tZXMuCisKKyAgICAgICAg
TmF2aWdhdGluZyBkb3dud2FyZHMgLyB1cHdhcmRzIGRvZXMgbm90IGZvY3VzIG9uIHRoZSBsaW5r
cyBzcHJlYWQgYWNyb3NzIG1vcmUgdGhhbiBvbmUgbGluZS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NjM5CisKKyAgICAgICAgV2hlbiAyIGFuY2hv
ciBlbGVtZW50cyBzcGFuIG1vcmUgdGhhbiBvbmUgbGluZSBlYWNoLCBhbmQgb25lIGVuZHMgb24g
dGhlIHNhbWUgbGluZSB0aGF0IHRoZQorICAgICAgICBzZWNvbmQgc3RhcnRzIG9uLCB0aGUgcmVj
dHMgcmVwb3J0ZWQgYnkgdGhlaXIgcmVuZGVyZXJzIGFyZSBvdmVybGFwcGluZy4gV2hlbiBoYW5k
bGluZworICAgICAgICAyIG92ZXJsYXBwaW5nIG5vZGVzLCBjaGVjayBmb3IgdGhpcyBjYXNlLCBh
bmQgZG9uJ3QgYXNzdW1lIHRoYXQgb25lIG9mIHRoZSBub2RlcyBpcyBvbiBhIGhpZ2hlciBsYXll
ci4gICAKKworICAgICAgICBUZXN0OiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LXR3by1l
bGVtZW50cy1vbmUtbGluZS5odG1sCisKKyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp1cGRhdGVGb2N1c0NhbmRpZGF0ZUlmTmVlZGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvY3VzQ29udHJvbGxlcjo6ZmluZEZvY3VzQ2FuZGlkYXRlSW5Db250
YWluZXIpOgorICAgICAgICAqIHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6YXJlRWxlbWVudHNPblNhbWVMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OmRpc3Rh
bmNlRGF0YUZvck5vZGUpOgorICAgICAgICAqIHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24uaDoKKwog
MjAxMS0wMS0yOCAgQ2hhbmcgU2h1ICA8Y2hhbmcuc2h1QG5va2lhLmNvbT4KIAogICAgICAgICBb
Zml4IGFkZGVkIHRvIDIuMS1icmFuY2gsIGJ1dCBub3QgaW4gdHJ1bmsgeWV0XQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvRm9jdXND
b250cm9sbGVyLmNwcAppbmRleCA3OWI0MjRmLi4wNDZmMTQ3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9s
bGVyLmNwcApAQCAtNDAwLDcgKzQwMCw3IEBAIHZvaWQgRm9jdXNDb250cm9sbGVyOjpzZXRBY3Rp
dmUoYm9vbCBhY3RpdmUpCiAgICAgICAgIGRpc3BhdGNoRXZlbnRzT25XaW5kb3dBbmRGb2N1c2Vk
Tm9kZShtX2ZvY3VzZWRGcmFtZS0+ZG9jdW1lbnQoKSwgYWN0aXZlKTsKIH0KIAotdm9pZCB1cGRh
dGVGb2N1c0NhbmRpZGF0ZUlmTmVlZGVkKEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgY29uc3Qg
SW50UmVjdCYgc3RhcnRpbmdSZWN0LCBGb2N1c0NhbmRpZGF0ZSYgY2FuZGlkYXRlLCBGb2N1c0Nh
bmRpZGF0ZSYgY2xvc2VzdCkKK3N0YXRpYyB2b2lkIHVwZGF0ZUZvY3VzQ2FuZGlkYXRlSWZOZWVk
ZWQoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uLCBjb25zdCBGb2N1c0NhbmRpZGF0ZSYgY3VycmVu
dCwgRm9jdXNDYW5kaWRhdGUmIGNhbmRpZGF0ZSwgRm9jdXNDYW5kaWRhdGUmIGNsb3Nlc3QpCiB7
CiAgICAgaWYgKCFjYW5kaWRhdGUubm9kZS0+aXNFbGVtZW50Tm9kZSgpIHx8ICFjYW5kaWRhdGUu
bm9kZS0+cmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtNDEzLDggKzQxMyw2IEBAIHZv
aWQgdXBkYXRlRm9jdXNDYW5kaWRhdGVJZk5lZWRlZChGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24s
IGNvbnN0IEludFJlY3QmIHN0YXJ0CiAgICAgaWYgKGhhc09mZnNjcmVlblJlY3QoY2FuZGlkYXRl
Lm5vZGUpICYmICFjYW5CZVNjcm9sbGVkSW50b1ZpZXcoZGlyZWN0aW9uLCBjYW5kaWRhdGUpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBGb2N1c0NhbmRpZGF0ZSBjdXJyZW50OwotICAgIGN1cnJl
bnQucmVjdCA9IHN0YXJ0aW5nUmVjdDsKICAgICBkaXN0YW5jZURhdGFGb3JOb2RlKGRpcmVjdGlv
biwgY3VycmVudCwgY2FuZGlkYXRlKTsKICAgICBpZiAoY2FuZGlkYXRlLmRpc3RhbmNlID09IG1h
eERpc3RhbmNlKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTQyOCw3ICs0MjYsNyBAQCB2b2lkIHVw
ZGF0ZUZvY3VzQ2FuZGlkYXRlSWZOZWVkZWQoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uLCBjb25z
dCBJbnRSZWN0JiBzdGFydAogICAgIH0KIAogICAgIEludFJlY3QgaW50ZXJzZWN0aW9uUmVjdCA9
IGludGVyc2VjdGlvbihub2RlUmVjdEluQWJzb2x1dGVDb29yZGluYXRlcyhjYW5kaWRhdGUubm9k
ZSwgdHJ1ZSksIG5vZGVSZWN0SW5BYnNvbHV0ZUNvb3JkaW5hdGVzKGNsb3Nlc3Qubm9kZSwgdHJ1
ZSkpOwotICAgIGlmICghaW50ZXJzZWN0aW9uUmVjdC5pc0VtcHR5KCkpIHsKKyAgICBpZiAoIWlu
dGVyc2VjdGlvblJlY3QuaXNFbXB0eSgpICYmICFhcmVFbGVtZW50c09uU2FtZUxpbmUoY2xvc2Vz
dCwgY2FuZGlkYXRlKSkgewogICAgICAgICAvLyBJZiAyIG5vZGVzIGFyZSBpbnRlcnNlY3Rpbmcs
IGRvIGhpdCB0ZXN0IHRvIGZpbmQgd2hpY2ggbm9kZSBpbiBvbiB0b3AuCiAgICAgICAgIGludCB4
ID0gaW50ZXJzZWN0aW9uUmVjdC54KCkgKyBpbnRlcnNlY3Rpb25SZWN0LndpZHRoKCkgLyAyOwog
ICAgICAgICBpbnQgeSA9IGludGVyc2VjdGlvblJlY3QueSgpICsgaW50ZXJzZWN0aW9uUmVjdC5o
ZWlnaHQoKSAvIDI7CkBAIC00NTcsNiArNDU1LDEwIEBAIHZvaWQgRm9jdXNDb250cm9sbGVyOjpm
aW5kRm9jdXNDYW5kaWRhdGVJbkNvbnRhaW5lcihOb2RlKiBjb250YWluZXIsIGNvbnN0IEludFJl
CiAgICAgTm9kZSogZm9jdXNlZE5vZGUgPSAoZm9jdXNlZEZyYW1lKCkgJiYgZm9jdXNlZEZyYW1l
KCktPmRvY3VtZW50KCkpID8gZm9jdXNlZEZyYW1lKCktPmRvY3VtZW50KCktPmZvY3VzZWROb2Rl
KCkgOiAwOwogCiAgICAgTm9kZSogbm9kZSA9IGNvbnRhaW5lci0+Zmlyc3RDaGlsZCgpOworICAg
IEZvY3VzQ2FuZGlkYXRlIGN1cnJlbnQ7CisgICAgY3VycmVudC5yZWN0ID0gc3RhcnRpbmdSZWN0
OworICAgIGN1cnJlbnQubm9kZSA9IGZvY3VzZWROb2RlOworCiAgICAgZm9yICg7IG5vZGU7IG5v
ZGUgPSAobm9kZS0+aXNGcmFtZU93bmVyRWxlbWVudCgpIHx8IGNhblNjcm9sbEluRGlyZWN0aW9u
KGRpcmVjdGlvbiwgbm9kZSkpID8gbm9kZS0+dHJhdmVyc2VOZXh0U2libGluZyhjb250YWluZXIp
IDogbm9kZS0+dHJhdmVyc2VOZXh0Tm9kZShjb250YWluZXIpKSB7CiAgICAgICAgIGlmIChub2Rl
ID09IGZvY3VzZWROb2RlKQogICAgICAgICAgICAgY29udGludWU7CkBAIC00NjksNyArNDcxLDcg
QEAgdm9pZCBGb2N1c0NvbnRyb2xsZXI6OmZpbmRGb2N1c0NhbmRpZGF0ZUluQ29udGFpbmVyKE5v
ZGUqIGNvbnRhaW5lciwgY29uc3QgSW50UmUKIAogICAgICAgICBGb2N1c0NhbmRpZGF0ZSBjYW5k
aWRhdGUobm9kZSk7CiAgICAgICAgIGNhbmRpZGF0ZS5lbmNsb3NpbmdTY3JvbGxhYmxlQm94ID0g
Y29udGFpbmVyOwotICAgICAgICB1cGRhdGVGb2N1c0NhbmRpZGF0ZUlmTmVlZGVkKGRpcmVjdGlv
biwgc3RhcnRpbmdSZWN0LCBjYW5kaWRhdGUsIGNsb3Nlc3QpOworICAgICAgICB1cGRhdGVGb2N1
c0NhbmRpZGF0ZUlmTmVlZGVkKGRpcmVjdGlvbiwgY3VycmVudCwgY2FuZGlkYXRlLCBjbG9zZXN0
KTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlv
bi5jcHAgYi9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCmluZGV4IDFhN2E0MDcu
LjAzYjgwODAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAK
KysrIGIvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcApAQCAtMzMsOSArMzMsMTEg
QEAKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNs
dWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNp
bmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiTm9kZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIK
KyNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2lu
Y2x1ZGUgIlNldHRpbmdzLmgiCiAKQEAgLTU2NSwxMiArNTY3LDM5IEBAIHZvaWQgZW50cnlBbmRF
eGl0UG9pbnRzRm9yRGlyZWN0aW9uKEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgY29uc3QgSW50
UmVjdCYgc3RhCiAgICAgfQogfQogCi12b2lkIGRpc3RhbmNlRGF0YUZvck5vZGUoRm9jdXNEaXJl
Y3Rpb24gZGlyZWN0aW9uLCBGb2N1c0NhbmRpZGF0ZSYgY3VycmVudCwgRm9jdXNDYW5kaWRhdGUm
IGNhbmRpZGF0ZSkKK2Jvb2wgYXJlRWxlbWVudHNPblNhbWVMaW5lKGNvbnN0IEZvY3VzQ2FuZGlk
YXRlJiBmaXJzdENhbmRpZGF0ZSwgY29uc3QgRm9jdXNDYW5kaWRhdGUmIHNlY29uZENhbmRpZGF0
ZSkKIHsKLSAgICBpZiAoY2FuZGlkYXRlLmlzTnVsbCgpKQotICAgICAgICByZXR1cm47Ci0gICAg
aWYgKCFjYW5kaWRhdGUubm9kZS0+cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuOworICAgIGlm
IChmaXJzdENhbmRpZGF0ZS5pc051bGwoKSB8fCBzZWNvbmRDYW5kaWRhdGUuaXNOdWxsKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghZmlyc3RDYW5kaWRhdGUubm9kZS0+cmVu
ZGVyZXIoKSB8fCAhc2Vjb25kQ2FuZGlkYXRlLm5vZGUtPnJlbmRlcmVyKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGlmICghZmlyc3RDYW5kaWRhdGUucmVjdC5pbnRlcnNlY3RzKHNl
Y29uZENhbmRpZGF0ZS5yZWN0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGZp
cnN0Q2FuZGlkYXRlLm5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjphcmVhVGFnKSB8fCBzZWNv
bmRDYW5kaWRhdGUubm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmFyZWFUYWcpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWZpcnN0Q2FuZGlkYXRlLm5vZGUtPnJlbmRlcmVy
KCktPmlzUmVuZGVySW5saW5lKCkgfHwgIXNlY29uZENhbmRpZGF0ZS5ub2RlLT5yZW5kZXJlcigp
LT5pc1JlbmRlcklubGluZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoZmly
c3RDYW5kaWRhdGUubm9kZS0+cmVuZGVyZXIoKS0+Y29udGFpbmluZ0Jsb2NrKCkgIT0gc2Vjb25k
Q2FuZGlkYXRlLm5vZGUtPnJlbmRlcmVyKCktPmNvbnRhaW5pbmdCbG9jaygpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBkaXN0YW5jZURhdGFG
b3JOb2RlKEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgY29uc3QgRm9jdXNDYW5kaWRhdGUmIGN1
cnJlbnQsIEZvY3VzQ2FuZGlkYXRlJiBjYW5kaWRhdGUpCit7CisgICAgaWYgKGFyZUVsZW1lbnRz
T25TYW1lTGluZShjdXJyZW50LCBjYW5kaWRhdGUpKSB7CisgICAgICAgIGlmICgoZGlyZWN0aW9u
ID09IEZvY3VzRGlyZWN0aW9uVXAgJiYgY3VycmVudC5yZWN0LnkoKSA+IGNhbmRpZGF0ZS5yZWN0
LnkoKSkgfHwgKGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlvbkRvd24gJiYgY2FuZGlkYXRlLnJl
Y3QueSgpID4gY3VycmVudC5yZWN0LnkoKSkpIHsKKyAgICAgICAgICAgIGNhbmRpZGF0ZS5kaXN0
YW5jZSA9IDA7CisgICAgICAgICAgICBjYW5kaWRhdGUuYWxpZ25tZW50ID0gRnVsbDsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKwogICAgIEludFJlY3Qgbm9kZVJlY3Qg
PSBjYW5kaWRhdGUucmVjdDsKICAgICBJbnRSZWN0IGN1cnJlbnRSZWN0ID0gY3VycmVudC5yZWN0
OwogICAgIGRlZmxhdGVJZk92ZXJsYXBwZWQoY3VycmVudFJlY3QsIG5vZGVSZWN0KTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5oIGIvV2ViQ29yZS9wYWdlL1Nw
YXRpYWxOYXZpZ2F0aW9uLmgKaW5kZXggMjcwMGE5Yy4uY2E2M2M4YSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmgKKysrIGIvV2ViQ29yZS9wYWdlL1NwYXRpYWxO
YXZpZ2F0aW9uLmgKQEAgLTEzMiw3ICsxMzIsOCBAQCBib29sIGNhblNjcm9sbEluRGlyZWN0aW9u
KEZvY3VzRGlyZWN0aW9uLCBjb25zdCBOb2RlKiBjb250YWluZXIpOwogYm9vbCBjYW5TY3JvbGxJ
bkRpcmVjdGlvbihGb2N1c0RpcmVjdGlvbiwgY29uc3QgRnJhbWUqKTsKIEludFJlY3Qgbm9kZVJl
Y3RJbkFic29sdXRlQ29vcmRpbmF0ZXMoTm9kZSosIGJvb2wgaWdub3JlQm9yZGVyID0gZmFsc2Up
OwogSW50UmVjdCBmcmFtZVJlY3RJbkFic29sdXRlQ29vcmRpbmF0ZXMoRnJhbWUqKTsKLXZvaWQg
ZGlzdGFuY2VEYXRhRm9yTm9kZShGb2N1c0RpcmVjdGlvbiwgRm9jdXNDYW5kaWRhdGUmIGN1cnJl
bnQsIEZvY3VzQ2FuZGlkYXRlJiBjYW5kaWRhdGUpOworYm9vbCBhcmVFbGVtZW50c09uU2FtZUxp
bmUoY29uc3QgRm9jdXNDYW5kaWRhdGUmIGZpcnN0Q2FuZGlkYXRlLCBjb25zdCBGb2N1c0NhbmRp
ZGF0ZSYgc2Vjb25kQ2FuZGlkYXRlKTsKK3ZvaWQgZGlzdGFuY2VEYXRhRm9yTm9kZShGb2N1c0Rp
cmVjdGlvbiwgY29uc3QgRm9jdXNDYW5kaWRhdGUmIGN1cnJlbnQsIEZvY3VzQ2FuZGlkYXRlJiBj
YW5kaWRhdGUpOwogYm9vbCBjYW5CZVNjcm9sbGVkSW50b1ZpZXcoRm9jdXNEaXJlY3Rpb24sIGNv
bnN0IEZvY3VzQ2FuZGlkYXRlJik7CiBJbnRSZWN0IHZpcnR1YWxSZWN0Rm9yRGlyZWN0aW9uKEZv
Y3VzRGlyZWN0aW9uLCBjb25zdCBJbnRSZWN0JiBzdGFydGluZ1JlY3QpOwogfSAvLyBuYW1zcGFj
ZSBXZWJDb3JlCi0tIAoxLjcuMC40Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>