<?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>32261</bug_id>
          
          <creation_ts>2009-12-07 18:14:33 -0800</creation_ts>
          <short_desc>Add ability to specify suggested autocomplete value in HTMLInputElement</short_desc>
          <delta_ts>2009-12-16 11:07:15 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>GoogleBug</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>32533</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Zelidrag Hornung">zelidrag</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>beng</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>glen</cc>
    
    <cc>mitz</cc>
    
    <cc>ojan</cc>
    
    <cc>oliver</cc>
    
    <cc>sullivan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>169574</commentid>
    <comment_count>0</comment_count>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2009-12-07 18:14:33 -0800</bug_when>
    <thetext>Currently, autocomplete has no way of just visually changing a value of HTMLInputElement without exposing this value to other parts of the system (i.e. Javascript).
  
I suggest changing HTMLInputElement by adding a new field, suggested value, that could be used for rendering purposes if this element is in autocomplete suggestion mode. This suggestion value might become element&apos;s value only if user accepts the autocomplete suggestion (i.e. pressing enter on the menu item or focusing to another field).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170242</commentid>
    <comment_count>1</comment_count>
      <attachid>44580</attachid>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2009-12-09 16:43:10 -0800</bug_when>
    <thetext>Created attachment 44580
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement and related RenderTextControlSingleLine classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170244</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-09 16:46:54 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44580 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170246</commentid>
    <comment_count>3</comment_count>
      <attachid>44581</attachid>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2009-12-09 16:50:21 -0800</bug_when>
    <thetext>Created attachment 44581
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170248</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-09 16:52:16 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44581 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170261</commentid>
    <comment_count>5</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2009-12-09 17:18:56 -0800</bug_when>
    <thetext>Have you run this by chrome&apos;s UI leads? Why do we want this behavior of not
exposing the changed value to JavaScript?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170262</commentid>
    <comment_count>6</comment_count>
    <who name="Glen Murphy">glen</who>
    <bug_when>2009-12-09 17:25:08 -0800</bug_when>
    <thetext>Zel ran it by us - we don&apos;t want the value exposed to the page so that a page can&apos;t figure out what terms you&apos;re using elsewhere.

e.g. I go to a site and do a search for &quot;sapiens&quot; - I don&apos;t want the owner of the page  to see the form value first fill out with &quot;sexy undies&quot; as I type &quot;s&quot;, then &quot;salacious books&quot; as I type &quot;sa&quot;, etc. The values for autocomplete come from inputs across the browser, not just searches on that page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170288</commentid>
    <comment_count>7</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-12-09 19:15:26 -0800</bug_when>
    <thetext>Can this be removed from the review queue until people have decided that they actually want it -- also exposing this to the dom means it should be standardised (and so brought up on the appropriate w3 mailing list).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170291</commentid>
    <comment_count>8</comment_count>
    <who name="Ben Goodger">beng</who>
    <bug_when>2009-12-09 19:22:18 -0800</bug_when>
    <thetext>Chrome UI leads would appreciate this behavior for the reason Glen describes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170298</commentid>
    <comment_count>9</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-12-09 19:34:52 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Chrome UI leads would appreciate this behavior for the reason Glen describes.

This sounds like you&apos;re wanting to add API to allow a site to suggest values to input, but i haven&apos;t seen anything about this on the mailing lists i&apos;m a member of.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170301</commentid>
    <comment_count>10</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-12-09 19:50:33 -0800</bug_when>
    <thetext>There are no additional DOM APIs. Please see https://bugs.webkit.org/show_bug.cgi?id=32255 for more discussion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170308</commentid>
    <comment_count>11</comment_count>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2009-12-09 20:59:20 -0800</bug_when>
    <thetext>First, there is not about the site being able to suggest the value - it&apos;s about hiding the autocomplete suggestions from the site.  There are no DOM API changes here. The newly added methods should be accessible from webkit&apos;s internals only.  Please check the repro steps in the following bug to really see the nature of what we are really trying to prevent there:

https://bugs.webkit.org/show_bug.cgi?id=32255</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170312</commentid>
    <comment_count>12</comment_count>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2009-12-09 21:14:44 -0800</bug_when>
    <thetext>..adding Darin on the thread since he is familiar with the original issue behind this bug (https://bugs.webkit.org/show_bug.cgi?id=32255)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170314</commentid>
    <comment_count>13</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2009-12-09 22:04:29 -0800</bug_when>
    <thetext>Zelidrag, I think some of the confusion here is that the title of the bug and your initial description of it makes it sound like this should be exposing something to javascript.

Now that I understand that it&apos;s not actually exposing a new property to JS, I&apos;m convinced by Glen&apos;s argument that this is necessary as a user-privacy feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170414</commentid>
    <comment_count>14</comment_count>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2009-12-10 07:17:39 -0800</bug_when>
    <thetext>There are at least a couple of problems with this approach.

From the user-privacy standpoint, if it&apos;s unacceptable to let the web page see the autocompleted value while the user is typing in the field, then allowing the web page to see the value when focus is lost from the field might be equally unacceptable. The user could hit Tab or click elsewhere before noticing the autocompleted value, and now it is exposed to the page. Worse, the page could focus another element via JavaScript and have the value exposed without any user action.

From the UI standpoint, it seems problematic that the page might behave differently though look exactly the same depending on whether the text in the focused field was typed or auto-completed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170453</commentid>
    <comment_count>15</comment_count>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2009-12-10 10:12:23 -0800</bug_when>
    <thetext>From John&apos;s comments, there are two issues that need to be answered here:

a) Accepting autocomplete suggestion on focus lost. The current implementation
proposal in the attachment will (for Chromium only) indeed turn suggestion into
the input element&apos;s value on focus lost. I am open to suggestion about what
makes more sense than that, but IMO this seemed like the most natural behavior
from UX perspective. Alternatively, we could potentially require users to press
enter to explicitly accept the suggestion or identify focus lost cases where
that transition won&apos;t happen. It is also true that the site could trigger focus
change and get the suggestion turned into the element&apos;s value, but the site&apos;s
JS code has no way of knowing if a particular filed is in the suggestion mode
at all. So, it would really be a crap shooting for a site to get such value. We
could still stem this issue by not transferring the value at least in a case
when JS call caused the focus lost.

b) UI inconsistencies. The field will actually look different, to the certain
degree, in suggest mode case - the added/suggested part of the value will
actually have a text selection there. Once the value is accepted, the selection
goes away. We could further mitigate page look/behaving inconsistency here by
modifying rendering. That will most likely be browser specific. For Chromium,
we could simply use a different coloring scheme, similar what we do for
autofill.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170930</commentid>
    <comment_count>16</comment_count>
      <attachid>44581</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-11 14:27:51 -0800</bug_when>
    <thetext>Comment on attachment 44581
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine

How about using a suggested value of null to mean suggest and thus eliminating the separate enterSuggestMode function and m_suggestMode?

I don&apos;t think you need a leaveSuggestMode function. The client can call setValue(suggestedValue) and then setSuggestedValue(String()) or just setSuggestedValue(String()). If you think setSuggestedValue(String()) is too ugly you could make a convenience function member called clearSuggestedValue.

Ideally you&apos;d factor things so more logic was shared with setValue. Since there is no regression test for this that&apos;s particularly important. It&apos;s likely people would forget to update setSuggestedValue as they change setValue.

The name suggestMode is not a good name for a function or data member that&apos;s a boolean. A good name would be something that completes the phrase &quot;element &lt;xxx&gt;&quot;, and &quot;element suggest mode&quot; does not work for that. I think hasSuggestion or hasSuggestedValue would be good. Or you could omit this function and say !suggestedValue().isNull() at the call sites.

We frown on the use of booleans for function arguments if the caller will be passing a constant to a function like leaveSuggestMode. Instead we use enums. See ReferrerPolicy, for example. But I suggest just removing the function entirely.

The PopupMenu changes should be in a separate patch. Even if for you they are part of the same task, they are not directly related.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171687</commentid>
    <comment_count>17</comment_count>
      <attachid>44840</attachid>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2009-12-14 21:15:23 -0800</bug_when>
    <thetext>Created attachment 44840
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine

Based on Darin&apos;s comments of my previous patch, I have 1) removed enter/leaveSuggestMode functions, 2) reset suggested value in setValue(), and 3) moved PopupMenu changes into a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171690</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-14 21:18:21 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44840 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172037</commentid>
    <comment_count>19</comment_count>
      <attachid>44840</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-15 14:24:43 -0800</bug_when>
    <thetext>Comment on attachment 44840
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine

&gt; +    String suggestedValue() const { return m_suggestedValue; }

I know that the value() function doesn&apos;t do it this way, but you can save a tiny bit of reference count churn by making the return type be const String&amp; instead of String.

I believe this will break the WML build, because you&apos;re adding a new virtual function that WMLInputElement doesn&apos;t implement.

I really wish there was a way to expose and test this new feature, but since the whole idea is to hide it from JavaScript, I can&apos;t think of any better way do things.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172187</commentid>
    <comment_count>20</comment_count>
      <attachid>44947</attachid>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2009-12-15 23:57:12 -0800</bug_when>
    <thetext>Created attachment 44947
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine

This addressed two comments from Darin about the previous CL:

1. suggestedValue() getter now defined as:
const String&amp; suggestedValue() const;

2. suggestedValue() getter is added to WMLInputElement class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172190</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-15 23:58:16 -0800</bug_when>
    <thetext>Attachment 44947 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/wml/WMLInputElement.cpp:128:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172195</commentid>
    <comment_count>22</comment_count>
      <attachid>44947</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-16 00:03:57 -0800</bug_when>
    <thetext>Comment on attachment 44947
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine

No ChangeLog.  Please use four space indent instead of 2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172196</commentid>
    <comment_count>23</comment_count>
      <attachid>44950</attachid>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2009-12-16 00:04:06 -0800</bug_when>
    <thetext>Created attachment 44950
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine

This addressed two comments from Darin about the previous CL:

1. suggestedValue() getter now defined as:
const String&amp; suggestedValue() const;

2. suggestedValue() getter is added to WMLInputElement class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172197</commentid>
    <comment_count>24</comment_count>
      <attachid>44840</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-16 00:04:27 -0800</bug_when>
    <thetext>Comment on attachment 44840
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine

Clearing r+ flag from obsolete patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172199</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-16 00:09:18 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44950 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172326</commentid>
    <comment_count>26</comment_count>
      <attachid>44950</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-16 09:24:30 -0800</bug_when>
    <thetext>Comment on attachment 44950
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine

Patch needs a ChangeLog entry. Setting review- because there is no change log in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172339</commentid>
    <comment_count>27</comment_count>
      <attachid>44985</attachid>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2009-12-16 09:42:38 -0800</bug_when>
    <thetext>Created attachment 44985
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine

This addressed two comments from Darin about the previous CLs:
1. suggestedValue() getter now defined as:
const String&amp; suggestedValue() const;
2. suggestedValue() getter is added to WMLInputElement class.
3. Added mysteriously missing ChangeLog file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172342</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-16 09:46:32 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44985 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172343</commentid>
    <comment_count>29</comment_count>
      <attachid>44985</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-16 09:47:02 -0800</bug_when>
    <thetext>Comment on attachment 44985
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine

&gt; +        No new tests. This new methods are not exposed yet. It&apos;s use will be
&gt; +        platform specific. Chromium specific changes are separated based on
&gt; +        Darin Adler&apos;s comments and they are coming soon.

I think there was a misunderstanding. I suggested separating PopupMenu changes, not separating Chromium-specific changes. If there are Chromium-specific changes that relate directly to this patch, I could see them going in at the same time.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172353</commentid>
    <comment_count>30</comment_count>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2009-12-16 09:56:50 -0800</bug_when>
    <thetext>Darin, I will put PopupMenu changes together with Chromium-specific stuff on the same patch. I will send this one as soon as this one gets checked in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172359</commentid>
    <comment_count>31</comment_count>
      <attachid>44985</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-12-16 10:01:11 -0800</bug_when>
    <thetext>Comment on attachment 44985
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine

Let cq do its dirty work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172362</commentid>
    <comment_count>32</comment_count>
      <attachid>44985</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-16 10:05:01 -0800</bug_when>
    <thetext>Comment on attachment 44985
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine

Rejecting patch 44985 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/build-webkit&apos;]&quot; exit_code: 1
Last 500 characters of output:
s/CommitQueue/WebCore/html/HTMLParser.cpp -o /Users/eseidel/Projects/CommitQueue/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/i386/HTMLParser.o
** BUILD FAILED **

The following build commands failed:
WebCore:
	Distributed-CompileC /Users/eseidel/Projects/CommitQueue/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/i386/HTMLInputElement.o /Users/eseidel/Projects/CommitQueue/WebCore/html/HTMLInputElement.cpp normal i386 c++ com.apple.compilers.gcc.4_2
(1 failure)


Full output: http://webkit-commit-queue.appspot.com/results/127614</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172377</commentid>
    <comment_count>33</comment_count>
      <attachid>44990</attachid>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2009-12-16 10:27:39 -0800</bug_when>
    <thetext>Created attachment 44990
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine

- fixed String&amp; compile warning from the previous patch, not really sure how my compiler could have missed it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172380</commentid>
    <comment_count>34</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-16 10:28:44 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44990 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172391</commentid>
    <comment_count>35</comment_count>
      <attachid>44990</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-16 10:43:35 -0800</bug_when>
    <thetext>Comment on attachment 44990
Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine

Clearing flags on attachment: 44990

Committed r52204: &lt;http://trac.webkit.org/changeset/52204&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172392</commentid>
    <comment_count>36</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-16 10:43:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44580</attachid>
            <date>2009-12-09 16:43:10 -0800</date>
            <delta_ts>2009-12-09 16:50:21 -0800</delta_ts>
            <desc>Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement and related RenderTextControlSingleLine classes.</desc>
            <filename>AutocompleteSuggestionHidding.txt</filename>
            <type>text/plain</type>
            <size>15044</size>
            <attacher name="Zelidrag Hornung">zelidrag</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTkzMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMDktMTItMDkgIFplbGlkcmFnIEhvcm51bmcgIDx6ZWxpZHJhZ0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKworICAg
ICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIGRvbS9JbnB1dEVsZW1lbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OklucHV0RWxlbWVudERhdGE6OnN1Z2dlc3RlZFZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6OklucHV0RWxlbWVudERhdGE6OnNldFN1Z2dlc3RlZFZhbHVlKToK
KyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTElucHV0RWxlbWVudDo6c3VnZ2VzdGVkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TElucHV0RWxlbWVudDo6ZW50ZXJTdWdnZXN0TW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
SW5wdXRFbGVtZW50OjpsZWF2ZVN1Z2dlc3RNb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJ
bnB1dEVsZW1lbnQ6OnNldFN1Z2dlc3RlZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJ
bnB1dEVsZW1lbnQ6OnNldFZhbHVlRnJvbVJlbmRlcmVyKToKKyAgICAgICAgKiBodG1sL0hUTUxJ
bnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnN1Z2dl
c3RNb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQb3B1cExpc3RCb3g6OnNlbGVjdEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVw
TGlzdEJveDo6Y2xlYXJTZWxlY3Rpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51
TGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVudUxpc3Q6OnNlbGVjdGlvbkNoYW5n
ZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjp1cGRhdGVG
cm9tRWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xl
TGluZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpz
ZWxlY3Rpb25DaGFuZ2VkKToKKwogMjAwOS0xMi0wOSAgU3RldmUgQmxvY2sgIDxzdGV2ZWJsb2Nr
QGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpJbmRleDog
V2ViQ29yZS9kb20vSW5wdXRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vSW5w
dXRFbGVtZW50LmgJKHJldmlzaW9uIDUxOTE1KQorKysgV2ViQ29yZS9kb20vSW5wdXRFbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBzZWFyY2hFdmVudHNTaG91bGRCZURpc3BhdGNoZWQoKSBjb25zdCA9IDA7CiAKICAgICB2
aXJ0dWFsIGludCBzaXplKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBzdWdnZXN0TW9k
ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIFN0cmluZyBzdWdnZXN0ZWRWYWx1ZSgpIGNvbnN0
ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyB2YWx1ZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJiwgYm9vbCBzZW5kQ2hhbmdlRXZlbnQgPSBmYWxz
ZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUZvclVzZXIoY29uc3QgU3RyaW5nJikg
PSAwOwpAQCAtOTIsNiArOTQsOSBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIHZhbHVlKCkgY29uc3Qg
eyByZXR1cm4gbV92YWx1ZTsgfQogICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1
ZSkgeyBtX3ZhbHVlID0gdmFsdWU7IH0KIAorICAgIFN0cmluZyBzdWdnZXN0ZWRWYWx1ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fc3VnZ2VzdGVkVmFsdWU7IH0KKyAgICB2b2lkIHNldFN1Z2dlc3RlZFZh
bHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpIHsgbV9zdWdnZXN0ZWRWYWx1ZSA9IHZhbHVlOyB9CisK
ICAgICBpbnQgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQogICAgIHZvaWQgc2V0U2l6
ZShpbnQgdmFsdWUpIHsgbV9zaXplID0gdmFsdWU7IH0KIApAQCAtMTA3LDYgKzExMiw3IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgQXRvbWljU3RyaW5nIG1fbmFtZTsKICAgICBTdHJpbmcgbV92
YWx1ZTsKKyAgICBTdHJpbmcgbV9zdWdnZXN0ZWRWYWx1ZTsKICAgICBpbnQgbV9zaXplOwogICAg
IGludCBtX21heExlbmd0aDsKICAgICBpbnQgbV9jYWNoZWRTZWxlY3Rpb25TdGFydDsKSW5kZXg6
IFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAJKHJldmlzaW9uIDUxOTE1KQorKysgV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzEzLDYgKzEzMTMs
NDAgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRWYWx1ZUZvclVzZXIoYwogICAgIHNldFZh
bHVlKHZhbHVlLCB0cnVlKTsKIH0KIAorU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OnN1Z2dlc3Rl
ZFZhbHVlKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fc3VnZ2VzdE1vZGUpCisgICAgICAgIHJldHVy
biBTdHJpbmcoKTsKKyAgICByZXR1cm4gbV9kYXRhLnN1Z2dlc3RlZFZhbHVlKCk7Cit9CisKK3Zv
aWQgSFRNTElucHV0RWxlbWVudDo6ZW50ZXJTdWdnZXN0TW9kZSgpCit7CisgICAgbV9zdWdnZXN0
TW9kZSA9IHRydWU7Cit9CisKK3ZvaWQgSFRNTElucHV0RWxlbWVudDo6bGVhdmVTdWdnZXN0TW9k
ZShib29sIGFjY2VwdFN1Z2dlc3RlZFZhbHVlKQoreworICAgIGlmICghbV9zdWdnZXN0TW9kZSkK
KyAgICAgICAgcmV0dXJuOworICAgIG1fc3VnZ2VzdE1vZGUgPSBmYWxzZTsKKyAgICBpZiAoYWNj
ZXB0U3VnZ2VzdGVkVmFsdWUgJiYgIW1fZGF0YS5zdWdnZXN0ZWRWYWx1ZSgpLmlzRW1wdHkoKSkK
KyAgICAgICAgc2V0VmFsdWUobV9kYXRhLnN1Z2dlc3RlZFZhbHVlKCkpOworICAgIG1fZGF0YS5z
ZXRTdWdnZXN0ZWRWYWx1ZShTdHJpbmcoKSk7Cit9CisKK3ZvaWQgSFRNTElucHV0RWxlbWVudDo6
c2V0U3VnZ2VzdGVkVmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBpZiAoaW5wdXRU
eXBlKCkgIT0gVEVYVCkKKyAgICAgICAgcmV0dXJuOworICAgIHNldEZvcm1Db250cm9sVmFsdWVN
YXRjaGVzUmVuZGVyZXIoZmFsc2UpOworICAgIG1fZGF0YS5zZXRTdWdnZXN0ZWRWYWx1ZShzYW5p
dGl6ZVZhbHVlKHZhbHVlKSk7CisgICAgdXBkYXRlUGxhY2Vob2xkZXJWaXNpYmlsaXR5KGZhbHNl
KTsKKyAgICBpZiAocmVuZGVyZXIoKSkKKyAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVs
ZW1lbnQoKTsKKyAgICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7Cit9CisKIHZvaWQgSFRNTElucHV0
RWxlbWVudDo6c2V0VmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCBzZW5kQ2hhbmdlRXZl
bnQpCiB7CiAgICAgLy8gRm9yIHNlY3VyaXR5IHJlYXNvbnMsIHdlIGRvbid0IGFsbG93IHNldHRp
bmcgdGhlIGZpbGVuYW1lLCBidXQgd2UgZG8gYWxsb3cgY2xlYXJpbmcgaXQuCkBAIC0xMzc1LDYg
KzE0MDksNyBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlRnJvbVJlbmRlCiB7CiAg
ICAgLy8gRmlsZSB1cGxvYWQgY29udHJvbHMgd2lsbCBhbHdheXMgdXNlIHNldEZpbGVMaXN0RnJv
bVJlbmRlcmVyLgogICAgIEFTU0VSVChpbnB1dFR5cGUoKSAhPSBGSUxFKTsKKyAgICBsZWF2ZVN1
Z2dlc3RNb2RlKGZhbHNlKTsKICAgICB1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoZmFsc2Up
OwogICAgIElucHV0RWxlbWVudDo6c2V0VmFsdWVGcm9tUmVuZGVyZXIobV9kYXRhLCB0aGlzLCB0
aGlzLCB2YWx1ZSk7CiAgICAgdXBkYXRlVmFsaWRpdHkoKTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQuaAkocmV2aXNpb24gNTE5MTUpCisrKyBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNiArMTM3LDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CiAgICAgdm9p
ZCBzZXRUeXBlKGNvbnN0IFN0cmluZyYpOwogCisgICAgdmlydHVhbCBib29sIHN1Z2dlc3RNb2Rl
KCkgY29uc3QgeyByZXR1cm4gbV9zdWdnZXN0TW9kZTsgfQorICAgIHZpcnR1YWwgU3RyaW5nIHN1
Z2dlc3RlZFZhbHVlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRTdWdnZXN0ZWRWYWx1ZShjb25zdCBT
dHJpbmcmKTsKKyAgICB2b2lkIGVudGVyU3VnZ2VzdE1vZGUoKTsKKyAgICB2b2lkIGxlYXZlU3Vn
Z2VzdE1vZGUoYm9vbCk7CisKICAgICB2aXJ0dWFsIFN0cmluZyB2YWx1ZSgpIGNvbnN0OwogICAg
IHZpcnR1YWwgdm9pZCBzZXRWYWx1ZShjb25zdCBTdHJpbmcmLCBib29sIHNlbmRDaGFuZ2VFdmVu
dCA9IGZhbHNlKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVGb3JVc2VyKGNvbnN0IFN0cmlu
ZyYpOwpAQCAtMzExLDYgKzMxNyw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9hdXRvY29t
cGxldGUgOiAyOyAvLyBBdXRvQ29tcGxldGVTZXR0aW5nCiAgICAgYm9vbCBtX2F1dG9maWxsZWQg
OiAxOwogICAgIGJvb2wgbV9pbml0ZWQgOiAxOworICAgIGJvb2wgbV9zdWdnZXN0TW9kZSA6IDE7
CiAjaWYgRU5BQkxFKERBVEFMSVNUKQogICAgIGJvb2wgbV9oYXNOb25FbXB0eUxpc3QgOiAxOwog
I2VuZGlmCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50LmgJKHJldmlzaW9uIDUxOTE1
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMzcsNyArMzcsNyBAQCBjbGFzcyBQb3B1cE1lbnVDbGllbnQgewogcHVibGljOgogICAgIHZp
cnR1YWwgflBvcHVwTWVudUNsaWVudCgpIHt9CiAgICAgdmlydHVhbCB2b2lkIHZhbHVlQ2hhbmdl
ZCh1bnNpZ25lZCBsaXN0SW5kZXgsIGJvb2wgZmlyZUV2ZW50cyA9IHRydWUpID0gMDsKLQorICAg
IHZpcnR1YWwgdm9pZCBzZWxlY3Rpb25DaGFuZ2VkKHVuc2lnbmVkIGxpc3RJbmRleCwgYm9vbCBm
aXJlRXZlbnRzID0gdHJ1ZSkgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1UZXh0KHVuc2ln
bmVkIGxpc3RJbmRleCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1Ub29sVGlw
KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpdGVtSXNF
bmFibGVkKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3QgPSAwOwpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDUxOTE1
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTk0NSw2ICs5NDUsNyBAQCB2b2lkIFBvcHVwTGlzdEJveDo6c2VsZWN0
SW5kZXgoaW50IGluZGV4CiAgICAgICAgIGludmFsaWRhdGVSb3cobV9zZWxlY3RlZEluZGV4KTsK
IAogICAgICAgICBzY3JvbGxUb1JldmVhbFNlbGVjdGlvbigpOworICAgICAgICBtX3BvcHVwQ2xp
ZW50LT5zZWxlY3Rpb25DaGFuZ2VkKG1fc2VsZWN0ZWRJbmRleCk7CiAgICAgfQogfQogCkBAIC0x
MDA2LDYgKzEwMDcsNyBAQCB2b2lkIFBvcHVwTGlzdEJveDo6Y2xlYXJTZWxlY3Rpb24oKQogICAg
IGlmIChtX3NlbGVjdGVkSW5kZXggIT0gLTEpIHsKICAgICAgICAgaW52YWxpZGF0ZVJvdyhtX3Nl
bGVjdGVkSW5kZXgpOwogICAgICAgICBtX3NlbGVjdGVkSW5kZXggPSAtMTsKKyAgICAgICAgbV9w
b3B1cENsaWVudC0+c2VsZWN0aW9uQ2hhbmdlZChtX3NlbGVjdGVkSW5kZXgpOwogICAgIH0KIH0K
IApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oCShyZXZpc2lvbiA1MTkxNSkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTkw
LDYgKzkwLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgdmFsdWVTaG91bGRDaGFuZ2VP
bkhvdFRyYWNrKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBzaG91
bGRQb3BPdmVyKCkgY29uc3QgeyByZXR1cm4gIVBPUFVQX01FTlVfUFVMTFNfRE9XTjsgfQogICAg
IHZpcnR1YWwgdm9pZCB2YWx1ZUNoYW5nZWQodW5zaWduZWQgbGlzdEluZGV4LCBib29sIGZpcmVP
bkNoYW5nZSA9IHRydWUpOworICAgIHZpcnR1YWwgdm9pZCBzZWxlY3Rpb25DaGFuZ2VkKHVuc2ln
bmVkIGxpc3RJbmRleCwgYm9vbCBmaXJlT25DaGFuZ2UgPSB0cnVlKSB7fQogICAgIHZpcnR1YWwg
Rm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IoKSBjb25zdDsKICAgICB2aXJ0dWFsIEhvc3RXaW5k
b3cqIGhvc3RXaW5kb3coKSBjb25zdDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2Nyb2xsYmFy
PiBjcmVhdGVTY3JvbGxiYXIoU2Nyb2xsYmFyQ2xpZW50KiwgU2Nyb2xsYmFyT3JpZW50YXRpb24s
IFNjcm9sbGJhckNvbnRyb2xTaXplKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAkocmV2aXNpb24gNTE5MTUpCisrKyBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00NjEsOCArNDYxLDEyIEBAIHZvaWQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
Ojp1cGRhdGUKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgICAgIGlubmVyVGV4
dEVsZW1lbnQoKS0+c2V0SW5uZXJUZXh0KHN0YXRpY19jYXN0PEVsZW1lbnQqPihub2RlKCkpLT5n
ZXRBdHRyaWJ1dGUocGxhY2Vob2xkZXJBdHRyKSwgZWMpOwogICAgICAgICBBU1NFUlQoIWVjKTsK
LSAgICB9IGVsc2UKLSAgICAgICAgc2V0SW5uZXJUZXh0VmFsdWUoaW5wdXRFbGVtZW50KCktPnZh
bHVlKCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChpbnB1dEVsZW1lbnQoKS0+c3VnZ2Vz
dE1vZGUoKSkKKyAgICAgICAgICAgIHNldElubmVyVGV4dFZhbHVlKGlucHV0RWxlbWVudCgpLT5z
dWdnZXN0ZWRWYWx1ZSgpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc2V0SW5uZXJUZXh0
VmFsdWUoaW5wdXRFbGVtZW50KCktPnZhbHVlKCkpOworICAgIH0KIAogICAgIGlmIChtX3NlYXJj
aFBvcHVwSXNWaXNpYmxlKQogICAgICAgICBtX3NlYXJjaFBvcHVwLT51cGRhdGVGcm9tRWxlbWVu
dCgpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5n
bGVMaW5lLmgJKHJldmlzaW9uIDUxOTE1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2xTaW5nbGVMaW5lLmgJKHdvcmtpbmcgY29weSkKQEAgLTk4LDYgKzk4LDcgQEAgcHJp
dmF0ZToKIAogICAgIC8vIFBvcHVwTWVudUNsaWVudCBtZXRob2RzCiAgICAgdmlydHVhbCB2b2lk
IHZhbHVlQ2hhbmdlZCh1bnNpZ25lZCBsaXN0SW5kZXgsIGJvb2wgZmlyZUV2ZW50cyA9IHRydWUp
OworICAgIHZpcnR1YWwgdm9pZCBzZWxlY3Rpb25DaGFuZ2VkKHVuc2lnbmVkIGxpc3RJbmRleCwg
Ym9vbCBmaXJlRXZlbnRzID0gdHJ1ZSkge30KICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtVGV4dCh1
bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1Ub29sVGlw
KHVuc2lnbmVkKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgYm9vbCBp
dGVtSXNFbmFibGVkKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CkluZGV4OiBXZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDUxOTMwKQorKysgV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDA5LTEyLTA5ICBaZWxpZHJhZyBIb3JudW5nICA8emVs
aWRyYWdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjI2
MQorCisgICAgICAgIEFkZGVkIGFiaWxpdHkgdG8gc2VwYXJhdGUgdGhlIGF1dG9jb21wbGV0ZSBz
dWdnZXN0aW9uIHByZXZpZXdpbmcgZnJvbQorICAgICAgICB0aGUgYWN0dWFsIGFjY2VwdGluZyBv
ZiB0aGUgc3VnZ2VzdGVkIHZhbHVlIGluIEhUTUxJbnB1dEVsZW1lbnQuCisgICAgICAgIFRoaXMg
ZWxlbWVudCAoaXQncyBzaW5nbGUgbGluZSB0ZXh0IGluY2FybmF0aW9uKSBjYW4gbm93CisgICAg
ICAgIGJlIHB1dCBpbiBzdWdnZXN0aW9uIG1vZGUgd2hlcmUgcmVuZGVyZXIgbWlnaHQgZGlzcGxh
eSB0aGUgc3VnZ2VzdGVkIAorICAgICAgICB2YWx1ZSB3aXRob3V0IG1ha2luZyBpdCBhdXRvbWF0
aWNhbGx5IGV4cG9zZWQgdG8gSmF2YVNjcmlwdC4gVGhlCisgICAgICAgIGNoYW5nZSBhbHNvIGlu
Y2x1ZGVzIENocm9taXVtLXNwZWNpZmljIG1vZGlmaWNhdGlvbiBmb3IgcHJldmlld2luZworICAg
ICAgICBhdXRvY29tcGxldGUgc3VnZ2VzdGlvbnMgb24gdGhlIGluaXRpYWwgYXV0b2NvbXBsZXRl
IG1lbnUgcG9wdXAgYW5kCisgICAgICAgIHN1YnNlcXVlbnQgc2VsZWN0aW9uLiAKKworICAgICAg
ICAqIHNyYy9BdXRvY29tcGxldGVQb3B1cE1lbnVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpBdXRvY29tcGxldGVQb3B1cE1lbnVDbGllbnQ6OmluaXRpYWxpemUpOgorICAgICAgICAoV2Vi
S2l0OjpBdXRvY29tcGxldGVQb3B1cE1lbnVDbGllbnQ6OnNldEluaXRpYWxBdXRvY29tcGxldGVW
YWx1ZSk6CisgICAgICAgIChXZWJLaXQ6OkF1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudDo6dmFs
dWVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6QXV0b2NvbXBsZXRlUG9wdXBNZW51Q2xpZW50
OjpzZWxlY3Rpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6QXV0b2NvbXBsZXRlUG9wdXBN
ZW51Q2xpZW50Ojpwb3B1cERpZEhpZGUpOgorICAgICAgICAoV2ViS2l0OjpBdXRvY29tcGxldGVQ
b3B1cE1lbnVDbGllbnQ6OnNldFRleHRGcm9tSXRlbSk6CisgICAgICAgICogc3JjL0F1dG9jb21w
bGV0ZVBvcHVwTWVudUNsaWVudC5oOgorCiAyMDA5LTEyLTA5ICBEYXJpbiBGaXNoZXIgIDxkYXJp
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4
OiBXZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9BdXRvY29tcGxldGVQb3B1cE1lbnVDbGll
bnQuY3BwCShyZXZpc2lvbiA1MTkxNSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b2NvbXBs
ZXRlUG9wdXBNZW51Q2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAsMTAgKzYwLDE3IEBA
IHZvaWQgQXV0b2NvbXBsZXRlUG9wdXBNZW51Q2xpZW50Ojppbml0aWEKICAgICBpbnQgZGVmYXVs
dFN1Z2dlc3Rpb25JbmRleCkKIHsKICAgICBBU1NFUlQoZGVmYXVsdFN1Z2dlc3Rpb25JbmRleCA8
IHN0YXRpY19jYXN0PGludD4oc3VnZ2VzdGlvbnMuc2l6ZSgpKSk7CisgICAgaWYgKG1fdGV4dEZp
ZWxkICYmIG1fdGV4dEZpZWxkLT5uYW1lKCkgIT0gdGV4dEZpZWxkLT5uYW1lKCkpIHsKKyAgICAg
ICAgbV9sYXN0QXV0b2NvbXBsZXRlVmFsdWUgPSBXZWJDb3JlOjpTdHJpbmcoKTsKKyAgICAgICAg
bV9sYXN0QXV0b2NvbXBsZXRlU3VnZ2VzdGlvbiA9IFdlYkNvcmU6OlN0cmluZygpOworICAgIH0K
ICAgICBtX3RleHRGaWVsZCA9IHRleHRGaWVsZDsKKyAgICBtX3R5cGVkRmllbGRWYWx1ZSA9IHRl
eHRGaWVsZC0+dmFsdWUoKTsKICAgICBtX3NlbGVjdGVkSW5kZXggPSBkZWZhdWx0U3VnZ2VzdGlv
bkluZGV4OwogICAgIHNldFN1Z2dlc3Rpb25zKHN1Z2dlc3Rpb25zKTsKIAorICAgIHNldEluaXRp
YWxBdXRvY29tcGxldGVWYWx1ZSgpOworCiAgICAgRm9udERlc2NyaXB0aW9uIGZvbnREZXNjcmlw
dGlvbjsKICAgICBtX3dlYlZpZXctPnRoZW1lKCktPnN5c3RlbUZvbnQoQ1NTVmFsdWVXZWJraXRD
b250cm9sLCBmb250RGVzY3JpcHRpb24pOwogICAgIC8vIFVzZSBhIHNtYWxsZXIgZm9udCBzaXpl
IHRvIG1hdGNoIElFL0ZpcmVmb3guCkBAIC03OSw4ICs4NiwzMCBAQCB2b2lkIEF1dG9jb21wbGV0
ZVBvcHVwTWVudUNsaWVudDo6aW5pdGlhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRleHRGaWVsZC0+cmVuZGVyZXIoKS0+c3R5bGUoKS0+ZGlyZWN0aW9uKCkpKTsKIH0KIAor
Cit2b2lkIEF1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudDo6c2V0SW5pdGlhbEF1dG9jb21wbGV0
ZVZhbHVlKCkKK3sKKyAgICBpZiAoIW1fc3VnZ2VzdGlvbnMuc2l6ZSgpKQorICAgICAgICByZXR1
cm47CisgICAgV2ViQ29yZTo6U3RyaW5nIHN1Z2dlc3Rpb24gPSBtX3N1Z2dlc3Rpb25zW21fc2Vs
ZWN0ZWRJbmRleCA+PSAwID8gbV9zZWxlY3RlZEluZGV4IDogMF07CisgICAgV2ViQ29yZTo6U3Ry
aW5nIGZpZWxkVmFsdWUgPSBtX3RleHRGaWVsZC0+dmFsdWUoKTsKKyAgICBpZiAobV9sYXN0QXV0
b2NvbXBsZXRlVmFsdWUgIT0gZmllbGRWYWx1ZSkgeworICAgICAgICBpZiAobV9sYXN0QXV0b2Nv
bXBsZXRlU3VnZ2VzdGlvbiAhPSBzdWdnZXN0aW9uIHx8IGZpZWxkVmFsdWUubGVuZ3RoKCkgPiBt
X2xhc3RBdXRvY29tcGxldGVWYWx1ZS5sZW5ndGgoKSkgeworICAgICAgICAgICAgbV9sYXN0QXV0
b2NvbXBsZXRlU3VnZ2VzdGlvbiA9IHN1Z2dlc3Rpb247CisgICAgICAgICAgICBpbnQgc3RhcnQg
PSBmaWVsZFZhbHVlLmxlbmd0aCgpOworICAgICAgICAgICAgbV90ZXh0RmllbGQtPmVudGVyU3Vn
Z2VzdE1vZGUoKTsKKyAgICAgICAgICAgIG1fdGV4dEZpZWxkLT5zZXRTdWdnZXN0ZWRWYWx1ZSht
X2xhc3RBdXRvY29tcGxldGVTdWdnZXN0aW9uKTsKKyAgICAgICAgICAgIG1fdGV4dEZpZWxkLT5z
ZXRTZWxlY3Rpb25SYW5nZShzdGFydCwKKyAgICAgICAgICAgICAgICBtX2xhc3RBdXRvY29tcGxl
dGVTdWdnZXN0aW9uLmxlbmd0aCgpKTsKKyAgICAgICAgfQorICAgICAgICBtX2xhc3RBdXRvY29t
cGxldGVWYWx1ZSA9IGZpZWxkVmFsdWU7CisgICAgfQorfQorCisKIHZvaWQgQXV0b2NvbXBsZXRl
UG9wdXBNZW51Q2xpZW50Ojp2YWx1ZUNoYW5nZWQodW5zaWduZWQgbGlzdEluZGV4LCBib29sIGZp
cmVFdmVudHMpCiB7CisgICAgbV90ZXh0RmllbGQtPmxlYXZlU3VnZ2VzdE1vZGUoZmFsc2UpOwog
ICAgIG1fdGV4dEZpZWxkLT5zZXRWYWx1ZShtX3N1Z2dlc3Rpb25zW2xpc3RJbmRleF0pOwogICAg
IEVkaXRvckNsaWVudEltcGwqIGVkaXRvciA9CiAgICAgICAgIHN0YXRpY19jYXN0PEVkaXRvckNs
aWVudEltcGwqPihtX3dlYlZpZXctPnBhZ2UoKS0+ZWRpdG9yQ2xpZW50KCkpOwpAQCAtODksNiAr
MTE4LDE5IEBAIHZvaWQgQXV0b2NvbXBsZXRlUG9wdXBNZW51Q2xpZW50Ojp2YWx1ZUMKICAgICAg
ICAgc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG1fdGV4dEZpZWxkLmdldCgpKSk7CiB9
CiAKK3ZvaWQgQXV0b2NvbXBsZXRlUG9wdXBNZW51Q2xpZW50OjpzZWxlY3Rpb25DaGFuZ2VkKHVu
c2lnbmVkIGxpc3RJbmRleCwgYm9vbCBmaXJlRXZlbnRzKQoreworICAgIGlmIChsaXN0SW5kZXgg
IT0gLTEpIHsKKyAgICAgICAgbV90ZXh0RmllbGQtPmVudGVyU3VnZ2VzdE1vZGUoKTsKKyAgICAg
ICAgbV90ZXh0RmllbGQtPnNldFN1Z2dlc3RlZFZhbHVlKG1fc3VnZ2VzdGlvbnNbbGlzdEluZGV4
XSk7CisgICAgICAgIG1fdGV4dEZpZWxkLT5zZXRTZWxlY3Rpb25SYW5nZShtX3R5cGVkRmllbGRW
YWx1ZS5sZW5ndGgoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1f
c3VnZ2VzdGlvbnNbbGlzdEluZGV4XS5sZW5ndGgoKSk7CisgICAgfSBlbHNlIHsKKyAgICAgIG1f
dGV4dEZpZWxkLT5sZWF2ZVN1Z2dlc3RNb2RlKGZhbHNlKTsKKyAgICAgIG1fdGV4dEZpZWxkLT5z
ZXRWYWx1ZShtX3R5cGVkRmllbGRWYWx1ZSk7CisgICAgfQorfQorCiBTdHJpbmcgQXV0b2NvbXBs
ZXRlUG9wdXBNZW51Q2xpZW50OjppdGVtVGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIG1fc3VnZ2VzdGlvbnNbbGlzdEluZGV4XTsKQEAgLTEyMCwxMSArMTYyLDEz
IEBAIGludCBBdXRvY29tcGxldGVQb3B1cE1lbnVDbGllbnQ6OmNsaWVudFAKIAogdm9pZCBBdXRv
Y29tcGxldGVQb3B1cE1lbnVDbGllbnQ6OnBvcHVwRGlkSGlkZSgpCiB7CisgICAgbV90ZXh0Rmll
bGQtPmxlYXZlU3VnZ2VzdE1vZGUodHJ1ZSk7CiAgICAgbV93ZWJWaWV3LT5hdXRvQ29tcGxldGVQ
b3B1cERpZEhpZGUoKTsKIH0KIAogdm9pZCBBdXRvY29tcGxldGVQb3B1cE1lbnVDbGllbnQ6OnNl
dFRleHRGcm9tSXRlbSh1bnNpZ25lZCBsaXN0SW5kZXgpCiB7CisgICAgbV90ZXh0RmllbGQtPmxl
YXZlU3VnZ2VzdE1vZGUoZmFsc2UpOwogICAgIG1fdGV4dEZpZWxkLT5zZXRWYWx1ZShtX3N1Z2dl
c3Rpb25zW2xpc3RJbmRleF0pOwogfQogCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9j
b21wbGV0ZVBvcHVwTWVudUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9z
cmMvQXV0b2NvbXBsZXRlUG9wdXBNZW51Q2xpZW50LmgJKHJldmlzaW9uIDUxOTE1KQorKysgV2Vi
S2l0L2Nocm9taXVtL3NyYy9BdXRvY29tcGxldGVQb3B1cE1lbnVDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBXZWJDb3JlOjpQb3B1cE1l
bnVDbGllbnQgbWV0aG9kczoKICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVDaGFuZ2VkKHVuc2lnbmVk
IGxpc3RJbmRleCwgYm9vbCBmaXJlRXZlbnRzID0gdHJ1ZSk7CisgICAgdmlydHVhbCB2b2lkIHNl
bGVjdGlvbkNoYW5nZWQodW5zaWduZWQgbGlzdEluZGV4LCBib29sIGZpcmVFdmVudHMgPSB0cnVl
KTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlN0cmluZyBpdGVtVGV4dCh1bnNpZ25lZCBsaXN0SW5k
ZXgpIGNvbnN0OwogICAgIHZpcnR1YWwgV2ViQ29yZTo6U3RyaW5nIGl0ZW1Ub29sVGlwKHVuc2ln
bmVkIGxhc3RJbmRleCkgY29uc3QgeyByZXR1cm4gV2ViQ29yZTo6U3RyaW5nKCk7IH0KICAgICB2
aXJ0dWFsIGJvb2wgaXRlbUlzRW5hYmxlZCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KQEAgLTg1LDEyICs4NiwxNiBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAg
V2ViQ29yZTo6UmVuZGVyU3R5bGUqIHRleHRGaWVsZFN0eWxlKCkgY29uc3Q7CisgICAgdm9pZCBz
ZXRJbml0aWFsQXV0b2NvbXBsZXRlVmFsdWUoKTsKIAogICAgIFJlZlB0cjxXZWJDb3JlOjpIVE1M
SW5wdXRFbGVtZW50PiBtX3RleHRGaWVsZDsKICAgICBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiBt
X3N1Z2dlc3Rpb25zOwogICAgIGludCBtX3NlbGVjdGVkSW5kZXg7CiAgICAgV2ViVmlld0ltcGwq
IG1fd2ViVmlldzsKKyAgICBXZWJDb3JlOjpTdHJpbmcgbV90eXBlZEZpZWxkVmFsdWU7CiAgICAg
T3duUHRyPFdlYkNvcmU6OlBvcHVwTWVudVN0eWxlPiBtX3N0eWxlOworICAgIFdlYkNvcmU6OlN0
cmluZyBtX2xhc3RBdXRvY29tcGxldGVWYWx1ZTsKKyAgICBXZWJDb3JlOjpTdHJpbmcgbV9sYXN0
QXV0b2NvbXBsZXRlU3VnZ2VzdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44581</attachid>
            <date>2009-12-09 16:50:21 -0800</date>
            <delta_ts>2009-12-14 21:15:23 -0800</delta_ts>
            <desc>Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine</desc>
            <filename>AutocompleteHidding.txt</filename>
            <type>text/plain</type>
            <size>15601</size>
            <attacher name="Zelidrag Hornung">zelidrag</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTkzMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDIgQEAKKzIwMDktMTItMDkgIFplbGlkcmFnIEhvcm51bmcgIDx6ZWxpZHJhZ0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMjYxCisKKyAg
