<?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>39639</bug_id>
          
          <creation_ts>2010-05-24 19:12:18 -0700</creation_ts>
          <short_desc>[Chromium] Implement new PopupMenuClient methods for AutoFill.</short_desc>
          <delta_ts>2010-06-12 19:46:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="James Hawkins">jhawkins</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>230041</commentid>
    <comment_count>0</comment_count>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2010-05-24 19:12:18 -0700</bug_when>
    <thetext>Patch to be uploaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230042</commentid>
    <comment_count>1</comment_count>
      <attachid>56959</attachid>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2010-05-24 19:13:52 -0700</bug_when>
    <thetext>Created attachment 56959
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231758</commentid>
    <comment_count>2</comment_count>
      <attachid>56959</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-05-28 10:10:58 -0700</bug_when>
    <thetext>Comment on attachment 56959
Patch

WebCore/rendering/RenderMenuList.h:104
&gt; +      virtual void selectionChanged(unsigned, bool) {}
nit: please give these parameters some names.  the type names alone
do not adequately describe their purpose.

WebCore/rendering/RenderTextControlSingleLine.h:111
&gt; +      virtual void selectionChanged(unsigned, bool) {}
nit: please give these parameters some names.  the type names alone
do not adequately describe their purpose.

WebKit/chromium/src/AutoFillPopupMenuClient.cpp:102
 +      // FIXME: Refactor this method.
nit: please be a bit more descriptive with this comment.  if someone else
is reading this, it&apos;d be great to not have to guess what you had in mind.
i&apos;m not sure what you intend to refactor ;-)

WebKit/chromium/src/SuggestionsPopupMenuClient.h:64
 +      virtual void selectionChanged(unsigned, bool) {}
nit: please give these parameters some names...

otherwise, LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232929</commentid>
    <comment_count>3</comment_count>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2010-06-01 13:26:38 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 56959 [details])
&gt; WebCore/rendering/RenderMenuList.h:104
&gt; &gt; +      virtual void selectionChanged(unsigned, bool) {}
&gt; nit: please give these parameters some names.  the type names alone
&gt; do not adequately describe their purpose.
&gt; 

Done.

&gt; WebCore/rendering/RenderTextControlSingleLine.h:111
&gt; &gt; +      virtual void selectionChanged(unsigned, bool) {}
&gt; nit: please give these parameters some names.  the type names alone
&gt; do not adequately describe their purpose.
&gt; 

Done.

&gt; WebKit/chromium/src/AutoFillPopupMenuClient.cpp:102
&gt;  +      // FIXME: Refactor this method.
&gt; nit: please be a bit more descriptive with this comment.  if someone else
&gt; is reading this, it&apos;d be great to not have to guess what you had in mind.
&gt; i&apos;m not sure what you intend to refactor ;-)
&gt; 

Done.

&gt; WebKit/chromium/src/SuggestionsPopupMenuClient.h:64
&gt;  +      virtual void selectionChanged(unsigned, bool) {}
&gt; nit: please give these parameters some names...
&gt; 
&gt; otherwise, LGTM.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232934</commentid>
    <comment_count>4</comment_count>
      <attachid>57588</attachid>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2010-06-01 13:34:32 -0700</bug_when>
    <thetext>Created attachment 57588
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232939</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-01 13:41:33 -0700</bug_when>
    <thetext>Attachment 57588 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/2795065</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232942</commentid>
    <comment_count>6</comment_count>
      <attachid>57592</attachid>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2010-06-01 13:52:50 -0700</bug_when>
    <thetext>Created attachment 57592
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232943</commentid>
    <comment_count>7</comment_count>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2010-06-01 13:53:29 -0700</bug_when>
    <thetext>Removed param names from the methods that left the params unused -&gt; build fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232987</commentid>
    <comment_count>8</comment_count>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2010-06-01 16:30:12 -0700</bug_when>
    <thetext>Committed r60514: &lt;http://trac.webkit.org/changeset/60514&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232991</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-01 16:47:06 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/60514 might have broken Chromium Win Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237439</commentid>
    <comment_count>10</comment_count>
      <attachid>57592</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-06-12 19:46:07 -0700</bug_when>
    <thetext>Comment on attachment 57592
Patch

This was already committed, right?  Clearing the review flag.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56959</attachid>
            <date>2010-05-24 19:13:52 -0700</date>
            <delta_ts>2010-06-01 13:34:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39639-20100524191351.patch</filename>
            <type>text/plain</type>
            <size>11847</size>
            <attacher name="James Hawkins">jhawkins</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDExMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTAtMDUtMjQgIEphbWVzIEhhd2tpbnMgIDxqaGF3a2luc0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkZWQgYWJpbGl0eSBmb3IgUG9wdXBNZW51Q2xpZW50IHRvIHNpZ25hbCB3aGVuCisgICAg
ICAgICogc2VsZWN0aW9uIGNoYW5nZWQsIGFuZAorICAgICAgICAqIHNlbGVjdGlvbiBjbGVhcmVk
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTYz
OQorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyBp
bnRlbnRpb25hbGx5IGhpZGRlbiBmcm9tCisgICAgICAgIGV2ZXJ5dGhpbmcgb3RoZXIgdGhhbiBy
ZW5kZXJlci4KKworICAgICAgICAqIHBsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBvcHVwTGlzdEJveDo6c2VsZWN0SW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6UG9w
dXBMaXN0Qm94OjpjbGVhclNlbGVjdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1l
bnVMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZW51TGlzdDo6UmVuZGVyTWVudUxp
c3Q6OnNlbGVjdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVudUxpc3Q6
OlJlbmRlck1lbnVMaXN0OjpzZWxlY3Rpb25DbGVhcmVkKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
ZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNlbGVjdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZWxlY3Rpb25DbGVhcmVkKToKKwogMjAx
MC0wNS0yNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBFcmljIENhcmxzb24uCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudUNs
aWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50LmgJ
KHJldmlzaW9uIDYwMTA5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsOCBAQCBjbGFzcyBQb3B1cE1lbnVDbGllbnQgewog
cHVibGljOgogICAgIHZpcnR1YWwgflBvcHVwTWVudUNsaWVudCgpIHt9CiAgICAgdmlydHVhbCB2
b2lkIHZhbHVlQ2hhbmdlZCh1bnNpZ25lZCBsaXN0SW5kZXgsIGJvb2wgZmlyZUV2ZW50cyA9IHRy
dWUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0aW9uQ2hhbmdlZCh1bnNpZ25lZCBsaXN0
SW5kZXgsIGJvb2wgZmlyZUV2ZW50cyA9IHRydWUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2Vs
ZWN0aW9uQ2xlYXJlZCgpID0gMDsKIAogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1UZXh0KHVuc2ln
bmVkIGxpc3RJbmRleCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1Ub29sVGlw
KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3QgPSAwOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDYwMTA5KQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwMTgsNiArMTAxOCw3IEBAIHZvaWQgUG9wdXBMaXN0Qm94OjpzZWxlY3RJbmRl
eChpbnQgaW5kZXgKICAgICAgICAgaW52YWxpZGF0ZVJvdyhtX3NlbGVjdGVkSW5kZXgpOwogCiAg
ICAgICAgIHNjcm9sbFRvUmV2ZWFsU2VsZWN0aW9uKCk7CisgICAgICAgIG1fcG9wdXBDbGllbnQt
PnNlbGVjdGlvbkNoYW5nZWQobV9zZWxlY3RlZEluZGV4KTsKICAgICB9CiB9CiAKQEAgLTEwNzks
NiArMTA4MCw3IEBAIHZvaWQgUG9wdXBMaXN0Qm94OjpjbGVhclNlbGVjdGlvbigpCiAgICAgaWYg
KG1fc2VsZWN0ZWRJbmRleCAhPSAtMSkgewogICAgICAgICBpbnZhbGlkYXRlUm93KG1fc2VsZWN0
ZWRJbmRleCk7CiAgICAgICAgIG1fc2VsZWN0ZWRJbmRleCA9IC0xOworICAgICAgICBtX3BvcHVw
Q2xpZW50LT5zZWxlY3Rpb25DbGVhcmVkKCk7CiAgICAgfQogfQogCkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNZW51TGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lbnVMaXN0LmgJKHJldmlzaW9uIDYwMTA5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWVudUxpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDYgKzEwMSw4IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCBib29sIHZhbHVlU2hvdWxkQ2hhbmdlT25Ib3RUcmFjaygpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUG9wT3ZlcigpIGNvbnN0
IHsgcmV0dXJuICFQT1BVUF9NRU5VX1BVTExTX0RPV047IH0KICAgICB2aXJ0dWFsIHZvaWQgdmFs
dWVDaGFuZ2VkKHVuc2lnbmVkIGxpc3RJbmRleCwgYm9vbCBmaXJlT25DaGFuZ2UgPSB0cnVlKTsK
KyAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0aW9uQ2hhbmdlZCh1bnNpZ25lZCwgYm9vbCkge30KKyAg
ICB2aXJ0dWFsIHZvaWQgc2VsZWN0aW9uQ2xlYXJlZCgpIHt9CiAgICAgdmlydHVhbCBGb250U2Vs
ZWN0b3IqIGZvbnRTZWxlY3RvcigpIGNvbnN0OwogICAgIHZpcnR1YWwgSG9zdFdpbmRvdyogaG9z
dFdpbmRvdygpIGNvbnN0OwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTY3JvbGxiYXI+IGNyZWF0
ZVNjcm9sbGJhcihTY3JvbGxiYXJDbGllbnQqLCBTY3JvbGxiYXJPcmllbnRhdGlvbiwgU2Nyb2xs
YmFyQ29udHJvbFNpemUpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRy
b2xTaW5nbGVMaW5lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2xTaW5nbGVMaW5lLmgJKHJldmlzaW9uIDYwMTA5KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw2
ICsxMDgsOCBAQCBwcml2YXRlOgogCiAgICAgLy8gUG9wdXBNZW51Q2xpZW50IG1ldGhvZHMKICAg
ICB2aXJ0dWFsIHZvaWQgdmFsdWVDaGFuZ2VkKHVuc2lnbmVkIGxpc3RJbmRleCwgYm9vbCBmaXJl
RXZlbnRzID0gdHJ1ZSk7CisgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNoYW5nZWQodW5zaWdu
ZWQsIGJvb2wpIHt9CisgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNsZWFyZWQoKSB7fQogICAg
IHZpcnR1YWwgU3RyaW5nIGl0ZW1UZXh0KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CiAgICAg
dmlydHVhbCBTdHJpbmcgaXRlbVRvb2xUaXAodW5zaWduZWQpIGNvbnN0IHsgcmV0dXJuIFN0cmlu
ZygpOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbUFjY2Vzc2liaWxpdHlUZXh0KHVuc2lnbmVk
KSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsgfQpJbmRleDogV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA2
MDExMCkKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzMCBAQAorMjAxMC0wNS0yNCAgSmFtZXMgSGF3a2lucyAgPGpoYXdraW5zQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
Q2hyb21pdW1dIEltcGxlbWVudCBuZXcgUG9wdXBNZW51Q2xpZW50IG1ldGhvZHMgc2VsZWN0aW9u
Q2hhbmdlZCgpCisgICAgICAgIGFuZCBzZWxlY3Rpb25DbGVhcmVkKCkuICBFeHBvc2UgcGxhY2VI
b2xkZXIgbWV0aG9kcyBhbmQgaXNBdXRvRmlsbGVkKCkKKyAgICAgICAgaW4gV2ViSW5wdXRFbGVt
ZW50LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
OTYzOQorCisgICAgICAgICogcHVibGljL1dlYklucHV0RWxlbWVudC5oOgorICAgICAgICAqIHB1
YmxpYy9XZWJWaWV3Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6OmRp
ZFNlbGVjdEF1dG9GaWxsU3VnZ2VzdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGll
bnQ6OmRpZENsZWFyQXV0b0ZpbGxTZWxlY3Rpb24pOgorICAgICAgICAqIHNyYy9BdXRvRmlsbFBv
cHVwTWVudUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1dG9GaWxsUG9wdXBNZW51Q2xp
ZW50OjpzZWxlY3Rpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6QXV0b0ZpbGxQb3B1cE1l
bnVDbGllbnQ6OnNlbGVjdGlvbkNsZWFyZWQpOgorICAgICAgICAoV2ViS2l0OjpBdXRvRmlsbFBv
cHVwTWVudUNsaWVudDo6cG9wdXBEaWRIaWRlKToKKyAgICAgICAgKiBzcmMvQXV0b0ZpbGxQb3B1
cE1lbnVDbGllbnQuaDoKKyAgICAgICAgKiBzcmMvU3VnZ2VzdGlvbnNQb3B1cE1lbnVDbGllbnQu
aDoKKyAgICAgICAgKFdlYktpdDo6U3VnZ2VzdGlvbnNQb3B1cE1lbnVDbGllbnQ6OnNlbGVjdGlv
bkNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpTdWdnZXN0aW9uc1BvcHVwTWVudUNsaWVudDo6
c2VsZWN0aW9uQ2xlYXJlZCk6CisgICAgICAgICogc3JjL1dlYklucHV0RWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYklucHV0RWxlbWVudDo6c2V0UGxhY2Vob2xkZXIpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJJbnB1dEVsZW1lbnQ6OnBsYWNlaG9sZGVyKToKKyAgICAgICAgKFdlYktp
dDo6V2ViSW5wdXRFbGVtZW50Ojppc0F1dG9maWxsZWQpOgorCiAyMDEwLTA1LTI0ICBEYXJpbiBB
ZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRl
bC4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEVsZW1lbnQuaAkocmV2aXNp
b24gNjAxMDkpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklucHV0RWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC04Niw4ICs4NiwxMSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAg
ICAgV0VCS0lUX0FQSSBib29sIGlzQWN0aXZhdGVkU3VibWl0KCkgY29uc3Q7CiAgICAgICAgIFdF
QktJVF9BUEkgdm9pZCBzZXRBY3RpdmF0ZWRTdWJtaXQoYm9vbCk7CiAgICAgICAgIFdFQktJVF9B
UEkgaW50IHNpemUoKSBjb25zdDsKLSAgICAgICAgV0VCS0lUX0FQSSB2b2lkIHNldFZhbHVlKGNv
bnN0IFdlYlN0cmluZyYgdmFsdWUpOworICAgICAgICBXRUJLSVRfQVBJIHZvaWQgc2V0VmFsdWUo
Y29uc3QgV2ViU3RyaW5nJik7CiAgICAgICAgIFdFQktJVF9BUEkgV2ViU3RyaW5nIHZhbHVlKCkg
Y29uc3Q7CisgICAgICAgIFdFQktJVF9BUEkgdm9pZCBzZXRQbGFjZWhvbGRlcihjb25zdCBXZWJT
dHJpbmcmKTsKKyAgICAgICAgV0VCS0lUX0FQSSBXZWJTdHJpbmcgcGxhY2Vob2xkZXIoKSBjb25z
dDsKKyAgICAgICAgV0VCS0lUX0FQSSBib29sIGlzQXV0b2ZpbGxlZCgpIGNvbnN0OwogICAgICAg
ICBXRUJLSVRfQVBJIHZvaWQgc2V0QXV0b2ZpbGxlZChib29sKTsKICAgICAgICAgV0VCS0lUX0FQ
SSB2b2lkIGRpc3BhdGNoRm9ybUNvbnRyb2xDaGFuZ2VFdmVudCgpOwogICAgICAgICBXRUJLSVRf
QVBJIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2UoaW50LCBpbnQpOwpJbmRleDogV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgJKHJldmlzaW9uIDYwMTA5KQorKysgV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4NSwxMyArMjg1
LDI1IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQXV0b2ZpbGxTdWdnZXN0aW9u
cyhjb25zdCBXZWJTdHJpbmcmIG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiB2YWx1ZSkgeyB9CiAKLSAgICAvLyBJbmZvcm1z
IHRoZSBicm93c2VyIHRoYXQgdGhlIHVzZXIgaGFzIHNlbGVjdGVkIGFuIEF1dG9GaWxsIHN1Z2dl
c3Rpb24KLSAgICAvLyBmb3IgYSBXZWJOb2RlLiAgfG5hbWV8IGFuZCB8bGFiZWx8IGZvcm0gYSBr
ZXkgaW50byB0aGUgc2V0IG9mIEF1dG9GaWxsCisgICAgLy8gSW5mb3JtcyB0aGUgYnJvd3NlciB0
aGF0IHRoZSB1c2VyIGhhcyBhY2NlcHRlZCBhbiBBdXRvRmlsbCBzdWdnZXN0aW9uIGZvcgorICAg
IC8vIGEgV2ViTm9kZS4gIHxuYW1lfCBhbmQgfGxhYmVsfCBmb3JtIGEga2V5IGludG8gdGhlIHNl
dCBvZiBBdXRvRmlsbAogICAgIC8vIHByb2ZpbGVzLgogICAgIHZpcnR1YWwgdm9pZCBkaWRBY2Nl
cHRBdXRvRmlsbFN1Z2dlc3Rpb24oY29uc3QgV2ViTm9kZSYsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG5hbWUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGxh
YmVsKSB7IH0KIAorICAgIC8vIEluZm9ybXMgdGhlIGJyb3dzZXIgdGhhdCB0aGUgdXNlciBoYXMg
c2VsZWN0ZWQgYW4gQXV0b0ZpbGwgc3VnZ2VzdGlvbiBmb3IKKyAgICAvLyBhIFdlYk5vZGUuICBU
aGlzIGhhcHBlbnMgd2hlbiB0aGUgdXNlciBob3ZlcnMgb3ZlciBhIHN1Z2dlc3Rpb24gb3IgdXNl
cworICAgIC8vIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIHRvIGEgc3VnZ2VzdGlvbi4KKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkU2VsZWN0QXV0b0ZpbGxTdWdnZXN0aW9uKGNvbnN0IFdlYk5vZGUm
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2Vi
U3RyaW5nJiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgV2ViU3RyaW5nJiBsYWJlbCkgeyB9CisKKyAgICAvLyBJbmZvcm1zIHRoZSBicm93
c2VyIHRoYXQgdGhlIHVzZXIgaGFzIGNsZWFyZWQgdGhlIHNlbGVjdGlvbiBmcm9tIHRoZQorICAg
IC8vIEF1dG9GaWxsIHN1Z2dlc3Rpb25zIGRyb3Bkb3duLiAgVGhpcyBoYXBwZW5zIHdoZW4gYSB1
c2VyIHVzZXMgdGhlIGFycm93CisgICAgLy8ga2V5cyB0byBuYXZpZ2F0ZSBvdXRzaWRlIHRoZSBy
YW5nZSBvZiBwb3NzaWJsZSBzZWxlY3Rpb25zLgorICAgIHZpcnR1YWwgdm9pZCBkaWRDbGVhckF1
dG9GaWxsU2VsZWN0aW9uKGNvbnN0IFdlYk5vZGUmKSB7IH0KKwogICAgIC8vIEdlb2xvY2F0aW9u
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogCiAgICAgLy8gQWNjZXNzIHRoZSBlbWJlZGRlciBBUEkgZm9yIGdlb2xvY2F0aW9uIHNlcnZp
Y2VzLgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9BdXRvRmlsbFBvcHVwTWVudUNsaWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9BdXRvRmlsbFBvcHVwTWVudUNs
aWVudC5jcHAJKHJldmlzaW9uIDYwMTA5KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9BdXRvRmls
bFBvcHVwTWVudUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1LDYgKzc1LDM4IEBAIHZv
aWQgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6OnZhbHVlQ2hhbmcKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fbGFiZWxzW2xpc3RJbmRleF0pOwog
fQogCit2b2lkIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpzZWxlY3Rpb25DaGFuZ2VkKHVuc2ln
bmVkIGxpc3RJbmRleCwgYm9vbCBmaXJlRXZlbnRzKQoreworICAgIEFTU0VSVChsaXN0SW5kZXgg
Pj0gMCAmJiBsaXN0SW5kZXggPCBtX25hbWVzLnNpemUoKSk7CisKKyAgICBXZWJWaWV3SW1wbCog
d2ViVmlldyA9IGdldFdlYlZpZXcoKTsKKyAgICBpZiAoIXdlYlZpZXcpCisgICAgICAgIHJldHVy
bjsKKworICAgIHdlYlZpZXctPmNsaWVudCgpLT5kaWRTZWxlY3RBdXRvRmlsbFN1Z2dlc3Rpb24o
V2ViTm9kZShnZXRUZXh0RmllbGQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtX25hbWVzW2xpc3RJbmRleF0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2xhYmVsc1tsaXN0SW5kZXhdKTsK
K30KKwordm9pZCBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6c2VsZWN0aW9uQ2xlYXJlZCgpCit7
CisgICAgV2ViVmlld0ltcGwqIHdlYlZpZXcgPSBnZXRXZWJWaWV3KCk7CisgICAgaWYgKCF3ZWJW
aWV3KQorICAgICAgcmV0dXJuOworCisgICAgd2ViVmlldy0+Y2xpZW50KCktPmRpZENsZWFyQXV0
b0ZpbGxTZWxlY3Rpb24oV2ViTm9kZShnZXRUZXh0RmllbGQoKSkpOworfQorCit2b2lkIEF1dG9G
aWxsUG9wdXBNZW51Q2xpZW50Ojpwb3B1cERpZEhpZGUoKQoreworICAgIC8vIEZJWE1FOiBSZWZh
Y3RvciB0aGlzIG1ldGhvZC4KKyAgICBXZWJWaWV3SW1wbCogd2ViVmlldyA9IGdldFdlYlZpZXco
KTsKKyAgICBpZiAoIXdlYlZpZXcpCisgICAgICByZXR1cm47CisKKyAgICB3ZWJWaWV3LT5jbGll
bnQoKS0+ZGlkQ2xlYXJBdXRvRmlsbFNlbGVjdGlvbihXZWJOb2RlKGdldFRleHRGaWVsZCgpKSk7
Cit9CisKIHZvaWQgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6OmluaXRpYWxpemUoCiAgICAgSFRN
TElucHV0RWxlbWVudCogdGV4dEZpZWxkLAogICAgIGNvbnN0IFdlYlZlY3RvcjxXZWJTdHJpbmc+
JiBuYW1lcywKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b0ZpbGxQb3B1cE1lbnVDbGll
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9GaWxsUG9wdXBNZW51
Q2xpZW50LmgJKHJldmlzaW9uIDYwMTA5KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9BdXRvRmls
bFBvcHVwTWVudUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw5IEBAIHB1Ymxp
YzoKIAogICAgIC8vIFdlYkNvcmU6OlBvcHVwTWVudUNsaWVudCBpbXBsZW1lbnRhdGlvbjoKICAg
ICB2aXJ0dWFsIHZvaWQgdmFsdWVDaGFuZ2VkKHVuc2lnbmVkIGxpc3RJbmRleCwgYm9vbCBmaXJl
RXZlbnRzID0gdHJ1ZSk7CisgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNoYW5nZWQodW5zaWdu
ZWQgbGlzdEluZGV4LCBib29sIGZpcmVFdmVudHMgPSB0cnVlKTsKKyAgICB2aXJ0dWFsIHZvaWQg
c2VsZWN0aW9uQ2xlYXJlZCgpOworICAgIHZpcnR1YWwgdm9pZCBwb3B1cERpZEhpZGUoKTsKIAog
ICAgIHZvaWQgaW5pdGlhbGl6ZShXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50KiwKICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgV2ViVmVjdG9yPFdlYlN0cmluZz4mIG5hbWVzLApJbmRleDogV2Vi
S2l0L2Nocm9taXVtL3NyYy9TdWdnZXN0aW9uc1BvcHVwTWVudUNsaWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvU3VnZ2VzdGlvbnNQb3B1cE1lbnVDbGllbnQuaAkocmV2
aXNpb24gNjAxMDkpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1N1Z2dlc3Rpb25zUG9wdXBNZW51
Q2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDggQEAgcHVibGljOgogCiAgICAg
Ly8gV2ViQ29yZTo6UG9wdXBNZW51Q2xpZW50IG1ldGhvZHM6CiAgICAgdmlydHVhbCB2b2lkIHZh
bHVlQ2hhbmdlZCh1bnNpZ25lZCBsaXN0SW5kZXgsIGJvb2wgZmlyZUV2ZW50cyA9IHRydWUpOwor
ICAgIHZpcnR1YWwgdm9pZCBzZWxlY3Rpb25DaGFuZ2VkKHVuc2lnbmVkLCBib29sKSB7fQorICAg
IHZpcnR1YWwgdm9pZCBzZWxlY3Rpb25DbGVhcmVkKCkge30KICAgICB2aXJ0dWFsIFdlYkNvcmU6
OlN0cmluZyBpdGVtVGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OwogICAgIHZpcnR1YWwg
V2ViQ29yZTo6U3RyaW5nIGl0ZW1Ub29sVGlwKHVuc2lnbmVkIGxhc3RJbmRleCkgY29uc3QgeyBy
ZXR1cm4gV2ViQ29yZTo6U3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIFdlYkNvcmU6OlN0cmluZyBp
dGVtQWNjZXNzaWJpbGl0eVRleHQodW5zaWduZWQgbGFzdEluZGV4KSBjb25zdCB7IHJldHVybiBX
ZWJDb3JlOjpTdHJpbmcoKTsgfQpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFbGVt
ZW50LmNwcAkocmV2aXNpb24gNjAxMDkpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg1LDYgKzg1LDIxIEBAIFdlYlN0cmluZyBX
ZWJJbnB1dEVsZW1lbnQ6OnZhbHVlKCkgY29uc3QKICAgICByZXR1cm4gY29uc3RVbndyYXA8SFRN
TElucHV0RWxlbWVudD4oKS0+dmFsdWUoKTsKIH0KIAordm9pZCBXZWJJbnB1dEVsZW1lbnQ6OnNl
dFBsYWNlaG9sZGVyKGNvbnN0IFdlYlN0cmluZyYgdmFsdWUpCit7CisgICAgdW53cmFwPEhUTUxJ
bnB1dEVsZW1lbnQ+KCktPnNldFBsYWNlaG9sZGVyKHZhbHVlKTsKK30KKworV2ViU3RyaW5nIFdl
YklucHV0RWxlbWVudDo6cGxhY2Vob2xkZXIoKSBjb25zdAoreworICAgIHJldHVybiBjb25zdFVu
d3JhcDxIVE1MSW5wdXRFbGVtZW50PigpLT5wbGFjZWhvbGRlcigpOworfQorCitib29sIFdlYklu
cHV0RWxlbWVudDo6aXNBdXRvZmlsbGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gY29uc3RVbndy
YXA8SFRNTElucHV0RWxlbWVudD4oKS0+aXNBdXRvZmlsbGVkKCk7Cit9CisKIHZvaWQgV2ViSW5w
dXRFbGVtZW50OjpzZXRBdXRvZmlsbGVkKGJvb2wgYXV0b0ZpbGxlZCkKIHsKICAgICB1bndyYXA8
SFRNTElucHV0RWxlbWVudD4oKS0+c2V0QXV0b2ZpbGxlZChhdXRvRmlsbGVkKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57588</attachid>
            <date>2010-06-01 13:34:32 -0700</date>
            <delta_ts>2010-06-01 13:52:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39639-20100601133431.patch</filename>
            <type>text/plain</type>
            <size>12025</size>
            <attacher name="James Hawkins">jhawkins</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDQ5MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTAtMDUtMjQgIEphbWVzIEhhd2tpbnMgIDxqaGF3a2luc0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkZWQgYWJpbGl0eSBmb3IgUG9wdXBNZW51Q2xpZW50IHRvIHNpZ25hbCB3aGVuCisgICAg