ICAgICAgQWRkZWQgYWJpbGl0eSB0byBzZXBhcmF0ZSB0aGUgYXV0b2NvbXBsZXRlIHN1Z2dlc3Rp
b24gcHJldmlld2luZyBmcm8KKyAgICAgICAgdGhlIGFjdHVhbCBhY2NlcHRpbmcgb2YgdGhlIHN1
Z2dlc3RlZCB2YWx1ZSBpbiBIVE1MSW5wdXRFbGVtZW50LgorICAgICAgICBUaGlzIGVsZW1lbnQg
KGl0J3Mgc2luZ2xlIGxpbmUgdGV4dCBpbmNhcm5hdGlvbikgY2FuIG5vdworICAgICAgICBiZSBw
dXQgaW4gc3VnZ2VzdGlvbiBtb2RlIHdoZXJlIHJlbmRlcmVyIG1pZ2h0IGRpc3BsYXkgdGhlIHN1
Z2dlc3RlZAorICAgICAgICB2YWx1ZSB3aXRob3V0IG1ha2luZyBpdCBhdXRvbWF0aWNhbGx5IGV4
cG9zZWQgdG8gSmF2YVNjcmlwdC4gVGhlCisgICAgICAgIGNoYW5nZSBhbHNvIGluY2x1ZGVzIENo
cm9taXVtLXNwZWNpZmljIG1vZGlmaWNhdGlvbiBmb3IgcHJldmlld2luZworICAgICAgICBhdXRv
Y29tcGxldGUgc3VnZ2VzdGlvbnMgb24gdGhlIGluaXRpYWwgYXV0b2NvbXBsZXRlIG1lbnUgcG9w
dXAgYW5kCisgICAgICAgIHN1YnNlcXVlbnQgc2VsZWN0aW9uLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogZG9tL0lucHV0RWxlbWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6SW5wdXRFbGVtZW50RGF0YTo6c3VnZ2VzdGVkVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5wdXRFbGVtZW50RGF0YTo6c2V0U3VnZ2VzdGVkVmFsdWUpOgorICAgICAgICAqIGh0
bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVt
ZW50OjpzdWdnZXN0ZWRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50
OjplbnRlclN1Z2dlc3RNb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6
OmxlYXZlU3VnZ2VzdE1vZGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6
c2V0U3VnZ2VzdGVkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6
c2V0VmFsdWVGcm9tUmVuZGVyZXIpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c3VnZ2VzdE1vZGUpOgorICAg
ICAgICAqIHBsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTGlz
dEJveDo6c2VsZWN0SW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBMaXN0Qm94OjpjbGVh
clNlbGVjdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJNZW51TGlzdDo6c2VsZWN0aW9uQ2hhbmdlZCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnVwZGF0ZUZyb21FbGVtZW50KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNlbGVjdGlvbkNoYW5n
ZWQpOgorCiAyMDA5LTEyLTA5ICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCkluZGV4OiBXZWJDb3JlL2RvbS9J
bnB1dEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9JbnB1dEVsZW1lbnQuaAko
cmV2aXNpb24gNTE5MTUpCisrKyBXZWJDb3JlL2RvbS9JbnB1dEVsZW1lbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtNDcsNiArNDcsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNlYXJjaEV2
ZW50c1Nob3VsZEJlRGlzcGF0Y2hlZCgpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgaW50IHNp
emUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29sIHN1Z2dlc3RNb2RlKCkgY29uc3QgPSAw
OworICAgIHZpcnR1YWwgU3RyaW5nIHN1Z2dlc3RlZFZhbHVlKCkgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgU3RyaW5nIHZhbHVlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1
ZShjb25zdCBTdHJpbmcmLCBib29sIHNlbmRDaGFuZ2VFdmVudCA9IGZhbHNlKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHNldFZhbHVlRm9yVXNlcihjb25zdCBTdHJpbmcmKSA9IDA7CkBAIC05Miw2
ICs5NCw5IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3Zh
bHVlOyB9CiAgICAgdm9pZCBzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKSB7IG1fdmFsdWUg
PSB2YWx1ZTsgfQogCisgICAgU3RyaW5nIHN1Z2dlc3RlZFZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9zdWdnZXN0ZWRWYWx1ZTsgfQorICAgIHZvaWQgc2V0U3VnZ2VzdGVkVmFsdWUoY29uc3QgU3Ry
aW5nJiB2YWx1ZSkgeyBtX3N1Z2dlc3RlZFZhbHVlID0gdmFsdWU7IH0KKwogICAgIGludCBzaXpl
KCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CiAgICAgdm9pZCBzZXRTaXplKGludCB2YWx1ZSkg
eyBtX3NpemUgPSB2YWx1ZTsgfQogCkBAIC0xMDcsNiArMTEyLDcgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICBBdG9taWNTdHJpbmcgbV9uYW1lOwogICAgIFN0cmluZyBtX3ZhbHVlOworICAgIFN0
cmluZyBtX3N1Z2dlc3RlZFZhbHVlOwogICAgIGludCBtX3NpemU7CiAgICAgaW50IG1fbWF4TGVu
Z3RoOwogICAgIGludCBtX2NhY2hlZFNlbGVjdGlvblN0YXJ0OwpJbmRleDogV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmNwcAkocmV2aXNpb24gNTE5MTUpCisrKyBXZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMTMsNiArMTMxMyw0MCBAQCB2b2lkIEhU
TUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlRm9yVXNlcihjCiAgICAgc2V0VmFsdWUodmFsdWUsIHRy
dWUpOwogfQogCitTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6c3VnZ2VzdGVkVmFsdWUoKSBjb25z
dAoreworICAgIGlmICghbV9zdWdnZXN0TW9kZSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOwor
ICAgIHJldHVybiBtX2RhdGEuc3VnZ2VzdGVkVmFsdWUoKTsKK30KKwordm9pZCBIVE1MSW5wdXRF
bGVtZW50OjplbnRlclN1Z2dlc3RNb2RlKCkKK3sKKyAgICBtX3N1Z2dlc3RNb2RlID0gdHJ1ZTsK
K30KKwordm9pZCBIVE1MSW5wdXRFbGVtZW50OjpsZWF2ZVN1Z2dlc3RNb2RlKGJvb2wgYWNjZXB0
U3VnZ2VzdGVkVmFsdWUpCit7CisgICAgaWYgKCFtX3N1Z2dlc3RNb2RlKQorICAgICAgICByZXR1
cm47CisgICAgbV9zdWdnZXN0TW9kZSA9IGZhbHNlOworICAgIGlmIChhY2NlcHRTdWdnZXN0ZWRW
YWx1ZSAmJiAhbV9kYXRhLnN1Z2dlc3RlZFZhbHVlKCkuaXNFbXB0eSgpKQorICAgICAgICBzZXRW
YWx1ZShtX2RhdGEuc3VnZ2VzdGVkVmFsdWUoKSk7CisgICAgbV9kYXRhLnNldFN1Z2dlc3RlZFZh
bHVlKFN0cmluZygpKTsKK30KKwordm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRTdWdnZXN0ZWRW
YWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIGlmIChpbnB1dFR5cGUoKSAhPSBURVhU
KQorICAgICAgICByZXR1cm47CisgICAgc2V0Rm9ybUNvbnRyb2xWYWx1ZU1hdGNoZXNSZW5kZXJl
cihmYWxzZSk7CisgICAgbV9kYXRhLnNldFN1Z2dlc3RlZFZhbHVlKHNhbml0aXplVmFsdWUodmFs
dWUpKTsKKyAgICB1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoZmFsc2UpOworICAgIGlmIChy
ZW5kZXJlcigpKQorICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAg
IHNldE5lZWRzU3R5bGVSZWNhbGMoKTsKK30KKwogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRW
YWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlLCBib29sIHNlbmRDaGFuZ2VFdmVudCkKIHsKICAgICAv
LyBGb3Igc2VjdXJpdHkgcmVhc29ucywgd2UgZG9uJ3QgYWxsb3cgc2V0dGluZyB0aGUgZmlsZW5h
bWUsIGJ1dCB3ZSBkbyBhbGxvdyBjbGVhcmluZyBpdC4KQEAgLTEzNzUsNiArMTQwOSw3IEBAIHZv
aWQgSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWVGcm9tUmVuZGUKIHsKICAgICAvLyBGaWxlIHVw
bG9hZCBjb250cm9scyB3aWxsIGFsd2F5cyB1c2Ugc2V0RmlsZUxpc3RGcm9tUmVuZGVyZXIuCiAg
ICAgQVNTRVJUKGlucHV0VHlwZSgpICE9IEZJTEUpOworICAgIGxlYXZlU3VnZ2VzdE1vZGUoZmFs
c2UpOwogICAgIHVwZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eShmYWxzZSk7CiAgICAgSW5wdXRF
bGVtZW50OjpzZXRWYWx1ZUZyb21SZW5kZXJlcihtX2RhdGEsIHRoaXMsIHRoaXMsIHZhbHVlKTsK
ICAgICB1cGRhdGVWYWxpZGl0eSgpOwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCShyZXZp
c2lvbiA1MTkxNSkKKysrIFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEzNyw2ICsxMzcsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgY29uc3QgQXRv
bWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKICAgICB2b2lkIHNldFR5cGUoY29u
c3QgU3RyaW5nJik7CiAKKyAgICB2aXJ0dWFsIGJvb2wgc3VnZ2VzdE1vZGUoKSBjb25zdCB7IHJl
dHVybiBtX3N1Z2dlc3RNb2RlOyB9CisgICAgdmlydHVhbCBTdHJpbmcgc3VnZ2VzdGVkVmFsdWUo
KSBjb25zdDsKKyAgICB2b2lkIHNldFN1Z2dlc3RlZFZhbHVlKGNvbnN0IFN0cmluZyYpOworICAg
IHZvaWQgZW50ZXJTdWdnZXN0TW9kZSgpOworICAgIHZvaWQgbGVhdmVTdWdnZXN0TW9kZShib29s
KTsKKwogICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lk
IHNldFZhbHVlKGNvbnN0IFN0cmluZyYsIGJvb2wgc2VuZENoYW5nZUV2ZW50ID0gZmFsc2UpOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUZvclVzZXIoY29uc3QgU3RyaW5nJik7CkBAIC0zMTEs
NiArMzE3LDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2F1dG9jb21wbGV0ZSA6IDI7IC8v
IEF1dG9Db21wbGV0ZVNldHRpbmcKICAgICBib29sIG1fYXV0b2ZpbGxlZCA6IDE7CiAgICAgYm9v
bCBtX2luaXRlZCA6IDE7CisgICAgYm9vbCBtX3N1Z2dlc3RNb2RlIDogMTsKICNpZiBFTkFCTEUo
REFUQUxJU1QpCiAgICAgYm9vbCBtX2hhc05vbkVtcHR5TGlzdCA6IDE7CiAjZW5kaWYKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaAkocmV2aXNpb24gNTE5MTUpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3
IEBAIGNsYXNzIFBvcHVwTWVudUNsaWVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+UG9wdXBN
ZW51Q2xpZW50KCkge30KICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVDaGFuZ2VkKHVuc2lnbmVkIGxp
c3RJbmRleCwgYm9vbCBmaXJlRXZlbnRzID0gdHJ1ZSkgPSAwOwotCisgICAgdmlydHVhbCB2b2lk
IHNlbGVjdGlvbkNoYW5nZWQodW5zaWduZWQgbGlzdEluZGV4LCBib29sIGZpcmVFdmVudHMgPSB0
cnVlKSA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbVRleHQodW5zaWduZWQgbGlzdEluZGV4
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbVRvb2xUaXAodW5zaWduZWQgbGlz
dEluZGV4KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGl0ZW1Jc0VuYWJsZWQodW5zaWdu
ZWQgbGlzdEluZGV4KSBjb25zdCA9IDA7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L1BvcHVwTWVudUNocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkocmV2aXNpb24gNTE5MTUpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtOTQ1LDYgKzk0NSw3IEBAIHZvaWQgUG9wdXBMaXN0Qm94OjpzZWxlY3RJbmRleChpbnQgaW5k
ZXgKICAgICAgICAgaW52YWxpZGF0ZVJvdyhtX3NlbGVjdGVkSW5kZXgpOwogCiAgICAgICAgIHNj
cm9sbFRvUmV2ZWFsU2VsZWN0aW9uKCk7CisgICAgICAgIG1fcG9wdXBDbGllbnQtPnNlbGVjdGlv
bkNoYW5nZWQobV9zZWxlY3RlZEluZGV4KTsKICAgICB9CiB9CiAKQEAgLTEwMDYsNiArMTAwNyw3
IEBAIHZvaWQgUG9wdXBMaXN0Qm94OjpjbGVhclNlbGVjdGlvbigpCiAgICAgaWYgKG1fc2VsZWN0
ZWRJbmRleCAhPSAtMSkgewogICAgICAgICBpbnZhbGlkYXRlUm93KG1fc2VsZWN0ZWRJbmRleCk7
CiAgICAgICAgIG1fc2VsZWN0ZWRJbmRleCA9IC0xOworICAgICAgICBtX3BvcHVwQ2xpZW50LT5z
ZWxlY3Rpb25DaGFuZ2VkKG1fc2VsZWN0ZWRJbmRleCk7CiAgICAgfQogfQogCkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgJKHJldmlzaW9uIDUxOTE1KQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWVudUxpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtOTAsNiArOTAsNyBAQCBw
cml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCB2YWx1ZVNob3VsZENoYW5nZU9uSG90VHJhY2soKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIHNob3VsZFBvcE92ZXIoKSBj
b25zdCB7IHJldHVybiAhUE9QVVBfTUVOVV9QVUxMU19ET1dOOyB9CiAgICAgdmlydHVhbCB2b2lk
IHZhbHVlQ2hhbmdlZCh1bnNpZ25lZCBsaXN0SW5kZXgsIGJvb2wgZmlyZU9uQ2hhbmdlID0gdHJ1
ZSk7CisgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNoYW5nZWQodW5zaWduZWQgbGlzdEluZGV4
LCBib29sIGZpcmVPbkNoYW5nZSA9IHRydWUpIHt9CiAgICAgdmlydHVhbCBGb250U2VsZWN0b3Iq
IGZvbnRTZWxlY3RvcigpIGNvbnN0OwogICAgIHZpcnR1YWwgSG9zdFdpbmRvdyogaG9zdFdpbmRv
dygpIGNvbnN0OwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTY3JvbGxiYXI+IGNyZWF0ZVNjcm9s
bGJhcihTY3JvbGxiYXJDbGllbnQqLCBTY3JvbGxiYXJPcmllbnRhdGlvbiwgU2Nyb2xsYmFyQ29u
dHJvbFNpemUpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5n
bGVMaW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuY3BwCShyZXZpc2lvbiA1MTkxNSkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2MSw4
ICs0NjEsMTIgQEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnVwZGF0ZQogICAg
ICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICAgICAgaW5uZXJUZXh0RWxlbWVudCgpLT5z
ZXRJbm5lclRleHQoc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUoKSktPmdldEF0dHJpYnV0ZShw
bGFjZWhvbGRlckF0dHIpLCBlYyk7CiAgICAgICAgIEFTU0VSVCghZWMpOwotICAgIH0gZWxzZQot
ICAgICAgICBzZXRJbm5lclRleHRWYWx1ZShpbnB1dEVsZW1lbnQoKS0+dmFsdWUoKSk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgaWYgKGlucHV0RWxlbWVudCgpLT5zdWdnZXN0TW9kZSgpKQorICAg
ICAgICAgICAgc2V0SW5uZXJUZXh0VmFsdWUoaW5wdXRFbGVtZW50KCktPnN1Z2dlc3RlZFZhbHVl
KCkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBzZXRJbm5lclRleHRWYWx1ZShpbnB1dEVs
ZW1lbnQoKS0+dmFsdWUoKSk7CisgICAgfQogCiAgICAgaWYgKG1fc2VhcmNoUG9wdXBJc1Zpc2li
bGUpCiAgICAgICAgIG1fc2VhcmNoUG9wdXAtPnVwZGF0ZUZyb21FbGVtZW50KCk7CkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAkocmV2
aXNpb24gNTE5MTUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmds
ZUxpbmUuaAkod29ya2luZyBjb3B5KQpAQCAtOTgsNiArOTgsNyBAQCBwcml2YXRlOgogCiAgICAg
Ly8gUG9wdXBNZW51Q2xpZW50IG1ldGhvZHMKICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVDaGFuZ2Vk
KHVuc2lnbmVkIGxpc3RJbmRleCwgYm9vbCBmaXJlRXZlbnRzID0gdHJ1ZSk7CisgICAgdmlydHVh
bCB2b2lkIHNlbGVjdGlvbkNoYW5nZWQodW5zaWduZWQgbGlzdEluZGV4LCBib29sIGZpcmVFdmVu
dHMgPSB0cnVlKSB7fQogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1UZXh0KHVuc2lnbmVkIGxpc3RJ
bmRleCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbVRvb2xUaXAodW5zaWduZWQpIGNv
bnN0IHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBib29sIGl0ZW1Jc0VuYWJsZWQo
dW5zaWduZWQgbGlzdEluZGV4KSBjb25zdDsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNTE5
MzApCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjcgQEAKKzIwMDktMTItMDkgIFplbGlkcmFnIEhvcm51bmcgIDx6ZWxpZHJhZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMjYxCisKKyAgICAgICAg
QWRkZWQgYWJpbGl0eSB0byBzZXBhcmF0ZSB0aGUgYXV0b2NvbXBsZXRlIHN1Z2dlc3Rpb24gcHJl
dmlld2luZyBmcm9tCisgICAgICAgIHRoZSBhY3R1YWwgYWNjZXB0aW5nIG9mIHRoZSBzdWdnZXN0
ZWQgdmFsdWUgaW4gSFRNTElucHV0RWxlbWVudC4KKyAgICAgICAgVGhpcyBlbGVtZW50IChpdCdz
IHNpbmdsZSBsaW5lIHRleHQgaW5jYXJuYXRpb24pIGNhbiBub3cKKyAgICAgICAgYmUgcHV0IGlu
IHN1Z2dlc3Rpb24gbW9kZSB3aGVyZSByZW5kZXJlciBtaWdodCBkaXNwbGF5IHRoZSBzdWdnZXN0
ZWQgCisgICAgICAgIHZhbHVlIHdpdGhvdXQgbWFraW5nIGl0IGF1dG9tYXRpY2FsbHkgZXhwb3Nl
ZCB0byBKYXZhU2NyaXB0LiBUaGUKKyAgICAgICAgY2hhbmdlIGFsc28gaW5jbHVkZXMgQ2hyb21p
dW0tc3BlY2lmaWMgbW9kaWZpY2F0aW9uIGZvciBwcmV2aWV3aW5nCisgICAgICAgIGF1dG9jb21w
bGV0ZSBzdWdnZXN0aW9ucyBvbiB0aGUgaW5pdGlhbCBhdXRvY29tcGxldGUgbWVudSBwb3B1cCBh
bmQKKyAgICAgICAgc3Vic2VxdWVudCBzZWxlY3Rpb24uIAorCisgICAgICAgICogc3JjL0F1dG9j
b21wbGV0ZVBvcHVwTWVudUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1dG9jb21wbGV0
ZVBvcHVwTWVudUNsaWVudDo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJLaXQ6OkF1dG9jb21w
bGV0ZVBvcHVwTWVudUNsaWVudDo6c2V0SW5pdGlhbEF1dG9jb21wbGV0ZVZhbHVlKToKKyAgICAg
ICAgKFdlYktpdDo6QXV0b2NvbXBsZXRlUG9wdXBNZW51Q2xpZW50Ojp2YWx1ZUNoYW5nZWQpOgor
ICAgICAgICAoV2ViS2l0OjpBdXRvY29tcGxldGVQb3B1cE1lbnVDbGllbnQ6OnNlbGVjdGlvbkNo
YW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpBdXRvY29tcGxldGVQb3B1cE1lbnVDbGllbnQ6OnBv
cHVwRGlkSGlkZSk6CisgICAgICAgIChXZWJLaXQ6OkF1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVu
dDo6c2V0VGV4dEZyb21JdGVtKToKKyAgICAgICAgKiBzcmMvQXV0b2NvbXBsZXRlUG9wdXBNZW51
Q2xpZW50Lmg6CisKIDIwMDktMTItMDkgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFdlYktpdC9jaHJv
bWl1bS9zcmMvQXV0b2NvbXBsZXRlUG9wdXBNZW51Q2xpZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudC5jcHAJKHJldmlz
aW9uIDUxOTE1KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9BdXRvY29tcGxldGVQb3B1cE1lbnVD
bGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MCwxMCArNjAsMTcgQEAgdm9pZCBBdXRvY29t
cGxldGVQb3B1cE1lbnVDbGllbnQ6OmluaXRpYQogICAgIGludCBkZWZhdWx0U3VnZ2VzdGlvbklu
ZGV4KQogewogICAgIEFTU0VSVChkZWZhdWx0U3VnZ2VzdGlvbkluZGV4IDwgc3RhdGljX2Nhc3Q8
aW50PihzdWdnZXN0aW9ucy5zaXplKCkpKTsKKyAgICBpZiAobV90ZXh0RmllbGQgJiYgbV90ZXh0
RmllbGQtPm5hbWUoKSAhPSB0ZXh0RmllbGQtPm5hbWUoKSkgeworICAgICAgICBtX2xhc3RBdXRv
Y29tcGxldGVWYWx1ZSA9IFdlYkNvcmU6OlN0cmluZygpOworICAgICAgICBtX2xhc3RBdXRvY29t
cGxldGVTdWdnZXN0aW9uID0gV2ViQ29yZTo6U3RyaW5nKCk7CisgICAgfQogICAgIG1fdGV4dEZp
ZWxkID0gdGV4dEZpZWxkOworICAgIG1fdHlwZWRGaWVsZFZhbHVlID0gdGV4dEZpZWxkLT52YWx1
ZSgpOwogICAgIG1fc2VsZWN0ZWRJbmRleCA9IGRlZmF1bHRTdWdnZXN0aW9uSW5kZXg7CiAgICAg
c2V0U3VnZ2VzdGlvbnMoc3VnZ2VzdGlvbnMpOwogCisgICAgc2V0SW5pdGlhbEF1dG9jb21wbGV0
ZVZhbHVlKCk7CisKICAgICBGb250RGVzY3JpcHRpb24gZm9udERlc2NyaXB0aW9uOwogICAgIG1f
d2ViVmlldy0+dGhlbWUoKS0+c3lzdGVtRm9udChDU1NWYWx1ZVdlYmtpdENvbnRyb2wsIGZvbnRE
ZXNjcmlwdGlvbik7CiAgICAgLy8gVXNlIGEgc21hbGxlciBmb250IHNpemUgdG8gbWF0Y2ggSUUv
RmlyZWZveC4KQEAgLTc5LDggKzg2LDMwIEBAIHZvaWQgQXV0b2NvbXBsZXRlUG9wdXBNZW51Q2xp
ZW50Ojppbml0aWEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxk
LT5yZW5kZXJlcigpLT5zdHlsZSgpLT5kaXJlY3Rpb24oKSkpOwogfQogCisKK3ZvaWQgQXV0b2Nv
bXBsZXRlUG9wdXBNZW51Q2xpZW50OjpzZXRJbml0aWFsQXV0b2NvbXBsZXRlVmFsdWUoKQorewor
ICAgIGlmICghbV9zdWdnZXN0aW9ucy5zaXplKCkpCisgICAgICAgIHJldHVybjsKKyAgICBXZWJD
b3JlOjpTdHJpbmcgc3VnZ2VzdGlvbiA9IG1fc3VnZ2VzdGlvbnNbbV9zZWxlY3RlZEluZGV4ID49
IDAgPyBtX3NlbGVjdGVkSW5kZXggOiAwXTsKKyAgICBXZWJDb3JlOjpTdHJpbmcgZmllbGRWYWx1
ZSA9IG1fdGV4dEZpZWxkLT52YWx1ZSgpOworICAgIGlmIChtX2xhc3RBdXRvY29tcGxldGVWYWx1
ZSAhPSBmaWVsZFZhbHVlKSB7CisgICAgICAgIGlmIChtX2xhc3RBdXRvY29tcGxldGVTdWdnZXN0
aW9uICE9IHN1Z2dlc3Rpb24gfHwgZmllbGRWYWx1ZS5sZW5ndGgoKSA+IG1fbGFzdEF1dG9jb21w
bGV0ZVZhbHVlLmxlbmd0aCgpKSB7CisgICAgICAgICAgICBtX2xhc3RBdXRvY29tcGxldGVTdWdn
ZXN0aW9uID0gc3VnZ2VzdGlvbjsKKyAgICAgICAgICAgIGludCBzdGFydCA9IGZpZWxkVmFsdWUu
bGVuZ3RoKCk7CisgICAgICAgICAgICBtX3RleHRGaWVsZC0+ZW50ZXJTdWdnZXN0TW9kZSgpOwor
ICAgICAgICAgICAgbV90ZXh0RmllbGQtPnNldFN1Z2dlc3RlZFZhbHVlKG1fbGFzdEF1dG9jb21w
bGV0ZVN1Z2dlc3Rpb24pOworICAgICAgICAgICAgbV90ZXh0RmllbGQtPnNldFNlbGVjdGlvblJh
bmdlKHN0YXJ0LAorICAgICAgICAgICAgICAgIG1fbGFzdEF1dG9jb21wbGV0ZVN1Z2dlc3Rpb24u
bGVuZ3RoKCkpOworICAgICAgICB9CisgICAgICAgIG1fbGFzdEF1dG9jb21wbGV0ZVZhbHVlID0g
ZmllbGRWYWx1ZTsKKyAgICB9Cit9CisKKwogdm9pZCBBdXRvY29tcGxldGVQb3B1cE1lbnVDbGll
bnQ6OnZhbHVlQ2hhbmdlZCh1bnNpZ25lZCBsaXN0SW5kZXgsIGJvb2wgZmlyZUV2ZW50cykKIHsK
KyAgICBtX3RleHRGaWVsZC0+bGVhdmVTdWdnZXN0TW9kZShmYWxzZSk7CiAgICAgbV90ZXh0Rmll
bGQtPnNldFZhbHVlKG1fc3VnZ2VzdGlvbnNbbGlzdEluZGV4XSk7CiAgICAgRWRpdG9yQ2xpZW50
SW1wbCogZWRpdG9yID0KICAgICAgICAgc3RhdGljX2Nhc3Q8RWRpdG9yQ2xpZW50SW1wbCo+KG1f
d2ViVmlldy0+cGFnZSgpLT5lZGl0b3JDbGllbnQoKSk7CkBAIC04OSw2ICsxMTgsMTkgQEAgdm9p
ZCBBdXRvY29tcGxldGVQb3B1cE1lbnVDbGllbnQ6OnZhbHVlQwogICAgICAgICBzdGF0aWNfY2Fz
dDxIVE1MSW5wdXRFbGVtZW50Kj4obV90ZXh0RmllbGQuZ2V0KCkpKTsKIH0KIAordm9pZCBBdXRv
Y29tcGxldGVQb3B1cE1lbnVDbGllbnQ6OnNlbGVjdGlvbkNoYW5nZWQodW5zaWduZWQgbGlzdElu
ZGV4LCBib29sIGZpcmVFdmVudHMpCit7CisgICAgaWYgKGxpc3RJbmRleCAhPSAtMSkgeworICAg
ICAgICBtX3RleHRGaWVsZC0+ZW50ZXJTdWdnZXN0TW9kZSgpOworICAgICAgICBtX3RleHRGaWVs
ZC0+c2V0U3VnZ2VzdGVkVmFsdWUobV9zdWdnZXN0aW9uc1tsaXN0SW5kZXhdKTsKKyAgICAgICAg
bV90ZXh0RmllbGQtPnNldFNlbGVjdGlvblJhbmdlKG1fdHlwZWRGaWVsZFZhbHVlLmxlbmd0aCgp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9zdWdnZXN0aW9uc1ts
aXN0SW5kZXhdLmxlbmd0aCgpKTsKKyAgICB9IGVsc2UgeworICAgICAgbV90ZXh0RmllbGQtPmxl
YXZlU3VnZ2VzdE1vZGUoZmFsc2UpOworICAgICAgbV90ZXh0RmllbGQtPnNldFZhbHVlKG1fdHlw
ZWRGaWVsZFZhbHVlKTsKKyAgICB9Cit9CisKIFN0cmluZyBBdXRvY29tcGxldGVQb3B1cE1lbnVD
bGllbnQ6Oml0ZW1UZXh0KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3QKIHsKICAgICByZXR1cm4g
bV9zdWdnZXN0aW9uc1tsaXN0SW5kZXhdOwpAQCAtMTIwLDExICsxNjIsMTMgQEAgaW50IEF1dG9j
b21wbGV0ZVBvcHVwTWVudUNsaWVudDo6Y2xpZW50UAogCiB2b2lkIEF1dG9jb21wbGV0ZVBvcHVw
TWVudUNsaWVudDo6cG9wdXBEaWRIaWRlKCkKIHsKKyAgICBtX3RleHRGaWVsZC0+bGVhdmVTdWdn
ZXN0TW9kZSh0cnVlKTsKICAgICBtX3dlYlZpZXctPmF1dG9Db21wbGV0ZVBvcHVwRGlkSGlkZSgp
OwogfQogCiB2b2lkIEF1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudDo6c2V0VGV4dEZyb21JdGVt
KHVuc2lnbmVkIGxpc3RJbmRleCkKIHsKKyAgICBtX3RleHRGaWVsZC0+bGVhdmVTdWdnZXN0TW9k
ZShmYWxzZSk7CiAgICAgbV90ZXh0RmllbGQtPnNldFZhbHVlKG1fc3VnZ2VzdGlvbnNbbGlzdElu
ZGV4XSk7CiB9CiAKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b2NvbXBsZXRlUG9wdXBN
ZW51Q2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9BdXRvY29tcGxl
dGVQb3B1cE1lbnVDbGllbnQuaAkocmV2aXNpb24gNTE5MTUpCisrKyBXZWJLaXQvY2hyb21pdW0v
c3JjL0F1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2
ICs1OCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFdlYkNvcmU6OlBvcHVwTWVudUNsaWVudCBtZXRo
b2RzOgogICAgIHZpcnR1YWwgdm9pZCB2YWx1ZUNoYW5nZWQodW5zaWduZWQgbGlzdEluZGV4LCBi
b29sIGZpcmVFdmVudHMgPSB0cnVlKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0aW9uQ2hhbmdl
ZCh1bnNpZ25lZCBsaXN0SW5kZXgsIGJvb2wgZmlyZUV2ZW50cyA9IHRydWUpOwogICAgIHZpcnR1
YWwgV2ViQ29yZTo6U3RyaW5nIGl0ZW1UZXh0KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBXZWJDb3JlOjpTdHJpbmcgaXRlbVRvb2xUaXAodW5zaWduZWQgbGFzdEluZGV4
KSBjb25zdCB7IHJldHVybiBXZWJDb3JlOjpTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgYm9vbCBp
dGVtSXNFbmFibGVkKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpA
QCAtODUsMTIgKzg2LDE2IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBXZWJDb3JlOjpSZW5k
ZXJTdHlsZSogdGV4dEZpZWxkU3R5bGUoKSBjb25zdDsKKyAgICB2b2lkIHNldEluaXRpYWxBdXRv
Y29tcGxldGVWYWx1ZSgpOwogCiAgICAgUmVmUHRyPFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ+
IG1fdGV4dEZpZWxkOwogICAgIFZlY3RvcjxXZWJDb3JlOjpTdHJpbmc+IG1fc3VnZ2VzdGlvbnM7
CiAgICAgaW50IG1fc2VsZWN0ZWRJbmRleDsKICAgICBXZWJWaWV3SW1wbCogbV93ZWJWaWV3Owor
ICAgIFdlYkNvcmU6OlN0cmluZyBtX3R5cGVkRmllbGRWYWx1ZTsKICAgICBPd25QdHI8V2ViQ29y
ZTo6UG9wdXBNZW51U3R5bGU+IG1fc3R5bGU7CisgICAgV2ViQ29yZTo6U3RyaW5nIG1fbGFzdEF1
dG9jb21wbGV0ZVZhbHVlOworICAgIFdlYkNvcmU6OlN0cmluZyBtX2xhc3RBdXRvY29tcGxldGVT
dWdnZXN0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>
<flag name="review"
          id="26471"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44840</attachid>
            <date>2009-12-14 21:15:23 -0800</date>
            <delta_ts>2009-12-16 00:04:27 -0800</delta_ts>
            <desc>Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine</desc>
            <filename>wk_32261.patch</filename>
            <type>text/plain</type>
            <size>5685</size>
            <attacher name="Zelidrag Hornung">zelidrag</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MjEyOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzEgQEAKKzIwMDktMTItMTQgIFplbGlkcmFnIEhvcm51bmcgIDx6ZWxpZHJhZ0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMjYxCisKKyAg
ICAgICAgQWRkZWQgYWJpbGl0eSB0byBzZXBhcmF0ZSB0aGUgYXV0b2NvbXBsZXRlIHN1Z2dlc3Rp
b24gcHJldmlld2luZyBmcm9tCisgICAgICAgIHRoZSBhY3R1YWwgYWNjZXB0aW5nIG9mIHRoZSBz
dWdnZXN0ZWQgdmFsdWUgaW4gSFRNTElucHV0RWxlbWVudC4KKyAgICAgICAgVGhpcyBlbGVtZW50
IChpdCdzIHNpbmdsZSBsaW5lIHRleHQgaW5jYXJuYXRpb24pIGNhbiBub3cKKyAgICAgICAgYmUg
cHV0IGluIHN1Z2dlc3Rpb24gbW9kZSB3aGVyZSByZW5kZXJlciBtaWdodCBkaXNwbGF5IHRoZSBz
dWdnZXN0ZWQKKyAgICAgICAgdmFsdWUgd2l0aG91dCBtYWtpbmcgaXQgYXV0b21hdGljYWxseSBl
eHBvc2VkIHRvIEphdmFTY3JpcHQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIG5ldyBt
ZXRob2RzIGFyZSBub3QgZXhwb3NlZCB5ZXQuIEl0J3MgdXNlIHdpbGwgYmUKKyAgICAgICAgcGxh
dGZvcm0gc3BlY2lmaWMuIENocm9taXVtIHNwZWNpZmljIGNoYW5nZXMgYXJlIHNlcGFyYXRlZCBi
YXNlZCBvbgorICAgICAgICBEYXJpbiBBZGxlcidzIGNvbW1lbnRzIGFuZCB0aGV5IGFyZSBjb21p
bmcgc29vbi4KKworICAgICAgICAqIGRvbS9JbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OklucHV0RWxlbWVudERhdGE6OnN1Z2dlc3RlZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6
OklucHV0RWxlbWVudERhdGE6OnNldFN1Z2dlc3RlZFZhbHVlKToKKyAgICAgICAgKiBodG1sL0hU
TUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6
c3VnZ2VzdGVkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2V0
U3VnZ2VzdGVkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2V0
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWVGcm9t
UmVuZGVyZXIpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjp1cGRhdGVGcm9tRWxlbWVudCk6CisK
IDIwMDktMTItMTQgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFdlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5oCShyZXZpc2lvbiA1MjEy
OCkKKysrIFdlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2
ICs0Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2VhcmNoRXZlbnRzU2hvdWxkQmVE
aXNwYXRjaGVkKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCBpbnQgc2l6ZSgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIFN0cmluZyBzdWdnZXN0ZWRWYWx1ZSgpIGNvbnN0ID0gMDsKICAgICB2
aXJ0dWFsIFN0cmluZyB2YWx1ZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFs
dWUoY29uc3QgU3RyaW5nJiwgYm9vbCBzZW5kQ2hhbmdlRXZlbnQgPSBmYWxzZSkgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUZvclVzZXIoY29uc3QgU3RyaW5nJikgPSAwOwpAQCAtOTIs
NiArOTMsOSBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92
YWx1ZTsgfQogICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkgeyBtX3ZhbHVl
ID0gdmFsdWU7IH0KIAorICAgIFN0cmluZyBzdWdnZXN0ZWRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fc3VnZ2VzdGVkVmFsdWU7IH0KKyAgICB2b2lkIHNldFN1Z2dlc3RlZFZhbHVlKGNvbnN0IFN0
cmluZyYgdmFsdWUpIHsgbV9zdWdnZXN0ZWRWYWx1ZSA9IHZhbHVlOyB9CisKICAgICBpbnQgc2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQogICAgIHZvaWQgc2V0U2l6ZShpbnQgdmFsdWUp
IHsgbV9zaXplID0gdmFsdWU7IH0KIApAQCAtMTA3LDYgKzExMSw3IEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgQXRvbWljU3RyaW5nIG1fbmFtZTsKICAgICBTdHJpbmcgbV92YWx1ZTsKKyAgICBT
dHJpbmcgbV9zdWdnZXN0ZWRWYWx1ZTsKICAgICBpbnQgbV9zaXplOwogICAgIGludCBtX21heExl
bmd0aDsKICAgICBpbnQgbV9jYWNoZWRTZWxlY3Rpb25TdGFydDsKSW5kZXg6IFdlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAJKHJldmlzaW9uIDUyMTI4KQorKysgV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzEzLDYgKzEzMTMsMjMgQEAgdm9pZCBI
VE1MSW5wdXRFbGVtZW50OjpzZXRWYWx1ZUZvclVzZXIoYwogICAgIHNldFZhbHVlKHZhbHVlLCB0
cnVlKTsKIH0KIAorU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OnN1Z2dlc3RlZFZhbHVlKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9kYXRhLnN1Z2dlc3RlZFZhbHVlKCk7Cit9CisKK3ZvaWQgSFRN
TElucHV0RWxlbWVudDo6c2V0U3VnZ2VzdGVkVmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3sK
KyAgICBpZiAoaW5wdXRUeXBlKCkgIT0gVEVYVCkKKyAgICAgICAgcmV0dXJuOworICAgIHNldEZv
cm1Db250cm9sVmFsdWVNYXRjaGVzUmVuZGVyZXIoZmFsc2UpOworICAgIG1fZGF0YS5zZXRTdWdn
ZXN0ZWRWYWx1ZShzYW5pdGl6ZVZhbHVlKHZhbHVlKSk7CisgICAgdXBkYXRlUGxhY2Vob2xkZXJW
aXNpYmlsaXR5KGZhbHNlKTsKKyAgICBpZiAocmVuZGVyZXIoKSkKKyAgICAgICAgcmVuZGVyZXIo
KS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7Cit9CisK
IHZvaWQgSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9v
bCBzZW5kQ2hhbmdlRXZlbnQpCiB7CiAgICAgLy8gRm9yIHNlY3VyaXR5IHJlYXNvbnMsIHdlIGRv
bid0IGFsbG93IHNldHRpbmcgdGhlIGZpbGVuYW1lLCBidXQgd2UgZG8gYWxsb3cgY2xlYXJpbmcg
aXQuCkBAIC0xMzQ1LDYgKzEzNjIsNyBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVl
KGNvbnN0IFN0CiAgICAgICAgICAgICBJbnB1dEVsZW1lbnQ6OnVwZGF0ZVNlbGVjdGlvblJhbmdl
KHRoaXMsIHRoaXMsIG1heCwgbWF4KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgY2FjaGVT
ZWxlY3Rpb24obWF4LCBtYXgpOworICAgICAgICBtX2RhdGEuc2V0U3VnZ2VzdGVkVmFsdWUoU3Ry
aW5nKCkpOwogICAgIH0KIAogICAgIC8vIERvbid0IGRpc3BhdGNoIHRoZSBjaGFuZ2UgZXZlbnQg
d2hlbiBmb2N1c2VkLCBpdCB3aWxsIGJlIGRpc3BhdGNoZWQKQEAgLTEzNzUsNiArMTM5Myw3IEBA
IHZvaWQgSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWVGcm9tUmVuZGUKIHsKICAgICAvLyBGaWxl
IHVwbG9hZCBjb250cm9scyB3aWxsIGFsd2F5cyB1c2Ugc2V0RmlsZUxpc3RGcm9tUmVuZGVyZXIu
CiAgICAgQVNTRVJUKGlucHV0VHlwZSgpICE9IEZJTEUpOworICAgIG1fZGF0YS5zZXRTdWdnZXN0
ZWRWYWx1ZShTdHJpbmcoKSk7CiAgICAgdXBkYXRlUGxhY2Vob2xkZXJWaXNpYmlsaXR5KGZhbHNl
KTsKICAgICBJbnB1dEVsZW1lbnQ6OnNldFZhbHVlRnJvbVJlbmRlcmVyKG1fZGF0YSwgdGhpcywg
dGhpcywgdmFsdWUpOwogICAgIHVwZGF0ZVZhbGlkaXR5KCk7CkluZGV4OiBXZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmgJKHJldmlzaW9uIDUyMTI4KQorKysgV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTM3LDYgKzEzNyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CiAgICAgdm9p
ZCBzZXRUeXBlKGNvbnN0IFN0cmluZyYpOwogCisgICAgdmlydHVhbCBTdHJpbmcgc3VnZ2VzdGVk
VmFsdWUoKSBjb25zdDsKKyAgICB2b2lkIHNldFN1Z2dlc3RlZFZhbHVlKGNvbnN0IFN0cmluZyYp
OworCiAgICAgdmlydHVhbCBTdHJpbmcgdmFsdWUoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQg
c2V0VmFsdWUoY29uc3QgU3RyaW5nJiwgYm9vbCBzZW5kQ2hhbmdlRXZlbnQgPSBmYWxzZSk7CiAg
ICAgdmlydHVhbCB2b2lkIHNldFZhbHVlRm9yVXNlcihjb25zdCBTdHJpbmcmKTsKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAko
cmV2aXNpb24gNTIxMjgpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NjEsOCArNDYxLDEyIEBAIHZvaWQgUmVu
ZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjp1cGRhdGUKICAgICAgICAgRXhjZXB0aW9uQ29kZSBl
YyA9IDA7CiAgICAgICAgIGlubmVyVGV4dEVsZW1lbnQoKS0+c2V0SW5uZXJUZXh0KHN0YXRpY19j
YXN0PEVsZW1lbnQqPihub2RlKCkpLT5nZXRBdHRyaWJ1dGUocGxhY2Vob2xkZXJBdHRyKSwgZWMp
OwogICAgICAgICBBU1NFUlQoIWVjKTsKLSAgICB9IGVsc2UKLSAgICAgICAgc2V0SW5uZXJUZXh0
VmFsdWUoaW5wdXRFbGVtZW50KCktPnZhbHVlKCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlm
ICghaW5wdXRFbGVtZW50KCktPnN1Z2dlc3RlZFZhbHVlKCkuaXNOdWxsKCkpCisgICAgICAgICAg
ICBzZXRJbm5lclRleHRWYWx1ZShpbnB1dEVsZW1lbnQoKS0+c3VnZ2VzdGVkVmFsdWUoKSk7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIHNldElubmVyVGV4dFZhbHVlKGlucHV0RWxlbWVudCgp
LT52YWx1ZSgpKTsKKyAgICB9CiAKICAgICBpZiAobV9zZWFyY2hQb3B1cElzVmlzaWJsZSkKICAg
ICAgICAgbV9zZWFyY2hQb3B1cC0+dXBkYXRlRnJvbUVsZW1lbnQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44947</attachid>
            <date>2009-12-15 23:57:12 -0800</date>
            <delta_ts>2009-12-16 00:04:06 -0800</delta_ts>
            <desc>Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine</desc>
            <filename>wk_32261_b.patch</filename>
            <type>text/plain</type>
            <size>5216</size>
            <attacher name="Zelidrag Hornung">zelidrag</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
ZG9tL0lucHV0RWxlbWVudC5oCShyZXZpc2lvbiA1MjEyOCkKKysrIFdlYkNvcmUvZG9tL0lucHV0
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0Nyw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGJvb2wgc2VhcmNoRXZlbnRzU2hvdWxkQmVEaXNwYXRjaGVkKCkgY29uc3QgPSAwOwog
CiAgICAgdmlydHVhbCBpbnQgc2l6ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGNvbnN0IFN0
cmluZyYgc3VnZ2VzdGVkVmFsdWUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgdmFs
dWUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmluZyYs
IGJvb2wgc2VuZENoYW5nZUV2ZW50ID0gZmFsc2UpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
VmFsdWVGb3JVc2VyKGNvbnN0IFN0cmluZyYpID0gMDsKQEAgLTkyLDYgKzkzLDkgQEAgcHVibGlj
OgogICAgIFN0cmluZyB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWU7IH0KICAgICB2b2lk
IHNldFZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpIHsgbV92YWx1ZSA9IHZhbHVlOyB9CiAKKyAg
ICBTdHJpbmcgc3VnZ2VzdGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3N1Z2dlc3RlZFZhbHVl
OyB9CisgICAgdm9pZCBzZXRTdWdnZXN0ZWRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKSB7IG1f
c3VnZ2VzdGVkVmFsdWUgPSB2YWx1ZTsgfQorCiAgICAgaW50IHNpemUoKSBjb25zdCB7IHJldHVy
biBtX3NpemU7IH0KICAgICB2b2lkIHNldFNpemUoaW50IHZhbHVlKSB7IG1fc2l6ZSA9IHZhbHVl
OyB9CiAKQEAgLTEwNyw2ICsxMTEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEF0b21pY1N0
cmluZyBtX25hbWU7CiAgICAgU3RyaW5nIG1fdmFsdWU7CisgICAgU3RyaW5nIG1fc3VnZ2VzdGVk
VmFsdWU7CiAgICAgaW50IG1fc2l6ZTsKICAgICBpbnQgbV9tYXhMZW5ndGg7CiAgICAgaW50IG1f
Y2FjaGVkU2VsZWN0aW9uU3RhcnQ7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCShy
ZXZpc2lvbiA1MjEyOCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTMxMyw2ICsxMzEzLDIzIEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6
c2V0VmFsdWVGb3JVc2VyKGMKICAgICBzZXRWYWx1ZSh2YWx1ZSwgdHJ1ZSk7CiB9CiAKK2NvbnN0
IFN0cmluZyYgSFRNTElucHV0RWxlbWVudDo6c3VnZ2VzdGVkVmFsdWUoKSBjb25zdAoreworICAg
IHJldHVybiBtX2RhdGEuc3VnZ2VzdGVkVmFsdWUoKTsKK30KKwordm9pZCBIVE1MSW5wdXRFbGVt
ZW50OjpzZXRTdWdnZXN0ZWRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIGlmIChp
bnB1dFR5cGUoKSAhPSBURVhUKQorICAgICAgICByZXR1cm47CisgICAgc2V0Rm9ybUNvbnRyb2xW
YWx1ZU1hdGNoZXNSZW5kZXJlcihmYWxzZSk7CisgICAgbV9kYXRhLnNldFN1Z2dlc3RlZFZhbHVl
KHNhbml0aXplVmFsdWUodmFsdWUpKTsKKyAgICB1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHko
ZmFsc2UpOworICAgIGlmIChyZW5kZXJlcigpKQorICAgICAgICByZW5kZXJlcigpLT51cGRhdGVG
cm9tRWxlbWVudCgpOworICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoKTsKK30KKwogdm9pZCBIVE1M
SW5wdXRFbGVtZW50OjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlLCBib29sIHNlbmRDaGFu
Z2VFdmVudCkKIHsKICAgICAvLyBGb3Igc2VjdXJpdHkgcmVhc29ucywgd2UgZG9uJ3QgYWxsb3cg
c2V0dGluZyB0aGUgZmlsZW5hbWUsIGJ1dCB3ZSBkbyBhbGxvdyBjbGVhcmluZyBpdC4KQEAgLTEz
NDUsNiArMTM2Miw3IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWUoY29uc3QgU3QK
ICAgICAgICAgICAgIElucHV0RWxlbWVudDo6dXBkYXRlU2VsZWN0aW9uUmFuZ2UodGhpcywgdGhp
cywgbWF4LCBtYXgpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBjYWNoZVNlbGVjdGlvbiht
YXgsIG1heCk7CisgICAgICAgIG1fZGF0YS5zZXRTdWdnZXN0ZWRWYWx1ZShTdHJpbmcoKSk7CiAg
ICAgfQogCiAgICAgLy8gRG9uJ3QgZGlzcGF0Y2ggdGhlIGNoYW5nZSBldmVudCB3aGVuIGZvY3Vz
ZWQsIGl0IHdpbGwgYmUgZGlzcGF0Y2hlZApAQCAtMTM3NSw2ICsxMzkzLDcgQEAgdm9pZCBIVE1M
SW5wdXRFbGVtZW50OjpzZXRWYWx1ZUZyb21SZW5kZQogewogICAgIC8vIEZpbGUgdXBsb2FkIGNv
bnRyb2xzIHdpbGwgYWx3YXlzIHVzZSBzZXRGaWxlTGlzdEZyb21SZW5kZXJlci4KICAgICBBU1NF
UlQoaW5wdXRUeXBlKCkgIT0gRklMRSk7CisgICAgbV9kYXRhLnNldFN1Z2dlc3RlZFZhbHVlKFN0
cmluZygpKTsKICAgICB1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoZmFsc2UpOwogICAgIElu
cHV0RWxlbWVudDo6c2V0VmFsdWVGcm9tUmVuZGVyZXIobV9kYXRhLCB0aGlzLCB0aGlzLCB2YWx1
ZSk7CiAgICAgdXBkYXRlVmFsaWRpdHkoKTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAko
cmV2aXNpb24gNTIxMjgpCisrKyBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMzcsNiArMTM3LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgY29uc3Qg
QXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKICAgICB2b2lkIHNldFR5cGUo
Y29uc3QgU3RyaW5nJik7CiAKKyAgICB2aXJ0dWFsIGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkVmFs
dWUoKSBjb25zdDsKKyAgICB2b2lkIHNldFN1Z2dlc3RlZFZhbHVlKGNvbnN0IFN0cmluZyYpOwor
CiAgICAgdmlydHVhbCBTdHJpbmcgdmFsdWUoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
VmFsdWUoY29uc3QgU3RyaW5nJiwgYm9vbCBzZW5kQ2hhbmdlRXZlbnQgPSBmYWxzZSk7CiAgICAg
dmlydHVhbCB2b2lkIHNldFZhbHVlRm9yVXNlcihjb25zdCBTdHJpbmcmKTsKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAkocmV2
aXNpb24gNTIxMjgpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmds
ZUxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NjEsOCArNDYxLDEyIEBAIHZvaWQgUmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lOjp1cGRhdGUKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7CiAgICAgICAgIGlubmVyVGV4dEVsZW1lbnQoKS0+c2V0SW5uZXJUZXh0KHN0YXRpY19jYXN0
PEVsZW1lbnQqPihub2RlKCkpLT5nZXRBdHRyaWJ1dGUocGxhY2Vob2xkZXJBdHRyKSwgZWMpOwog
ICAgICAgICBBU1NFUlQoIWVjKTsKLSAgICB9IGVsc2UKLSAgICAgICAgc2V0SW5uZXJUZXh0VmFs
dWUoaW5wdXRFbGVtZW50KCktPnZhbHVlKCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmICgh
aW5wdXRFbGVtZW50KCktPnN1Z2dlc3RlZFZhbHVlKCkuaXNOdWxsKCkpCisgICAgICAgICAgICBz
ZXRJbm5lclRleHRWYWx1ZShpbnB1dEVsZW1lbnQoKS0+c3VnZ2VzdGVkVmFsdWUoKSk7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIHNldElubmVyVGV4dFZhbHVlKGlucHV0RWxlbWVudCgpLT52
YWx1ZSgpKTsKKyAgICB9CiAKICAgICBpZiAobV9zZWFyY2hQb3B1cElzVmlzaWJsZSkKICAgICAg
ICAgbV9zZWFyY2hQb3B1cC0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKSW5kZXg6IFdlYkNvcmUvd21s
L1dNTElucHV0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS93bWwvV01MSW5wdXRF
bGVtZW50LmNwcAkocmV2aXNpb24gNTIxMjgpCisrKyBXZWJDb3JlL3dtbC9XTUxJbnB1dEVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsNiArMTIzLDExIEBAIGNvbnN0IEF0b21pY1N0
cmluZyYgV01MSW5wdXRFbGVtZW50Ojpmb3IKICAgICByZXR1cm4gbV9kYXRhLm5hbWUoKTsKIH0K
IAorY29uc3QgU3RyaW5nJiBXTUxJbnB1dEVsZW1lbnQ6OnN1Z2dlc3RlZFZhbHVlKCkgY29uc3QN
Cit7DQorICByZXR1cm4gbV9kYXRhLnN1Z2dlc3RlZFZhbHVlKCk7DQorfQ0KKwogU3RyaW5nIFdN
TElucHV0RWxlbWVudDo6dmFsdWUoKSBjb25zdAogewogICAgIFN0cmluZyB2YWx1ZSA9IG1fZGF0
YS52YWx1ZSgpOwpJbmRleDogV2ViQ29yZS93bWwvV01MSW5wdXRFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS93bWwvV01MSW5wdXRFbGVtZW50LmgJKHJldmlzaW9uIDUyMTI4KQorKysg
V2ViQ29yZS93bWwvV01MSW5wdXRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgaW50IHNpemUoKSBjb25zdDsKICAgICB2aXJ0dWFs
IGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CiAgICAgdmlydHVh
bCBjb25zdCBBdG9taWNTdHJpbmcmIGZvcm1Db250cm9sTmFtZSgpIGNvbnN0OworICAgIHZpcnR1
YWwgY29uc3QgU3RyaW5nJiBzdWdnZXN0ZWRWYWx1ZSgpIGNvbnN0Ow0KICAgICB2aXJ0dWFsIFN0
cmluZyB2YWx1ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZShjb25zdCBTdHJp
bmcmLCBib29sIHNlbmRDaGFuZ2VFdmVudCA9IGZhbHNlKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
VmFsdWVGb3JVc2VyKGNvbnN0IFN0cmluZyYpOwo=
</data>
<flag name="review"
          id="26882"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44950</attachid>
            <date>2009-12-16 00:04:06 -0800</date>
            <delta_ts>2009-12-16 09:42:38 -0800</delta_ts>
            <desc>Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine</desc>
            <filename>wk_32261_c.patch</filename>
            <type>text/plain</type>
            <size>5218</size>
            <attacher name="Zelidrag Hornung">zelidrag</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