ICAgICogc2VsZWN0aW9uIGNoYW5nZWQsIGFuZAorICAgICAgICAqIHNlbGVjdGlvbiBjbGVhcmVk
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTYz
OQorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyBp
bnRlbnRpb25hbGx5IGhpZGRlbiBmcm9tCisgICAgICAgIGV2ZXJ5dGhpbmcgb3RoZXIgdGhhbiBy
ZW5kZXJlci4KKworICAgICAgICAqIHBsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBvcHVwTGlzdEJveDo6c2VsZWN0SW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6UG9w
dXBMaXN0Qm94OjpjbGVhclNlbGVjdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1l
bnVMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZW51TGlzdDo6UmVuZGVyTWVudUxp
c3Q6OnNlbGVjdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVudUxpc3Q6
OlJlbmRlck1lbnVMaXN0OjpzZWxlY3Rpb25DbGVhcmVkKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
ZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNlbGVjdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZWxlY3Rpb25DbGVhcmVkKToKKwogMjAx
MC0wNi0wMSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnVD
bGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5o
CShyZXZpc2lvbiA2MDQ5MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDggQEAgY2xhc3MgUG9wdXBNZW51Q2xpZW50IHsK
IHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Qb3B1cE1lbnVDbGllbnQoKSB7fQogICAgIHZpcnR1YWwg
dm9pZCB2YWx1ZUNoYW5nZWQodW5zaWduZWQgbGlzdEluZGV4LCBib29sIGZpcmVFdmVudHMgPSB0
cnVlKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNoYW5nZWQodW5zaWduZWQgbGlz
dEluZGV4LCBib29sIGZpcmVFdmVudHMgPSB0cnVlKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNl
bGVjdGlvbkNsZWFyZWQoKSA9IDA7CiAKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtVGV4dCh1bnNp
Z25lZCBsaXN0SW5kZXgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtVG9vbFRp
cCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0ID0gMDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Y2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCShyZXZpc2lvbiA2MDQ5MCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDE4LDYgKzEwMTgsNyBAQCB2b2lkIFBvcHVwTGlzdEJveDo6c2VsZWN0SW5k
ZXgoaW50IGluZGV4CiAgICAgICAgIGludmFsaWRhdGVSb3cobV9zZWxlY3RlZEluZGV4KTsKIAog
ICAgICAgICBzY3JvbGxUb1JldmVhbFNlbGVjdGlvbigpOworICAgICAgICBtX3BvcHVwQ2xpZW50
LT5zZWxlY3Rpb25DaGFuZ2VkKG1fc2VsZWN0ZWRJbmRleCk7CiAgICAgfQogfQogCkBAIC0xMDc5
LDYgKzEwODAsNyBAQCB2b2lkIFBvcHVwTGlzdEJveDo6Y2xlYXJTZWxlY3Rpb24oKQogICAgIGlm
IChtX3NlbGVjdGVkSW5kZXggIT0gLTEpIHsKICAgICAgICAgaW52YWxpZGF0ZVJvdyhtX3NlbGVj
dGVkSW5kZXgpOwogICAgICAgICBtX3NlbGVjdGVkSW5kZXggPSAtMTsKKyAgICAgICAgbV9wb3B1
cENsaWVudC0+c2VsZWN0aW9uQ2xlYXJlZCgpOwogICAgIH0KIH0KIApJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZW51TGlzdC5oCShyZXZpc2lvbiA2MDQ5MCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lbnVMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMSw2ICsxMDEsOCBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgYm9vbCB2YWx1ZVNob3VsZENoYW5nZU9uSG90VHJhY2soKSBjb25z
dCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIHNob3VsZFBvcE92ZXIoKSBjb25z
dCB7IHJldHVybiAhUE9QVVBfTUVOVV9QVUxMU19ET1dOOyB9CiAgICAgdmlydHVhbCB2b2lkIHZh
bHVlQ2hhbmdlZCh1bnNpZ25lZCBsaXN0SW5kZXgsIGJvb2wgZmlyZU9uQ2hhbmdlID0gdHJ1ZSk7
CisgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNoYW5nZWQodW5zaWduZWQgbGlzdEluZGV4LCBi
b29sIGZpcmVPbkNoYW5nZSA9IHRydWUpIHt9CisgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNs
ZWFyZWQoKSB7fQogICAgIHZpcnR1YWwgRm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IoKSBjb25z
dDsKICAgICB2aXJ0dWFsIEhvc3RXaW5kb3cqIGhvc3RXaW5kb3coKSBjb25zdDsKICAgICB2aXJ0
dWFsIFBhc3NSZWZQdHI8U2Nyb2xsYmFyPiBjcmVhdGVTY3JvbGxiYXIoU2Nyb2xsYmFyQ2xpZW50
KiwgU2Nyb2xsYmFyT3JpZW50YXRpb24sIFNjcm9sbGJhckNvbnRyb2xTaXplKTsKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCShyZXZp
c2lvbiA2MDQ5MCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xl
TGluZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNiArMTA4LDggQEAgcHJpdmF0ZToKIAogICAg
IC8vIFBvcHVwTWVudUNsaWVudCBtZXRob2RzCiAgICAgdmlydHVhbCB2b2lkIHZhbHVlQ2hhbmdl
ZCh1bnNpZ25lZCBsaXN0SW5kZXgsIGJvb2wgZmlyZUV2ZW50cyA9IHRydWUpOworICAgIHZpcnR1
YWwgdm9pZCBzZWxlY3Rpb25DaGFuZ2VkKHVuc2lnbmVkIGxpc3RJbmRleCwgYm9vbCBmaXJlRXZl
bnRzID0gdHJ1ZSkge30KKyAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0aW9uQ2xlYXJlZCgpIHt9CiAg
ICAgdmlydHVhbCBTdHJpbmcgaXRlbVRleHQodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdDsKICAg
ICB2aXJ0dWFsIFN0cmluZyBpdGVtVG9vbFRpcCh1bnNpZ25lZCkgY29uc3QgeyByZXR1cm4gU3Ry
aW5nKCk7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtQWNjZXNzaWJpbGl0eVRleHQodW5zaWdu
ZWQpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9u
IDYwNDkwKQorKysgV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDMwIEBACisyMDEwLTA1LTI0ICBKYW1lcyBIYXdraW5zICA8amhhd2tpbnNAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtDaHJvbWl1bV0gSW1wbGVtZW50IG5ldyBQb3B1cE1lbnVDbGllbnQgbWV0aG9kcyBzZWxlY3Rp
b25DaGFuZ2VkKCkKKyAgICAgICAgYW5kIHNlbGVjdGlvbkNsZWFyZWQoKS4gIEV4cG9zZSBwbGFj
ZUhvbGRlciBtZXRob2RzIGFuZCBpc0F1dG9GaWxsZWQoKQorICAgICAgICBpbiBXZWJJbnB1dEVs
ZW1lbnQuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM5NjM5CisKKyAgICAgICAgKiBwdWJsaWMvV2ViSW5wdXRFbGVtZW50Lmg6CisgICAgICAgICog
cHVibGljL1dlYlZpZXdDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6
ZGlkU2VsZWN0QXV0b0ZpbGxTdWdnZXN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0Ns
aWVudDo6ZGlkQ2xlYXJBdXRvRmlsbFNlbGVjdGlvbik6CisgICAgICAgICogc3JjL0F1dG9GaWxs
UG9wdXBNZW51Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV0b0ZpbGxQb3B1cE1lbnVD
bGllbnQ6OnNlbGVjdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpBdXRvRmlsbFBvcHVw
TWVudUNsaWVudDo6c2VsZWN0aW9uQ2xlYXJlZCk6CisgICAgICAgIChXZWJLaXQ6OkF1dG9GaWxs
UG9wdXBNZW51Q2xpZW50Ojpwb3B1cERpZEhpZGUpOgorICAgICAgICAqIHNyYy9BdXRvRmlsbFBv
cHVwTWVudUNsaWVudC5oOgorICAgICAgICAqIHNyYy9TdWdnZXN0aW9uc1BvcHVwTWVudUNsaWVu
dC5oOgorICAgICAgICAoV2ViS2l0OjpTdWdnZXN0aW9uc1BvcHVwTWVudUNsaWVudDo6c2VsZWN0
aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlN1Z2dlc3Rpb25zUG9wdXBNZW51Q2xpZW50
OjpzZWxlY3Rpb25DbGVhcmVkKToKKyAgICAgICAgKiBzcmMvV2ViSW5wdXRFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViSW5wdXRFbGVtZW50OjpzZXRQbGFjZWhvbGRlcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYklucHV0RWxlbWVudDo6cGxhY2Vob2xkZXIpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJJbnB1dEVsZW1lbnQ6OmlzQXV0b2ZpbGxlZCk6CisKIDIwMTAtMDYtMDEgIEplcmVt
eSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gRmlzaGVyLgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklucHV0RWxlbWVudC5o
CShyZXZpc2lvbiA2MDQ5MCkKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTg2LDggKzg2LDExIEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogICAgICAgICBXRUJLSVRfQVBJIGJvb2wgaXNBY3RpdmF0ZWRTdWJtaXQoKSBjb25zdDsKICAg
ICAgICAgV0VCS0lUX0FQSSB2b2lkIHNldEFjdGl2YXRlZFN1Ym1pdChib29sKTsKICAgICAgICAg
V0VCS0lUX0FQSSBpbnQgc2l6ZSgpIGNvbnN0OwotICAgICAgICBXRUJLSVRfQVBJIHZvaWQgc2V0
VmFsdWUoY29uc3QgV2ViU3RyaW5nJiB2YWx1ZSk7CisgICAgICAgIFdFQktJVF9BUEkgdm9pZCBz
ZXRWYWx1ZShjb25zdCBXZWJTdHJpbmcmKTsKICAgICAgICAgV0VCS0lUX0FQSSBXZWJTdHJpbmcg
dmFsdWUoKSBjb25zdDsKKyAgICAgICAgV0VCS0lUX0FQSSB2b2lkIHNldFBsYWNlaG9sZGVyKGNv
bnN0IFdlYlN0cmluZyYpOworICAgICAgICBXRUJLSVRfQVBJIFdlYlN0cmluZyBwbGFjZWhvbGRl
cigpIGNvbnN0OworICAgICAgICBXRUJLSVRfQVBJIGJvb2wgaXNBdXRvZmlsbGVkKCkgY29uc3Q7
CiAgICAgICAgIFdFQktJVF9BUEkgdm9pZCBzZXRBdXRvZmlsbGVkKGJvb2wpOwogICAgICAgICBX
RUJLSVRfQVBJIHZvaWQgZGlzcGF0Y2hGb3JtQ29udHJvbENoYW5nZUV2ZW50KCk7CiAgICAgICAg
IFdFQktJVF9BUEkgdm9pZCBzZXRTZWxlY3Rpb25SYW5nZShpbnQsIGludCk7CkluZGV4OiBXZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAkocmV2aXNpb24gNjA0OTApCisrKyBXZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjg3
LDEzICsyODcsMjUgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVBdXRvZmlsbFN1
Z2dlc3Rpb25zKGNvbnN0IFdlYlN0cmluZyYgbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHZhbHVlKSB7IH0KIAotICAgIC8v
IEluZm9ybXMgdGhlIGJyb3dzZXIgdGhhdCB0aGUgdXNlciBoYXMgc2VsZWN0ZWQgYW4gQXV0b0Zp
bGwgc3VnZ2VzdGlvbgotICAgIC8vIGZvciBhIFdlYk5vZGUuICB8bmFtZXwgYW5kIHxsYWJlbHwg
Zm9ybSBhIGtleSBpbnRvIHRoZSBzZXQgb2YgQXV0b0ZpbGwKKyAgICAvLyBJbmZvcm1zIHRoZSBi
cm93c2VyIHRoYXQgdGhlIHVzZXIgaGFzIGFjY2VwdGVkIGFuIEF1dG9GaWxsIHN1Z2dlc3Rpb24g
Zm9yCisgICAgLy8gYSBXZWJOb2RlLiAgfG5hbWV8IGFuZCB8bGFiZWx8IGZvcm0gYSBrZXkgaW50
byB0aGUgc2V0IG9mIEF1dG9GaWxsCiAgICAgLy8gcHJvZmlsZXMuCiAgICAgdmlydHVhbCB2b2lk
IGRpZEFjY2VwdEF1dG9GaWxsU3VnZ2VzdGlvbihjb25zdCBXZWJOb2RlJiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0
cmluZyYgbGFiZWwpIHsgfQogCisgICAgLy8gSW5mb3JtcyB0aGUgYnJvd3NlciB0aGF0IHRoZSB1
c2VyIGhhcyBzZWxlY3RlZCBhbiBBdXRvRmlsbCBzdWdnZXN0aW9uIGZvcgorICAgIC8vIGEgV2Vi
Tm9kZS4gIFRoaXMgaGFwcGVucyB3aGVuIHRoZSB1c2VyIGhvdmVycyBvdmVyIGEgc3VnZ2VzdGlv
biBvciB1c2VzCisgICAgLy8gdGhlIGFycm93IGtleXMgdG8gbmF2aWdhdGUgdG8gYSBzdWdnZXN0
aW9uLgorICAgIHZpcnR1YWwgdm9pZCBkaWRTZWxlY3RBdXRvRmlsbFN1Z2dlc3Rpb24oY29uc3Qg
V2ViTm9kZSYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBXZWJTdHJpbmcmIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGxhYmVsKSB7IH0KKworICAgIC8vIEluZm9ybXMg
dGhlIGJyb3dzZXIgdGhhdCB0aGUgdXNlciBoYXMgY2xlYXJlZCB0aGUgc2VsZWN0aW9uIGZyb20g
dGhlCisgICAgLy8gQXV0b0ZpbGwgc3VnZ2VzdGlvbnMgZHJvcGRvd24uICBUaGlzIGhhcHBlbnMg
d2hlbiBhIHVzZXIgdXNlcyB0aGUgYXJyb3cKKyAgICAvLyBrZXlzIHRvIG5hdmlnYXRlIG91dHNp
ZGUgdGhlIHJhbmdlIG9mIHBvc3NpYmxlIHNlbGVjdGlvbnMuCisgICAgdmlydHVhbCB2b2lkIGRp
ZENsZWFyQXV0b0ZpbGxTZWxlY3Rpb24oY29uc3QgV2ViTm9kZSYpIHsgfQorCiAgICAgLy8gR2Vv
bG9jYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAKICAgICAvLyBBY2Nlc3MgdGhlIGVtYmVkZGVyIEFQSSBmb3IgZ2VvbG9jYXRp
b24gc2VydmljZXMuCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9GaWxsUG9wdXBNZW51
Q2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9GaWxsUG9w
dXBNZW51Q2xpZW50LmNwcAkocmV2aXNpb24gNjA0OTApCisrKyBXZWJLaXQvY2hyb21pdW0vc3Jj
L0F1dG9GaWxsUG9wdXBNZW51Q2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzUsNiArNzUs
MzkgQEAgdm9pZCBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6dmFsdWVDaGFuZwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9sYWJlbHNbbGlzdElu
ZGV4XSk7CiB9CiAKK3ZvaWQgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6OnNlbGVjdGlvbkNoYW5n
ZWQodW5zaWduZWQgbGlzdEluZGV4LCBib29sIGZpcmVFdmVudHMpCit7CisgICAgQVNTRVJUKGxp
c3RJbmRleCA+PSAwICYmIGxpc3RJbmRleCA8IG1fbmFtZXMuc2l6ZSgpKTsKKworICAgIFdlYlZp
ZXdJbXBsKiB3ZWJWaWV3ID0gZ2V0V2ViVmlldygpOworICAgIGlmICghd2ViVmlldykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgd2ViVmlldy0+Y2xpZW50KCktPmRpZFNlbGVjdEF1dG9GaWxsU3Vn
Z2VzdGlvbihXZWJOb2RlKGdldFRleHRGaWVsZCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fbmFtZXNbbGlzdEluZGV4XSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fbGFiZWxzW2xpc3RJ
bmRleF0pOworfQorCit2b2lkIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpzZWxlY3Rpb25DbGVh
cmVkKCkKK3sKKyAgICBXZWJWaWV3SW1wbCogd2ViVmlldyA9IGdldFdlYlZpZXcoKTsKKyAgICBp
ZiAoIXdlYlZpZXcpCisgICAgICByZXR1cm47CisKKyAgICB3ZWJWaWV3LT5jbGllbnQoKS0+ZGlk
Q2xlYXJBdXRvRmlsbFNlbGVjdGlvbihXZWJOb2RlKGdldFRleHRGaWVsZCgpKSk7Cit9CisKK3Zv
aWQgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6OnBvcHVwRGlkSGlkZSgpCit7CisgICAgLy8gRklY
TUU6IFJlZmFjdG9yIHRoaXMgbWV0aG9kLCBhcyBzZWxlY3Rpb25DbGVhcmVkKCkgYW5kIHBvcHVw
RGlkSGlkZSgpCisgICAgLy8gc2hhcmUgdGhlIGV4YWN0IHNhbWUgZnVuY3Rpb25hbGl0eS4KKyAg
ICBXZWJWaWV3SW1wbCogd2ViVmlldyA9IGdldFdlYlZpZXcoKTsKKyAgICBpZiAoIXdlYlZpZXcp
CisgICAgICByZXR1cm47CisKKyAgICB3ZWJWaWV3LT5jbGllbnQoKS0+ZGlkQ2xlYXJBdXRvRmls
bFNlbGVjdGlvbihXZWJOb2RlKGdldFRleHRGaWVsZCgpKSk7Cit9CisKIHZvaWQgQXV0b0ZpbGxQ
b3B1cE1lbnVDbGllbnQ6OmluaXRpYWxpemUoCiAgICAgSFRNTElucHV0RWxlbWVudCogdGV4dEZp
ZWxkLAogICAgIGNvbnN0IFdlYlZlY3RvcjxXZWJTdHJpbmc+JiBuYW1lcywKSW5kZXg6IFdlYktp
dC9jaHJvbWl1bS9zcmMvQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9GaWxsUG9wdXBNZW51Q2xpZW50LmgJKHJldmlzaW9uIDYw
NDkwKQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9BdXRvRmlsbFBvcHVwTWVudUNsaWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw5IEBAIHB1YmxpYzoKIAogICAgIC8vIFdlYkNvcmU6
OlBvcHVwTWVudUNsaWVudCBpbXBsZW1lbnRhdGlvbjoKICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVD
aGFuZ2VkKHVuc2lnbmVkIGxpc3RJbmRleCwgYm9vbCBmaXJlRXZlbnRzID0gdHJ1ZSk7CisgICAg
dmlydHVhbCB2b2lkIHNlbGVjdGlvbkNoYW5nZWQodW5zaWduZWQgbGlzdEluZGV4LCBib29sIGZp
cmVFdmVudHMgPSB0cnVlKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0aW9uQ2xlYXJlZCgpOwor
ICAgIHZpcnR1YWwgdm9pZCBwb3B1cERpZEhpZGUoKTsKIAogICAgIHZvaWQgaW5pdGlhbGl6ZShX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50KiwKICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2Vi
VmVjdG9yPFdlYlN0cmluZz4mIG5hbWVzLApJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9TdWdn
ZXN0aW9uc1BvcHVwTWVudUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9z
cmMvU3VnZ2VzdGlvbnNQb3B1cE1lbnVDbGllbnQuaAkocmV2aXNpb24gNjA0OTApCisrKyBXZWJL
aXQvY2hyb21pdW0vc3JjL1N1Z2dlc3Rpb25zUG9wdXBNZW51Q2xpZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTYxLDYgKzYxLDggQEAgcHVibGljOgogCiAgICAgLy8gV2ViQ29yZTo6UG9wdXBNZW51
Q2xpZW50IG1ldGhvZHM6CiAgICAgdmlydHVhbCB2b2lkIHZhbHVlQ2hhbmdlZCh1bnNpZ25lZCBs
aXN0SW5kZXgsIGJvb2wgZmlyZUV2ZW50cyA9IHRydWUpOworICAgIHZpcnR1YWwgdm9pZCBzZWxl
Y3Rpb25DaGFuZ2VkKHVuc2lnbmVkIGxpc3RJbmRleCwgYm9vbCBmaXJlRXZlbnRzID0gdHJ1ZSkg
e30KKyAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0aW9uQ2xlYXJlZCgpIHt9CiAgICAgdmlydHVhbCBX
ZWJDb3JlOjpTdHJpbmcgaXRlbVRleHQodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdDsKICAgICB2
aXJ0dWFsIFdlYkNvcmU6OlN0cmluZyBpdGVtVG9vbFRpcCh1bnNpZ25lZCBsYXN0SW5kZXgpIGNv
bnN0IHsgcmV0dXJuIFdlYkNvcmU6OlN0cmluZygpOyB9CiAgICAgdmlydHVhbCBXZWJDb3JlOjpT
dHJpbmcgaXRlbUFjY2Vzc2liaWxpdHlUZXh0KHVuc2lnbmVkIGxhc3RJbmRleCkgY29uc3QgeyBy
ZXR1cm4gV2ViQ29yZTo6U3RyaW5nKCk7IH0KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
SW5wdXRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYklu
cHV0RWxlbWVudC5jcHAJKHJldmlzaW9uIDYwNDkwKQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJJbnB1dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NSw2ICs4NSwyMSBAQCBXZWJT
dHJpbmcgV2ViSW5wdXRFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0CiAgICAgcmV0dXJuIGNvbnN0VW53
cmFwPEhUTUxJbnB1dEVsZW1lbnQ+KCktPnZhbHVlKCk7CiB9CiAKK3ZvaWQgV2ViSW5wdXRFbGVt
ZW50OjpzZXRQbGFjZWhvbGRlcihjb25zdCBXZWJTdHJpbmcmIHZhbHVlKQoreworICAgIHVud3Jh
cDxIVE1MSW5wdXRFbGVtZW50PigpLT5zZXRQbGFjZWhvbGRlcih2YWx1ZSk7Cit9CisKK1dlYlN0
cmluZyBXZWJJbnB1dEVsZW1lbnQ6OnBsYWNlaG9sZGVyKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
Y29uc3RVbndyYXA8SFRNTElucHV0RWxlbWVudD4oKS0+cGxhY2Vob2xkZXIoKTsKK30KKworYm9v
bCBXZWJJbnB1dEVsZW1lbnQ6OmlzQXV0b2ZpbGxlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGNv
bnN0VW53cmFwPEhUTUxJbnB1dEVsZW1lbnQ+KCktPmlzQXV0b2ZpbGxlZCgpOworfQorCiB2b2lk
IFdlYklucHV0RWxlbWVudDo6c2V0QXV0b2ZpbGxlZChib29sIGF1dG9GaWxsZWQpCiB7CiAgICAg
dW53cmFwPEhUTUxJbnB1dEVsZW1lbnQ+KCktPnNldEF1dG9maWxsZWQoYXV0b0ZpbGxlZCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57592</attachid>
            <date>2010-06-01 13:52:50 -0700</date>
            <delta_ts>2010-06-12 19:46:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39639-20100601135249.patch</filename>
            <type>text/plain</type>
            <size>11939</size>
            <attacher name="James Hawkins">jhawkins</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDQ5MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTAtMDUtMjQgIEphbWVzIEhhd2tpbnMgIDxqaGF3a2luc0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkZWQgYWJpbGl0eSBmb3IgUG9wdXBNZW51Q2xpZW50IHRvIHNpZ25hbCB3aGVuCisgICAg