ZG9tL0lucHV0RWxlbWVudC5oCShyZXZpc2lvbiA1MjEyOCkKKysrIFdlYkNvcmUvZG9tL0lucHV0
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0Nyw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGJvb2wgc2VhcmNoRXZlbnRzU2hvdWxkQmVEaXNwYXRjaGVkKCkgY29uc3QgPSAwOwog
CiAgICAgdmlydHVhbCBpbnQgc2l6ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGNvbnN0IFN0
cmluZyYgc3VnZ2VzdGVkVmFsdWUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgdmFs
dWUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmluZyYs
IGJvb2wgc2VuZENoYW5nZUV2ZW50ID0gZmFsc2UpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
VmFsdWVGb3JVc2VyKGNvbnN0IFN0cmluZyYpID0gMDsKQEAgLTkyLDYgKzkzLDkgQEAgcHVibGlj
OgogICAgIFN0cmluZyB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWU7IH0KICAgICB2b2lk
IHNldFZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpIHsgbV92YWx1ZSA9IHZhbHVlOyB9CiAKKyAg
ICBTdHJpbmcgc3VnZ2VzdGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3N1Z2dlc3RlZFZhbHVl
OyB9CisgICAgdm9pZCBzZXRTdWdnZXN0ZWRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKSB7IG1f
c3VnZ2VzdGVkVmFsdWUgPSB2YWx1ZTsgfQorCiAgICAgaW50IHNpemUoKSBjb25zdCB7IHJldHVy
biBtX3NpemU7IH0KICAgICB2b2lkIHNldFNpemUoaW50IHZhbHVlKSB7IG1fc2l6ZSA9IHZhbHVl
OyB9CiAKQEAgLTEwNyw2ICsxMTEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEF0b21pY1N0
cmluZyBtX25hbWU7CiAgICAgU3RyaW5nIG1fdmFsdWU7CisgICAgU3RyaW5nIG1fc3VnZ2VzdGVk
VmFsdWU7CiAgICAgaW50IG1fc2l6ZTsKICAgICBpbnQgbV9tYXhMZW5ndGg7CiAgICAgaW50IG1f
Y2FjaGVkU2VsZWN0aW9uU3RhcnQ7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCShy
ZXZpc2lvbiA1MjEyOCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTMxMyw2ICsxMzEzLDIzIEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6
c2V0VmFsdWVGb3JVc2VyKGMKICAgICBzZXRWYWx1ZSh2YWx1ZSwgdHJ1ZSk7CiB9CiAKK2NvbnN0
IFN0cmluZyYgSFRNTElucHV0RWxlbWVudDo6c3VnZ2VzdGVkVmFsdWUoKSBjb25zdAoreworICAg
IHJldHVybiBtX2RhdGEuc3VnZ2VzdGVkVmFsdWUoKTsKK30KKwordm9pZCBIVE1MSW5wdXRFbGVt
ZW50OjpzZXRTdWdnZXN0ZWRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIGlmIChp
bnB1dFR5cGUoKSAhPSBURVhUKQorICAgICAgICByZXR1cm47CisgICAgc2V0Rm9ybUNvbnRyb2xW
YWx1ZU1hdGNoZXNSZW5kZXJlcihmYWxzZSk7CisgICAgbV9kYXRhLnNldFN1Z2dlc3RlZFZhbHVl
KHNhbml0aXplVmFsdWUodmFsdWUpKTsKKyAgICB1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHko
ZmFsc2UpOworICAgIGlmIChyZW5kZXJlcigpKQorICAgICAgICByZW5kZXJlcigpLT51cGRhdGVG
cm9tRWxlbWVudCgpOworICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoKTsKK30KKwogdm9pZCBIVE1M
SW5wdXRFbGVtZW50OjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlLCBib29sIHNlbmRDaGFu
Z2VFdmVudCkKIHsKICAgICAvLyBGb3Igc2VjdXJpdHkgcmVhc29ucywgd2UgZG9uJ3QgYWxsb3cg
c2V0dGluZyB0aGUgZmlsZW5hbWUsIGJ1dCB3ZSBkbyBhbGxvdyBjbGVhcmluZyBpdC4KQEAgLTEz
NDUsNiArMTM2Miw3IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWUoY29uc3QgU3QK
ICAgICAgICAgICAgIElucHV0RWxlbWVudDo6dXBkYXRlU2VsZWN0aW9uUmFuZ2UodGhpcywgdGhp
cywgbWF4LCBtYXgpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBjYWNoZVNlbGVjdGlvbiht
YXgsIG1heCk7CisgICAgICAgIG1fZGF0YS5zZXRTdWdnZXN0ZWRWYWx1ZShTdHJpbmcoKSk7CiAg
ICAgfQogCiAgICAgLy8gRG9uJ3QgZGlzcGF0Y2ggdGhlIGNoYW5nZSBldmVudCB3aGVuIGZvY3Vz
ZWQsIGl0IHdpbGwgYmUgZGlzcGF0Y2hlZApAQCAtMTM3NSw2ICsxMzkzLDcgQEAgdm9pZCBIVE1M
SW5wdXRFbGVtZW50OjpzZXRWYWx1ZUZyb21SZW5kZQogewogICAgIC8vIEZpbGUgdXBsb2FkIGNv
bnRyb2xzIHdpbGwgYWx3YXlzIHVzZSBzZXRGaWxlTGlzdEZyb21SZW5kZXJlci4KICAgICBBU1NF
UlQoaW5wdXRUeXBlKCkgIT0gRklMRSk7CisgICAgbV9kYXRhLnNldFN1Z2dlc3RlZFZhbHVlKFN0
cmluZygpKTsKICAgICB1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoZmFsc2UpOwogICAgIElu
cHV0RWxlbWVudDo6c2V0VmFsdWVGcm9tUmVuZGVyZXIobV9kYXRhLCB0aGlzLCB0aGlzLCB2YWx1
ZSk7CiAgICAgdXBkYXRlVmFsaWRpdHkoKTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAko
cmV2aXNpb24gNTIxMjgpCisrKyBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMzcsNiArMTM3LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgY29uc3Qg
QXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKICAgICB2b2lkIHNldFR5cGUo
Y29uc3QgU3RyaW5nJik7CiAKKyAgICB2aXJ0dWFsIGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkVmFs
dWUoKSBjb25zdDsKKyAgICB2b2lkIHNldFN1Z2dlc3RlZFZhbHVlKGNvbnN0IFN0cmluZyYpOwor
CiAgICAgdmlydHVhbCBTdHJpbmcgdmFsdWUoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
VmFsdWUoY29uc3QgU3RyaW5nJiwgYm9vbCBzZW5kQ2hhbmdlRXZlbnQgPSBmYWxzZSk7CiAgICAg
dmlydHVhbCB2b2lkIHNldFZhbHVlRm9yVXNlcihjb25zdCBTdHJpbmcmKTsKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAkocmV2
aXNpb24gNTIxMjgpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmds
ZUxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NjEsOCArNDYxLDEyIEBAIHZvaWQgUmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lOjp1cGRhdGUKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7CiAgICAgICAgIGlubmVyVGV4dEVsZW1lbnQoKS0+c2V0SW5uZXJUZXh0KHN0YXRpY19jYXN0
PEVsZW1lbnQqPihub2RlKCkpLT5nZXRBdHRyaWJ1dGUocGxhY2Vob2xkZXJBdHRyKSwgZWMpOwog
ICAgICAgICBBU1NFUlQoIWVjKTsKLSAgICB9IGVsc2UKLSAgICAgICAgc2V0SW5uZXJUZXh0VmFs
dWUoaW5wdXRFbGVtZW50KCktPnZhbHVlKCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmICgh
aW5wdXRFbGVtZW50KCktPnN1Z2dlc3RlZFZhbHVlKCkuaXNOdWxsKCkpCisgICAgICAgICAgICBz
ZXRJbm5lclRleHRWYWx1ZShpbnB1dEVsZW1lbnQoKS0+c3VnZ2VzdGVkVmFsdWUoKSk7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIHNldElubmVyVGV4dFZhbHVlKGlucHV0RWxlbWVudCgpLT52
YWx1ZSgpKTsKKyAgICB9CiAKICAgICBpZiAobV9zZWFyY2hQb3B1cElzVmlzaWJsZSkKICAgICAg
ICAgbV9zZWFyY2hQb3B1cC0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKSW5kZXg6IFdlYkNvcmUvd21s
L1dNTElucHV0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS93bWwvV01MSW5wdXRF
bGVtZW50LmNwcAkocmV2aXNpb24gNTIxMjgpCisrKyBXZWJDb3JlL3dtbC9XTUxJbnB1dEVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsNiArMTIzLDExIEBAIGNvbnN0IEF0b21pY1N0
cmluZyYgV01MSW5wdXRFbGVtZW50Ojpmb3IKICAgICByZXR1cm4gbV9kYXRhLm5hbWUoKTsKIH0K
IAorY29uc3QgU3RyaW5nJiBXTUxJbnB1dEVsZW1lbnQ6OnN1Z2dlc3RlZFZhbHVlKCkgY29uc3QN
Cit7DQorICAgIHJldHVybiBtX2RhdGEuc3VnZ2VzdGVkVmFsdWUoKTsNCit9DQorCiBTdHJpbmcg
V01MSW5wdXRFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0CiB7CiAgICAgU3RyaW5nIHZhbHVlID0gbV9k
YXRhLnZhbHVlKCk7CkluZGV4OiBXZWJDb3JlL3dtbC9XTUxJbnB1dEVsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3dtbC9XTUxJbnB1dEVsZW1lbnQuaAkocmV2aXNpb24gNTIxMjgpCisr
KyBXZWJDb3JlL3dtbC9XTUxJbnB1dEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiAr
NTYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBpbnQgc2l6ZSgpIGNvbnN0OwogICAgIHZpcnR1
YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKICAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xOYW1lKCkgY29uc3Q7CisgICAgdmly
dHVhbCBjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZFZhbHVlKCkgY29uc3Q7DQogICAgIHZpcnR1YWwg
U3RyaW5nIHZhbHVlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlKGNvbnN0IFN0
cmluZyYsIGJvb2wgc2VuZENoYW5nZUV2ZW50ID0gZmFsc2UpOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRWYWx1ZUZvclVzZXIoY29uc3QgU3RyaW5nJik7Cg==
</data>
<flag name="review"
          id="26886"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44985</attachid>
            <date>2009-12-16 09:42:38 -0800</date>
            <delta_ts>2009-12-16 10:27:39 -0800</delta_ts>
            <desc>Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine</desc>
            <filename>wk_32261_d.patch</filename>
            <type>text/plain</type>
            <size>0</size>
            <attacher name="Zelidrag Hornung">zelidrag</attacher>
            
              <data encoding="base64"></data>
<flag name="review"
          id="26927"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="26932"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44990</attachid>
            <date>2009-12-16 10:27:39 -0800</date>
            <delta_ts>2009-12-16 10:43:35 -0800</delta_ts>
            <desc>Added ability to separate autocomplete suggestion previewing from accepting of the suggested value in HTMLInputElement / RenderTextControlSingleLine</desc>
            <filename>wk_32261_e.patch</filename>
            <type>text/plain</type>
            <size>0</size>
            <attacher name="Zelidrag Hornung">zelidrag</attacher>
            
              <data encoding="base64"></data>

          </attachment>
      

    </bug>

</bugzilla>