ICAgICogc2VsZWN0aW9uIGNoYW5nZWQsIGFuZAorICAgICAgICAqIHNlbGVjdGlvbiBjbGVhcmVk
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTYz
OQorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyBp
bnRlbnRpb25hbGx5IGhpZGRlbiBmcm9tCisgICAgICAgIGV2ZXJ5dGhpbmcgb3RoZXIgdGhhbiBy
ZW5kZXJlci4KKworICAgICAgICAqIHBsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBvcHVwTGlzdEJveDo6c2VsZWN0SW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6UG9w
dXBMaXN0Qm94OjpjbGVhclNlbGVjdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1l
bnVMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZW51TGlzdDo6UmVuZGVyTWVudUxp
c3Q6OnNlbGVjdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVudUxpc3Q6
OlJlbmRlck1lbnVMaXN0OjpzZWxlY3Rpb25DbGVhcmVkKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
ZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNlbGVjdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzZWxlY3Rpb25DbGVhcmVkKToKKwogMjAx
MC0wNi0wMSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnVD
bGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5o
CShyZXZpc2lvbiA2MDQ5MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDggQEAgY2xhc3MgUG9wdXBNZW51Q2xpZW50IHsK
IHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Qb3B1cE1lbnVDbGllbnQoKSB7fQogICAgIHZpcnR1YWwg
dm9pZCB2YWx1ZUNoYW5nZWQodW5zaWduZWQgbGlzdEluZGV4LCBib29sIGZpcmVFdmVudHMgPSB0
cnVlKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNoYW5nZWQodW5zaWduZWQgbGlz
dEluZGV4LCBib29sIGZpcmVFdmVudHMgPSB0cnVlKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNl
bGVjdGlvbkNsZWFyZWQoKSA9IDA7CiAKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtVGV4dCh1bnNp
Z25lZCBsaXN0SW5kZXgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtVG9vbFRp
cCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0ID0gMDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Y2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCShyZXZpc2lvbiA2MDQ5MCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDE4LDYgKzEwMTgsNyBAQCB2b2lkIFBvcHVwTGlzdEJveDo6c2VsZWN0SW5k
ZXgoaW50IGluZGV4CiAgICAgICAgIGludmFsaWRhdGVSb3cobV9zZWxlY3RlZEluZGV4KTsKIAog
ICAgICAgICBzY3JvbGxUb1JldmVhbFNlbGVjdGlvbigpOworICAgICAgICBtX3BvcHVwQ2xpZW50
LT5zZWxlY3Rpb25DaGFuZ2VkKG1fc2VsZWN0ZWRJbmRleCk7CiAgICAgfQogfQogCkBAIC0xMDc5
LDYgKzEwODAsNyBAQCB2b2lkIFBvcHVwTGlzdEJveDo6Y2xlYXJTZWxlY3Rpb24oKQogICAgIGlm
IChtX3NlbGVjdGVkSW5kZXggIT0gLTEpIHsKICAgICAgICAgaW52YWxpZGF0ZVJvdyhtX3NlbGVj
dGVkSW5kZXgpOwogICAgICAgICBtX3NlbGVjdGVkSW5kZXggPSAtMTsKKyAgICAgICAgbV9wb3B1
cENsaWVudC0+c2VsZWN0aW9uQ2xlYXJlZCgpOwogICAgIH0KIH0KIApJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZW51TGlzdC5oCShyZXZpc2lvbiA2MDQ5MCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lbnVMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMSw2ICsxMDEsOCBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgYm9vbCB2YWx1ZVNob3VsZENoYW5nZU9uSG90VHJhY2soKSBjb25z
dCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIHNob3VsZFBvcE92ZXIoKSBjb25z
dCB7IHJldHVybiAhUE9QVVBfTUVOVV9QVUxMU19ET1dOOyB9CiAgICAgdmlydHVhbCB2b2lkIHZh
bHVlQ2hhbmdlZCh1bnNpZ25lZCBsaXN0SW5kZXgsIGJvb2wgZmlyZU9uQ2hhbmdlID0gdHJ1ZSk7
CisgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNoYW5nZWQodW5zaWduZWQsIGJvb2wpIHt9Cisg
ICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNsZWFyZWQoKSB7fQogICAgIHZpcnR1YWwgRm9udFNl
bGVjdG9yKiBmb250U2VsZWN0b3IoKSBjb25zdDsKICAgICB2aXJ0dWFsIEhvc3RXaW5kb3cqIGhv
c3RXaW5kb3coKSBjb25zdDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2Nyb2xsYmFyPiBjcmVh
dGVTY3JvbGxiYXIoU2Nyb2xsYmFyQ2xpZW50KiwgU2Nyb2xsYmFyT3JpZW50YXRpb24sIFNjcm9s
bGJhckNvbnRyb2xTaXplKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sU2luZ2xlTGluZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZS5oCShyZXZpc2lvbiA2MDQ5MCkKKysrIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgs
NiArMTA4LDggQEAgcHJpdmF0ZToKIAogICAgIC8vIFBvcHVwTWVudUNsaWVudCBtZXRob2RzCiAg
ICAgdmlydHVhbCB2b2lkIHZhbHVlQ2hhbmdlZCh1bnNpZ25lZCBsaXN0SW5kZXgsIGJvb2wgZmly
ZUV2ZW50cyA9IHRydWUpOworICAgIHZpcnR1YWwgdm9pZCBzZWxlY3Rpb25DaGFuZ2VkKHVuc2ln
bmVkLCBib29sKSB7fQorICAgIHZpcnR1YWwgdm9pZCBzZWxlY3Rpb25DbGVhcmVkKCkge30KICAg
ICB2aXJ0dWFsIFN0cmluZyBpdGVtVGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OwogICAg
IHZpcnR1YWwgU3RyaW5nIGl0ZW1Ub29sVGlwKHVuc2lnbmVkKSBjb25zdCB7IHJldHVybiBTdHJp
bmcoKTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1BY2Nlc3NpYmlsaXR5VGV4dCh1bnNpZ25l
ZCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24g
NjA0OTApCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMzAgQEAKKzIwMTAtMDUtMjQgIEphbWVzIEhhd2tpbnMgIDxqaGF3a2luc0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W0Nocm9taXVtXSBJbXBsZW1lbnQgbmV3IFBvcHVwTWVudUNsaWVudCBtZXRob2RzIHNlbGVjdGlv
bkNoYW5nZWQoKQorICAgICAgICBhbmQgc2VsZWN0aW9uQ2xlYXJlZCgpLiAgRXhwb3NlIHBsYWNl
SG9sZGVyIG1ldGhvZHMgYW5kIGlzQXV0b0ZpbGxlZCgpCisgICAgICAgIGluIFdlYklucHV0RWxl
bWVudC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Mzk2MzkKKworICAgICAgICAqIHB1YmxpYy9XZWJJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKiBw
dWJsaWMvV2ViVmlld0NsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50Ojpk
aWRTZWxlY3RBdXRvRmlsbFN1Z2dlc3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xp
ZW50OjpkaWRDbGVhckF1dG9GaWxsU2VsZWN0aW9uKToKKyAgICAgICAgKiBzcmMvQXV0b0ZpbGxQ
b3B1cE1lbnVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpBdXRvRmlsbFBvcHVwTWVudUNs
aWVudDo6c2VsZWN0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OkF1dG9GaWxsUG9wdXBN
ZW51Q2xpZW50OjpzZWxlY3Rpb25DbGVhcmVkKToKKyAgICAgICAgKFdlYktpdDo6QXV0b0ZpbGxQ
b3B1cE1lbnVDbGllbnQ6OnBvcHVwRGlkSGlkZSk6CisgICAgICAgICogc3JjL0F1dG9GaWxsUG9w
dXBNZW51Q2xpZW50Lmg6CisgICAgICAgICogc3JjL1N1Z2dlc3Rpb25zUG9wdXBNZW51Q2xpZW50
Lmg6CisgICAgICAgIChXZWJLaXQ6OlN1Z2dlc3Rpb25zUG9wdXBNZW51Q2xpZW50OjpzZWxlY3Rp
b25DaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6U3VnZ2VzdGlvbnNQb3B1cE1lbnVDbGllbnQ6
OnNlbGVjdGlvbkNsZWFyZWQpOgorICAgICAgICAqIHNyYy9XZWJJbnB1dEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnB1dEVsZW1lbnQ6OnNldFBsYWNlaG9sZGVyKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViSW5wdXRFbGVtZW50OjpwbGFjZWhvbGRlcik6CisgICAgICAgIChXZWJL
aXQ6OldlYklucHV0RWxlbWVudDo6aXNBdXRvZmlsbGVkKToKKwogMjAxMC0wNi0wMSAgSmVyZW15
IE9ybG93ICA8am9ybG93QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBGaXNoZXIuCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklucHV0RWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRFbGVtZW50LmgJ
KHJldmlzaW9uIDYwNDkwKQorKysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEVsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtODYsOCArODYsMTEgQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiAgICAgICAgIFdFQktJVF9BUEkgYm9vbCBpc0FjdGl2YXRlZFN1Ym1pdCgpIGNvbnN0OwogICAg
ICAgICBXRUJLSVRfQVBJIHZvaWQgc2V0QWN0aXZhdGVkU3VibWl0KGJvb2wpOwogICAgICAgICBX
RUJLSVRfQVBJIGludCBzaXplKCkgY29uc3Q7Ci0gICAgICAgIFdFQktJVF9BUEkgdm9pZCBzZXRW
YWx1ZShjb25zdCBXZWJTdHJpbmcmIHZhbHVlKTsKKyAgICAgICAgV0VCS0lUX0FQSSB2b2lkIHNl
dFZhbHVlKGNvbnN0IFdlYlN0cmluZyYpOwogICAgICAgICBXRUJLSVRfQVBJIFdlYlN0cmluZyB2
YWx1ZSgpIGNvbnN0OworICAgICAgICBXRUJLSVRfQVBJIHZvaWQgc2V0UGxhY2Vob2xkZXIoY29u
c3QgV2ViU3RyaW5nJik7CisgICAgICAgIFdFQktJVF9BUEkgV2ViU3RyaW5nIHBsYWNlaG9sZGVy
KCkgY29uc3Q7CisgICAgICAgIFdFQktJVF9BUEkgYm9vbCBpc0F1dG9maWxsZWQoKSBjb25zdDsK
ICAgICAgICAgV0VCS0lUX0FQSSB2b2lkIHNldEF1dG9maWxsZWQoYm9vbCk7CiAgICAgICAgIFdF
QktJVF9BUEkgdm9pZCBkaXNwYXRjaEZvcm1Db250cm9sQ2hhbmdlRXZlbnQoKTsKICAgICAgICAg
V0VCS0lUX0FQSSB2b2lkIHNldFNlbGVjdGlvblJhbmdlKGludCwgaW50KTsKSW5kZXg6IFdlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCShyZXZpc2lvbiA2MDQ5MCkKKysrIFdlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yODcs
MTMgKzI4NywyNSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUF1dG9maWxsU3Vn
Z2VzdGlvbnMoY29uc3QgV2ViU3RyaW5nJiBuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgdmFsdWUpIHsgfQogCi0gICAgLy8g
SW5mb3JtcyB0aGUgYnJvd3NlciB0aGF0IHRoZSB1c2VyIGhhcyBzZWxlY3RlZCBhbiBBdXRvRmls
bCBzdWdnZXN0aW9uCi0gICAgLy8gZm9yIGEgV2ViTm9kZS4gIHxuYW1lfCBhbmQgfGxhYmVsfCBm
b3JtIGEga2V5IGludG8gdGhlIHNldCBvZiBBdXRvRmlsbAorICAgIC8vIEluZm9ybXMgdGhlIGJy
b3dzZXIgdGhhdCB0aGUgdXNlciBoYXMgYWNjZXB0ZWQgYW4gQXV0b0ZpbGwgc3VnZ2VzdGlvbiBm
b3IKKyAgICAvLyBhIFdlYk5vZGUuICB8bmFtZXwgYW5kIHxsYWJlbHwgZm9ybSBhIGtleSBpbnRv
IHRoZSBzZXQgb2YgQXV0b0ZpbGwKICAgICAvLyBwcm9maWxlcy4KICAgICB2aXJ0dWFsIHZvaWQg
ZGlkQWNjZXB0QXV0b0ZpbGxTdWdnZXN0aW9uKGNvbnN0IFdlYk5vZGUmLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1lLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3Ry
aW5nJiBsYWJlbCkgeyB9CiAKKyAgICAvLyBJbmZvcm1zIHRoZSBicm93c2VyIHRoYXQgdGhlIHVz
ZXIgaGFzIHNlbGVjdGVkIGFuIEF1dG9GaWxsIHN1Z2dlc3Rpb24gZm9yCisgICAgLy8gYSBXZWJO
b2RlLiAgVGhpcyBoYXBwZW5zIHdoZW4gdGhlIHVzZXIgaG92ZXJzIG92ZXIgYSBzdWdnZXN0aW9u
IG9yIHVzZXMKKyAgICAvLyB0aGUgYXJyb3cga2V5cyB0byBuYXZpZ2F0ZSB0byBhIHN1Z2dlc3Rp
b24uCisgICAgdmlydHVhbCB2b2lkIGRpZFNlbGVjdEF1dG9GaWxsU3VnZ2VzdGlvbihjb25zdCBX
ZWJOb2RlJiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IFdlYlN0cmluZyYgbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbGFiZWwpIHsgfQorCisgICAgLy8gSW5mb3JtcyB0
aGUgYnJvd3NlciB0aGF0IHRoZSB1c2VyIGhhcyBjbGVhcmVkIHRoZSBzZWxlY3Rpb24gZnJvbSB0
aGUKKyAgICAvLyBBdXRvRmlsbCBzdWdnZXN0aW9ucyBkcm9wZG93bi4gIFRoaXMgaGFwcGVucyB3
aGVuIGEgdXNlciB1c2VzIHRoZSBhcnJvdworICAgIC8vIGtleXMgdG8gbmF2aWdhdGUgb3V0c2lk
ZSB0aGUgcmFuZ2Ugb2YgcG9zc2libGUgc2VsZWN0aW9ucy4KKyAgICB2aXJ0dWFsIHZvaWQgZGlk
Q2xlYXJBdXRvRmlsbFNlbGVjdGlvbihjb25zdCBXZWJOb2RlJikgeyB9CisKICAgICAvLyBHZW9s
b2NhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIAogICAgIC8vIEFjY2VzcyB0aGUgZW1iZWRkZXIgQVBJIGZvciBnZW9sb2NhdGlv
biBzZXJ2aWNlcy4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b0ZpbGxQb3B1cE1lbnVD
bGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b0ZpbGxQb3B1
cE1lbnVDbGllbnQuY3BwCShyZXZpc2lvbiA2MDQ5MCkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMv
QXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NSw2ICs3NSwz
OSBAQCB2b2lkIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50Ojp2YWx1ZUNoYW5nCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2xhYmVsc1tsaXN0SW5k
ZXhdKTsKIH0KIAordm9pZCBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6c2VsZWN0aW9uQ2hhbmdl
ZCh1bnNpZ25lZCBsaXN0SW5kZXgsIGJvb2wgZmlyZUV2ZW50cykKK3sKKyAgICBBU1NFUlQobGlz
dEluZGV4ID49IDAgJiYgbGlzdEluZGV4IDwgbV9uYW1lcy5zaXplKCkpOworCisgICAgV2ViVmll
d0ltcGwqIHdlYlZpZXcgPSBnZXRXZWJWaWV3KCk7CisgICAgaWYgKCF3ZWJWaWV3KQorICAgICAg
ICByZXR1cm47CisKKyAgICB3ZWJWaWV3LT5jbGllbnQoKS0+ZGlkU2VsZWN0QXV0b0ZpbGxTdWdn
ZXN0aW9uKFdlYk5vZGUoZ2V0VGV4dEZpZWxkKCkpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9uYW1lc1tsaXN0SW5kZXhdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9sYWJlbHNbbGlzdElu
ZGV4XSk7Cit9CisKK3ZvaWQgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6OnNlbGVjdGlvbkNsZWFy
ZWQoKQoreworICAgIFdlYlZpZXdJbXBsKiB3ZWJWaWV3ID0gZ2V0V2ViVmlldygpOworICAgIGlm
ICghd2ViVmlldykKKyAgICAgIHJldHVybjsKKworICAgIHdlYlZpZXctPmNsaWVudCgpLT5kaWRD
bGVhckF1dG9GaWxsU2VsZWN0aW9uKFdlYk5vZGUoZ2V0VGV4dEZpZWxkKCkpKTsKK30KKwordm9p
ZCBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6cG9wdXBEaWRIaWRlKCkKK3sKKyAgICAvLyBGSVhN
RTogUmVmYWN0b3IgdGhpcyBtZXRob2QsIGFzIHNlbGVjdGlvbkNsZWFyZWQoKSBhbmQgcG9wdXBE
aWRIaWRlKCkKKyAgICAvLyBzaGFyZSB0aGUgZXhhY3Qgc2FtZSBmdW5jdGlvbmFsaXR5LgorICAg
IFdlYlZpZXdJbXBsKiB3ZWJWaWV3ID0gZ2V0V2ViVmlldygpOworICAgIGlmICghd2ViVmlldykK
KyAgICAgIHJldHVybjsKKworICAgIHdlYlZpZXctPmNsaWVudCgpLT5kaWRDbGVhckF1dG9GaWxs
U2VsZWN0aW9uKFdlYk5vZGUoZ2V0VGV4dEZpZWxkKCkpKTsKK30KKwogdm9pZCBBdXRvRmlsbFBv
cHVwTWVudUNsaWVudDo6aW5pdGlhbGl6ZSgKICAgICBIVE1MSW5wdXRFbGVtZW50KiB0ZXh0Rmll
bGQsCiAgICAgY29uc3QgV2ViVmVjdG9yPFdlYlN0cmluZz4mIG5hbWVzLApJbmRleDogV2ViS2l0
L2Nocm9taXVtL3NyYy9BdXRvRmlsbFBvcHVwTWVudUNsaWVudC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9jaHJvbWl1bS9zcmMvQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQuaAkocmV2aXNpb24gNjA0
OTApCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9GaWxsUG9wdXBNZW51Q2xpZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDkgQEAgcHVibGljOgogCiAgICAgLy8gV2ViQ29yZTo6
UG9wdXBNZW51Q2xpZW50IGltcGxlbWVudGF0aW9uOgogICAgIHZpcnR1YWwgdm9pZCB2YWx1ZUNo
YW5nZWQodW5zaWduZWQgbGlzdEluZGV4LCBib29sIGZpcmVFdmVudHMgPSB0cnVlKTsKKyAgICB2
aXJ0dWFsIHZvaWQgc2VsZWN0aW9uQ2hhbmdlZCh1bnNpZ25lZCBsaXN0SW5kZXgsIGJvb2wgZmly
ZUV2ZW50cyA9IHRydWUpOworICAgIHZpcnR1YWwgdm9pZCBzZWxlY3Rpb25DbGVhcmVkKCk7Cisg
ICAgdmlydHVhbCB2b2lkIHBvcHVwRGlkSGlkZSgpOwogCiAgICAgdm9pZCBpbml0aWFsaXplKFdl
YkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQqLAogICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJW
ZWN0b3I8V2ViU3RyaW5nPiYgbmFtZXMsCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1N1Z2dl
c3Rpb25zUG9wdXBNZW51Q2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3Ny
Yy9TdWdnZXN0aW9uc1BvcHVwTWVudUNsaWVudC5oCShyZXZpc2lvbiA2MDQ5MCkKKysrIFdlYktp
dC9jaHJvbWl1bS9zcmMvU3VnZ2VzdGlvbnNQb3B1cE1lbnVDbGllbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtNjEsNiArNjEsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBXZWJDb3JlOjpQb3B1cE1lbnVD
bGllbnQgbWV0aG9kczoKICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVDaGFuZ2VkKHVuc2lnbmVkIGxp
c3RJbmRleCwgYm9vbCBmaXJlRXZlbnRzID0gdHJ1ZSk7CisgICAgdmlydHVhbCB2b2lkIHNlbGVj
dGlvbkNoYW5nZWQodW5zaWduZWQsIGJvb2wpIHt9CisgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlv
bkNsZWFyZWQoKSB7fQogICAgIHZpcnR1YWwgV2ViQ29yZTo6U3RyaW5nIGl0ZW1UZXh0KHVuc2ln
bmVkIGxpc3RJbmRleCkgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpTdHJpbmcgaXRlbVRv
b2xUaXAodW5zaWduZWQgbGFzdEluZGV4KSBjb25zdCB7IHJldHVybiBXZWJDb3JlOjpTdHJpbmco
KTsgfQogICAgIHZpcnR1YWwgV2ViQ29yZTo6U3RyaW5nIGl0ZW1BY2Nlc3NpYmlsaXR5VGV4dCh1
bnNpZ25lZCBsYXN0SW5kZXgpIGNvbnN0IHsgcmV0dXJuIFdlYkNvcmU6OlN0cmluZygpOyB9Cklu
ZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEVsZW1lbnQuY3BwCShyZXZpc2lvbiA2MDQ5
MCkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtODUsNiArODUsMjEgQEAgV2ViU3RyaW5nIFdlYklucHV0RWxlbWVudDo6dmFsdWUo
KSBjb25zdAogICAgIHJldHVybiBjb25zdFVud3JhcDxIVE1MSW5wdXRFbGVtZW50PigpLT52YWx1
ZSgpOwogfQogCit2b2lkIFdlYklucHV0RWxlbWVudDo6c2V0UGxhY2Vob2xkZXIoY29uc3QgV2Vi
U3RyaW5nJiB2YWx1ZSkKK3sKKyAgICB1bndyYXA8SFRNTElucHV0RWxlbWVudD4oKS0+c2V0UGxh
Y2Vob2xkZXIodmFsdWUpOworfQorCitXZWJTdHJpbmcgV2ViSW5wdXRFbGVtZW50OjpwbGFjZWhv
bGRlcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIGNvbnN0VW53cmFwPEhUTUxJbnB1dEVsZW1lbnQ+
KCktPnBsYWNlaG9sZGVyKCk7Cit9CisKK2Jvb2wgV2ViSW5wdXRFbGVtZW50Ojppc0F1dG9maWxs
ZWQoKSBjb25zdAoreworICAgIHJldHVybiBjb25zdFVud3JhcDxIVE1MSW5wdXRFbGVtZW50Pigp
LT5pc0F1dG9maWxsZWQoKTsKK30KKwogdm9pZCBXZWJJbnB1dEVsZW1lbnQ6OnNldEF1dG9maWxs
ZWQoYm9vbCBhdXRvRmlsbGVkKQogewogICAgIHVud3JhcDxIVE1MSW5wdXRFbGVtZW50PigpLT5z
ZXRBdXRvZmlsbGVkKGF1dG9GaWxsZWQpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>