<?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>43704</bug_id>
          
          <creation_ts>2010-08-08 23:41:14 -0700</creation_ts>
          <short_desc>Web font is printed as blank if it is not cached</short_desc>
          <delta_ts>2011-05-16 15:28:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yuzo Fujishima">yuzo</reporter>
          <assigned_to name="Yuzo Fujishima">yuzo</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>hamaji</cc>
    
    <cc>hayato</cc>
    
    <cc>kapouer</cc>
    
    <cc>koivisto</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>261988</commentid>
    <comment_count>0</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-08 23:41:14 -0700</bug_when>
    <thetext>If a web font is configured not to be cached (e.g., by not setting Expires header),
the part of the page to be rendered in that web font is printed as blank.

For example, the following page is printed as blank if cgi-bin/getfont.py is not cached.

&lt;style&gt; 
span { 
    font-size: 64px; 
} 
@font-face { 
    font-family:myfont; 
    src: url(cgi-bin/getfont.py); 
} 
&lt;/style&gt; 
&lt;span style=&quot;font-size:64px; font-family:myfont&quot;&gt; 
This will not be printed on paper in the first try to print. 
&lt;/span&gt;

This is related to https://bugs.webkit.org/show_bug.cgi?id=43551
Currently, WebKit validates cache when a subresource is loaded for the first
time and the second. Cache is not validated for the third and later.
If we change WebKit such that cache validation is skipped also for the second load,
this printing bug will be gone.

Note:
This is the main cause of http://code.google.com/p/chromium/issues/detail?id=42499</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261997</commentid>
    <comment_count>1</comment_count>
      <attachid>63863</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-08 23:54:06 -0700</bug_when>
    <thetext>Created attachment 63863
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267734</commentid>
    <comment_count>2</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-22 18:13:04 -0700</bug_when>
    <thetext>Ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267984</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-08-23 10:39:53 -0700</bug_when>
    <thetext>I think that solution to these problems is in CSS code, not in loader code. But since I don&apos;t know CSS code much, I may well be wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272599</commentid>
    <comment_count>4</comment_count>
      <attachid>63863</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-31 20:06:35 -0700</bug_when>
    <thetext>Comment on attachment 63863
Patch

Yeah, I don&apos;t think the loader should know whether we&apos;re in the middle of printing.  That seems wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277068</commentid>
    <comment_count>5</comment_count>
      <attachid>67163</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-09-10 01:06:23 -0700</bug_when>
    <thetext>Created attachment 67163
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277070</commentid>
    <comment_count>6</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-09-10 01:08:06 -0700</bug_when>
    <thetext>Hi, Alexey, Adam,

Thank you for the reviews. Can you take another look?
I&apos;ve written a new patch based on your comments.

(In reply to comment #4)
&gt; (From update of attachment 63863 [details])
&gt; Yeah, I don&apos;t think the loader should know whether we&apos;re in the middle of printing.  That seems wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301619</commentid>
    <comment_count>7</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-10-29 00:16:33 -0700</bug_when>
    <thetext>Ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312225</commentid>
    <comment_count>8</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-11-21 22:31:05 -0800</bug_when>
    <thetext>Ping again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316405</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-12-02 13:46:17 -0800</bug_when>
    <thetext>What is the difference between the new bit and m_allowStaleResources?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316988</commentid>
    <comment_count>10</comment_count>
      <attachid>67163</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-03 13:07:18 -0800</bug_when>
    <thetext>Comment on attachment 67163
Patch 2

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

&gt; WebKit/mac/WebView/WebHTMLView.mm:3886
&gt; +            document-&gt;cachedResourceLoader()-&gt;validateCachedDocumentResources(false);

We may want to make a RAII class to do this false/true setting automatically.  Just makes it impossible to not pair them correctly and get into a bad state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317511</commentid>
    <comment_count>11</comment_count>
      <attachid>75661</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-12-06 03:06:39 -0800</bug_when>
    <thetext>Created attachment 75661
Use RAII</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317513</commentid>
    <comment_count>12</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-12-06 03:07:18 -0800</bug_when>
    <thetext>Thank you for the review. Introduced an RAII class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317649</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-12-06 08:54:29 -0800</bug_when>
    <thetext>The question from comment 9 still stands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317992</commentid>
    <comment_count>14</comment_count>
      <attachid>75770</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-12-06 18:15:02 -0800</bug_when>
    <thetext>Created attachment 75770
Renamed the cache validation suppression bit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317998</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-06 18:21:38 -0800</bug_when>
    <thetext>Attachment 75770 did not pass style-queue:

Failed to run &quot;[u&apos;git&apos;, u&apos;reset&apos;, u&apos;--hard&apos;, u&apos;HEAD&apos;]&quot; exit_code: 128
error: Could not write new index file.
fatal: Could not reset index file to revision &apos;HEAD&apos;.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318001</commentid>
    <comment_count>16</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-12-06 18:27:22 -0800</bug_when>
    <thetext>Sorry for not responding sooner.

m_allowStaleResources suppresses cache validation entirely, i.e., across documents.

m_allowStaleResourcesWithinDocument (renamed from m_validateCachedDocumentResources) suppresses cache validation within the document.

If a web font has been downloaded for a document for continuous media (screen),
it should not be cache-validated and reloaded for paged media (print).

But if the web font has been downloaded for another document,
cache validation should happen.

Example 1:

- MyDocument uses FontW for both continuous and paged media.

In printing MyDocument, FontW cached for continuous media should be used without validating the cache.

Example 2:

- MyDocument uses FontC for continuous media and FontP, for paged.
- AnotherDocument uses FontP.

In printing MyDocument, FontP cached for AnotherDocument must not be used without first validating the cache. (Cache validation won&apos;t happen if we only use m_allowStaleResources.) 


(In reply to comment #13)
&gt; The question from comment 9 still stands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318041</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-12-06 20:40:50 -0800</bug_when>
    <thetext>Thank you.

CC&apos;ing Antti, who is likely the best reviewer for this patch. I can&apos;t say that I&apos;m fully convinced that this is a loader issue, but you may be right in treating is as such.

Technically, it&apos;s not great to have two booleans with partially overlapping meaning - an enum with three values could be a better fit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329377</commentid>
    <comment_count>18</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2011-01-04 19:09:55 -0800</bug_when>
    <thetext>Ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329543</commentid>
    <comment_count>19</comment_count>
      <attachid>75770</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-01-05 06:47:00 -0800</bug_when>
    <thetext>Comment on attachment 75770
Renamed the cache validation suppression bit

Why does it try to reload resources when switching to printing? 

Why can&apos;t you use the existing m_allowStaleResources? A separate m_allowStaleResourcesWithinDocument doesn&apos;t make that much sense as CachedResourceLoader is per-document anyway.

You need to make a new patch, the code you are modifying has changed substantially, r- for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329997</commentid>
    <comment_count>20</comment_count>
      <attachid>78091</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2011-01-05 20:11:52 -0800</bug_when>
    <thetext>Created attachment 78091
Use only m_allowStaleResources</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329998</commentid>
    <comment_count>21</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2011-01-05 20:17:56 -0800</bug_when>
    <thetext>Antti,

Thank you for the review.

(In reply to comment #19)
&gt; (From update of attachment 75770 [details])
&gt; Why does it try to reload resources when switching to printing?

It is because style sheets are evaluated again in switching to printing.
If web fonts are used in the sheets, they are reloaded.
 
&gt; 
&gt; Why can&apos;t you use the existing m_allowStaleResources? A separate m_allowStaleResourcesWithinDocument doesn&apos;t make that much sense as CachedResourceLoader is per-document anyway.

I misunderstood the behavior. Changed to use m_allowStaleResources.

&gt; 
&gt; You need to make a new patch, the code you are modifying has changed substantially, r- for now.

Updated the patch. Can you take another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330008</commentid>
    <comment_count>22</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-05 20:56:34 -0800</bug_when>
    <thetext>&gt; Why does it try to reload resources when switching to printing? 

That&apos;s the same question that I had; see also bug 27971. But I don&apos;t know if this can actually be fixed in CSS code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330207</commentid>
    <comment_count>23</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-01-06 10:27:46 -0800</bug_when>
    <thetext>Are you sure this bug actually occurs in current TOT?

In principle this test in CachedResourceLoader::determineRevalidationPolicy() should prevent reloading:

    // Avoid loading the same resource multiple times for a single document, even if the cache policies would tell us to.
    if (m_validatedURLs.contains(existingResource-&gt;url()))
        return Use;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330208</commentid>
    <comment_count>24</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-01-06 10:28:23 -0800</bug_when>
    <thetext>If it doesn&apos;t it would be interesting to see why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330599</commentid>
    <comment_count>25</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2011-01-06 18:34:42 -0800</bug_when>
    <thetext>Hi, Antti,

You are right.
r74807 seems to have fixed the loading behavior and the printing issue is now gone.

I marked my patch as obsolete and close this bug.

(In reply to comment #24)
&gt; If it doesn&apos;t it would be interesting to see why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330711</commentid>
    <comment_count>26</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-01-07 02:57:35 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; Hi, Antti,
&gt; 
&gt; You are right.
&gt; r74807 seems to have fixed the loading behavior and the printing issue is now gone.
&gt; 
&gt; I marked my patch as obsolete and close this bug.
&gt; 
&gt; (In reply to comment #24)
&gt; &gt; If it doesn&apos;t it would be interesting to see why.

Actually we should be reloading the resource in case of Cache-control: no-store (but are not due to bug 52044) in which case your patch is still needed.

The patch looks good to me. It would be better if your RAII type would save and restore the existing state so it could be safely used in nested context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333559</commentid>
    <comment_count>27</comment_count>
      <attachid>78779</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2011-01-12 22:57:42 -0800</bug_when>
    <thetext>Created attachment 78779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333560</commentid>
    <comment_count>28</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2011-01-12 22:58:39 -0800</bug_when>
    <thetext>Hi, Antti,

Changed to save and use previous state. Can you take another look?

(In reply to comment #26)
&gt; (In reply to comment #25)
&gt; &gt; Hi, Antti,
&gt; &gt; 
&gt; &gt; You are right.
&gt; &gt; r74807 seems to have fixed the loading behavior and the printing issue is now gone.
&gt; &gt; 
&gt; &gt; I marked my patch as obsolete and close this bug.
&gt; &gt; 
&gt; &gt; (In reply to comment #24)
&gt; &gt; &gt; If it doesn&apos;t it would be interesting to see why.
&gt; 
&gt; Actually we should be reloading the resource in case of Cache-control: no-store (but are not due to bug 52044) in which case your patch is still needed.
&gt; 
&gt; The patch looks good to me. It would be better if your RAII type would save and restore the existing state so it could be safely used in nested context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393018</commentid>
    <comment_count>29</comment_count>
      <attachid>78779</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-26 16:31:54 -0700</bug_when>
    <thetext>Comment on attachment 78779
Patch

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

I&apos;m sad about this patch not having tests, but it seems like the consensus is that we should accept this patch.

&gt; Source/WebCore/loader/cache/CachedResourceLoader.h:146
&gt; +    ResourceCacheValidationSuppressor(CachedResourceLoader* loader) : m_loader(loader), m_previousState(false)

The initializers should be on their own lines.

&gt; Source/WebCore/loader/cache/CachedResourceLoader.h:148
&gt; +        if (m_loader) {

Shouldn&apos;t we ASSERT that m_loader is non-NULL?  What situation would we get into where we wanted to use a null loader?

&gt; Source/WebCore/page/Frame.cpp:506
&gt; +    // In setting printing, we should not validate resources already cached for the document.
&gt; +    // See https://bugs.webkit.org/show_bug.cgi?id=43704

Having a test would be better than having this comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400323</commentid>
    <comment_count>30</comment_count>
      <attachid>92756</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2011-05-08 19:39:34 -0700</bug_when>
    <thetext>Created attachment 92756
Update and clean up</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400362</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-08 23:33:50 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 92756:

http/tests/misc/favicon-loads-with-icon-loading-override.html bug 58412 (author: alice.liu@apple.com)
fast/dom/onerror-img.html bug 51019
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400363</commentid>
    <comment_count>32</comment_count>
      <attachid>92756</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-08 23:35:39 -0700</bug_when>
    <thetext>Comment on attachment 92756
Update and clean up

Rejecting attachment 92756 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sf&apos;, &apos;la...&quot; exit_code: 1

Last 500 characters of output:
=43704&amp;ctype=xml
Processing 1 patch from 1 bug.
Cleaning working directory
Updating working directory
Processing patch 92756 from bug 43704.
NOBODY (OOPS!) found in /Projects/CommitQueue/Source/WebCore/ChangeLog does not appear to be a valid reviewer according to committers.py.
ERROR: /Projects/CommitQueue/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).
Updating OpenSource
Current branch new_master is up to date.

Full output: http://queues.webkit.org/results/8640426</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400365</commentid>
    <comment_count>33</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2011-05-08 23:49:45 -0700</bug_when>
    <thetext>Adam, can you take another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404601</commentid>
    <comment_count>34</comment_count>
      <attachid>92756</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-05-16 11:03:33 -0700</bug_when>
    <thetext>Comment on attachment 92756
Update and clean up

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404674</commentid>
    <comment_count>35</comment_count>
      <attachid>92756</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-16 13:25:00 -0700</bug_when>
    <thetext>Comment on attachment 92756
Update and clean up

Clearing flags on attachment: 92756

Committed r86601: &lt;http://trac.webkit.org/changeset/86601&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404675</commentid>
    <comment_count>36</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-16 13:25:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404772</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-16 15:28:31 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 92756:

http/tests/appcache/origin-usage.html bug 60928
The commit-queue is continuing to process your patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63863</attachid>
            <date>2010-08-08 23:54:06 -0700</date>
            <delta_ts>2010-09-10 01:06:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43704-20100808235404.patch</filename>
            <type>text/plain</type>
            <size>11396</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDgwM2EzNWU4YjE4NWNkYjY5MzEyY2M2MWI4NTM2MjgyOTY5YmQ5Ny4uZjJkMmExYTViNjU2OGQz
NDc3MDk1MmI5MjViNjM0MDA2OGU3MWRmMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMC0wOC0wNSAgWXV6
byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBCdWcgNDM3MDQgLSBXZWIgZm9udCBpcyBw
cmludGVkIGFzIGJsYW5rIGlmIGl0IGlzIG5vdCBjYWNoZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNzA0CisKKyAgICAgICAgU2tpcCByZXZhbGlk
YXRpbmcgY2FjaGVkIGZvbnRzIHdoZW4gdGhlIGZyYW1lIGlzIGp1c3QgY2hhbmdpbmcgbWVkaWEg
dHlwZSBiZXR3ZWVuIHNjcmVlbiBhbmQgcHJpbnQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJl
Y2F1c2UgdGhlcmUgc2VlbXMgdG8gYmUgbm8gZ29vZCB3YXkgdG8gdGVzdCBwcmludCBpbWFnZXMu
CisKKyAgICAgICAgKiBsb2FkZXIvQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRl
UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlcXVlc3RSZXNvdXJjZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cmV2YWxpZGF0ZVJlc291cmNlKToKKyAgICAgICAgKiBs
b2FkZXIvQ2FjaGVkRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRGb250OjpDYWNo
ZWRGb250KToKKyAgICAgICAgKiBsb2FkZXIvQ2FjaGVkRm9udC5oOgorICAgICAgICAqIGxvYWRl
ci9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6
Q2FjaGVkUmVzb3VyY2UpOgorICAgICAgICAqIGxvYWRlci9DYWNoZWRSZXNvdXJjZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmlzQ2FjaGVkSW5QcmludGluZyk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6c2V0Q2FjaGVkSW5QcmludGluZyk6CisgICAg
ICAgICogbG9hZGVyL0RvY0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2NMb2FkZXI6
OmNoZWNrRm9yUmVsb2FkKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lOjpGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6c2V0UHJpbnRp
bmcpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpp
c0NoYW5naW5nTWVkaWFUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTWVkaWFUeXBlQ2hh
bmdpbmdNYXJrZXI6OkZyYW1lTWVkaWFUeXBlQ2hhbmdpbmdNYXJrZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVNZWRpYVR5cGVDaGFuZ2luZ01hcmtlcjo6fkZyYW1lTWVkaWFUeXBlQ2hhbmdp
bmdNYXJrZXIpOgorCiAyMDEwLTA4LTA4ICBBcml5YSBIaWRheWF0ICA8YXJpeWFAc2VuY2hhLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnRvbmlvIEdvbWVzLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvQ2FjaGUuY3BwIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwCmluZGV4IDUy
MWQwNzUwY2EzMmIzOGIzODc0OTc2YWU0NzI1ZTBjMzJjOGZiZDkuLjJkODgyMjFkMGI0YTM1Njgw
YjQyZjZjZmU3ZjM5ZDIzZTUwZjI1OTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0NhY2hl
LmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9DYWNoZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgQ2Fj
aGU6OkNhY2hlKCkKIHsKIH0KIAotc3RhdGljIENhY2hlZFJlc291cmNlKiBjcmVhdGVSZXNvdXJj
ZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmlu
ZyYgY2hhcnNldCkKK3N0YXRpYyBDYWNoZWRSZXNvdXJjZSogY3JlYXRlUmVzb3VyY2UoQ2FjaGVk
UmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGNoYXJz
ZXQsIGJvb2wgaW5QcmludGluZykKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIENh
Y2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNlOgpAQCAtNzcsNyArNzcsNyBAQCBzdGF0aWMgQ2Fj
aGVkUmVzb3VyY2UqIGNyZWF0ZVJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNv
bnN0IEtVUkwmIHVybAogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdDoKICAgICAgICAg
cmV0dXJuIG5ldyBDYWNoZWRTY3JpcHQodXJsLnN0cmluZygpLCBjaGFyc2V0KTsKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpGb250UmVzb3VyY2U6Ci0gICAgICAgIHJldHVybiBuZXcgQ2FjaGVk
Rm9udCh1cmwuc3RyaW5nKCkpOworICAgICAgICByZXR1cm4gbmV3IENhY2hlZEZvbnQodXJsLnN0
cmluZygpLCBpblByaW50aW5nKTsKICNpZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpYU0xTdHlsZVNoZWV0OgogICAgICAgICByZXR1cm4gbmV3IENhY2hlZFhTTFN0eWxl
U2hlZXQodXJsLnN0cmluZygpKTsKQEAgLTExOSw3ICsxMTksNyBAQCBDYWNoZWRSZXNvdXJjZSog
Q2FjaGU6OnJlcXVlc3RSZXNvdXJjZShEb2NMb2FkZXIqIGRvY0xvYWRlciwgQ2FjaGVkUmVzb3Vy
Y2U6OlR5cAogICAgIAogICAgIGlmICghcmVzb3VyY2UpIHsKICAgICAgICAgLy8gVGhlIHJlc291
cmNlIGRvZXMgbm90IGV4aXN0LiBDcmVhdGUgaXQuCi0gICAgICAgIHJlc291cmNlID0gY3JlYXRl
UmVzb3VyY2UodHlwZSwgdXJsLCBjaGFyc2V0KTsKKyAgICAgICAgcmVzb3VyY2UgPSBjcmVhdGVS
ZXNvdXJjZSh0eXBlLCB1cmwsIGNoYXJzZXQsIGRvY0xvYWRlci0+ZG9jKCktPnByaW50aW5nKCkp
OwogICAgICAgICBBU1NFUlQocmVzb3VyY2UpOwogCiAgICAgICAgIC8vIFByZXRlbmQgdGhlIHJl
c291cmNlIGlzIGluIHRoZSBjYWNoZSwgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGRlbGV0ZWQg
ZHVyaW5nIHRoZSBsb2FkKCkgY2FsbC4KQEAgLTE5OSw3ICsxOTksNyBAQCB2b2lkIENhY2hlOjpy
ZXZhbGlkYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBEb2NMb2FkZXIqIGRv
Y0xvYWRlcikKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBjb25zdCBTdHJpbmcmIHVybCA9
IHJlc291cmNlLT51cmwoKTsKLSAgICBDYWNoZWRSZXNvdXJjZSogbmV3UmVzb3VyY2UgPSBjcmVh
dGVSZXNvdXJjZShyZXNvdXJjZS0+dHlwZSgpLCBLVVJMKFBhcnNlZFVSTFN0cmluZywgdXJsKSwg
cmVzb3VyY2UtPmVuY29kaW5nKCkpOworICAgIENhY2hlZFJlc291cmNlKiBuZXdSZXNvdXJjZSA9
IGNyZWF0ZVJlc291cmNlKHJlc291cmNlLT50eXBlKCksIEtVUkwoUGFyc2VkVVJMU3RyaW5nLCB1
cmwpLCByZXNvdXJjZS0+ZW5jb2RpbmcoKSwgZG9jTG9hZGVyLT5kb2MoKS0+cHJpbnRpbmcoKSk7
CiAgICAgbmV3UmVzb3VyY2UtPnNldFJlc291cmNlVG9SZXZhbGlkYXRlKHJlc291cmNlKTsKICAg
ICBldmljdChyZXNvdXJjZSk7CiAgICAgbV9yZXNvdXJjZXMuc2V0KHVybCwgbmV3UmVzb3VyY2Up
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkRm9udC5jcHAgYi9XZWJDb3JlL2xv
YWRlci9DYWNoZWRGb250LmNwcAppbmRleCAyNzIxNjZlNmQxNWQyYWVlYmRhOTg2MjZlZTZjYmIx
ZTlhNDkyOWFjLi4wN2Y1ZWU4M2ZkZjMwODYzZjc0MDdhNDRmYjhhNWU0NzYzYzk1YzE3IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9DYWNoZWRGb250LmNwcAorKysgYi9XZWJDb3JlL2xvYWRl
ci9DYWNoZWRGb250LmNwcApAQCAtNTQsNyArNTQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLUNhY2hlZEZvbnQ6OkNhY2hlZEZvbnQoY29uc3QgU3RyaW5nICZ1cmwpCitDYWNoZWRGb250
OjpDYWNoZWRGb250KGNvbnN0IFN0cmluZyAmdXJsLCBib29sIGluUHJpbnRpbmcpCiAgICAgOiBD
YWNoZWRSZXNvdXJjZSh1cmwsIEZvbnRSZXNvdXJjZSkKICAgICAsIG1fZm9udERhdGEoMCkKICAg
ICAsIG1fbG9hZEluaXRpYXRlZChmYWxzZSkKQEAgLTYyLDYgKzYyLDggQEAgQ2FjaGVkRm9udDo6
Q2FjaGVkRm9udChjb25zdCBTdHJpbmcgJnVybCkKICAgICAsIG1faXNTVkdGb250KGZhbHNlKQog
I2VuZGlmCiB7CisgICAgaWYgKGluUHJpbnRpbmcpCisgICAgICAgIHNldENhY2hlZEluUHJpbnRp
bmcoKTsKIH0KIAogQ2FjaGVkRm9udDo6fkNhY2hlZEZvbnQoKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvQ2FjaGVkRm9udC5oIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkRm9udC5oCmluZGV4
IDAxYzhjOWM1YjczYjU1MWM4YzgwNTcxNGI4MTI4ZDhjODM0ZTkzMzMuLjllNDVmZGYzYjMyNjg3
OGJhYjQxNGI2NDEyZjU3Yjk4NzU2NDQ5NDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Nh
Y2hlZEZvbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9DYWNoZWRGb250LmgKQEAgLTQ2LDcgKzQ2
LDcgQEAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGE7CiAKIGNsYXNzIENhY2hlZEZvbnQg
OiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2UgewogcHVibGljOgotICAgIENhY2hlZEZvbnQoY29uc3Qg
U3RyaW5nJiB1cmwpOworICAgIENhY2hlZEZvbnQoY29uc3QgU3RyaW5nJiB1cmwsIGJvb2wgaW5Q
cmludGluZyk7CiAgICAgdmlydHVhbCB+Q2FjaGVkRm9udCgpOwogICAgIAogICAgIHZpcnR1YWwg
dm9pZCBsb2FkKERvY0xvYWRlciogZG9jTG9hZGVyKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL0NhY2hlZFJlc291cmNlLmNwcCBiL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmNw
cAppbmRleCA4ODdiMGI1ZmRkYjU5Y2ZjNWM2ZWJmNGI3N2UxNjVhZmQ3N2Y4OWNkLi5hYWIxNDU0
MjIxNmZhNWNjNGZlYzI4ODFlOWM2Zjk5MWE4MjdmOWU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9DYWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3Vy
Y2UuY3BwCkBAIC04MSw2ICs4MSw3IEBAIENhY2hlZFJlc291cmNlOjpDYWNoZWRSZXNvdXJjZShj
b25zdCBTdHJpbmcmIHVybCwgVHlwZSB0eXBlKQogICAgICwgbV9kb2NMb2FkZXIoMCkKICAgICAs
IG1fcmVzb3VyY2VUb1JldmFsaWRhdGUoMCkKICAgICAsIG1fcHJveHlSZXNvdXJjZSgwKQorICAg
ICwgbV9pc0NhY2hlZEluUHJpbnRpbmcoZmFsc2UpCiB7CiAjaWZuZGVmIE5ERUJVRwogICAgIGNh
Y2hlZFJlc291cmNlTGVha0NvdW50ZXIuaW5jcmVtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9DYWNoZWRSZXNvdXJjZS5oIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2Uu
aAppbmRleCA0YjgzYThlZjRlMzM1ZjFjZDNmZThlNTdlY2RjZDQ2ZjM1ZGU2NGQ0Li5lMzAxZGU5
ZjY5YjE0MjFlZWM4ODhkNDc4MzhmZjljMmVjM2Q1NWYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNl
LmgKQEAgLTIwNyw2ICsyMDcsOCBAQCBwdWJsaWM6CiAgICAgLy8gYmV0dGVyIHdheSB0byBoYW5k
bGUgdGhlIGFyY2hpdmUgY2FzZS4KICAgICBib29sIG1ha2VQdXJnZWFibGUoYm9vbCBwdXJnZWFi
bGUpOwogCisgICAgYm9vbCBpc0NhY2hlZEluUHJpbnRpbmcoKSBjb25zdCB7IHJldHVybiBtX2lz
Q2FjaGVkSW5QcmludGluZzsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBzZXRFbmNvZGVkU2l6
ZSh1bnNpZ25lZCk7CiAgICAgdm9pZCBzZXREZWNvZGVkU2l6ZSh1bnNpZ25lZCk7CkBAIC0yMTQs
NiArMjE2LDggQEAgcHJvdGVjdGVkOgogCiAgICAgYm9vbCBpc1NhZmVUb01ha2VQdXJnZWFibGUo
KSBjb25zdDsKICAgICAKKyAgICB2b2lkIHNldENhY2hlZEluUHJpbnRpbmcoKSB7IG1faXNDYWNo
ZWRJblByaW50aW5nID0gdHJ1ZTsgfQorCiAgICAgSGFzaENvdW50ZWRTZXQ8Q2FjaGVkUmVzb3Vy
Y2VDbGllbnQqPiBtX2NsaWVudHM7CiAKICAgICBTdHJpbmcgbV91cmw7CkBAIC0yODUsNiArMjg5
LDkgQEAgcHJpdmF0ZToKIAogICAgIC8vIFRoZXNlIGhhbmRsZXMgd2lsbCBuZWVkIHRvIGJlIHVw
ZGF0ZWQgdG8gcG9pbnQgdG8gdGhlIG1fcmVzb3VyY2VUb1JldmFsaWRhdGUgaW4gY2FzZSB3ZSBn
ZXQgMzA0IHJlc3BvbnNlLgogICAgIEhhc2hTZXQ8Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKj4g
bV9oYW5kbGVzVG9SZXZhbGlkYXRlOworCisgICAgYm9vbCBtX2lzQ2FjaGVkSW5QcmludGluZzsK
KwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRG9jTG9hZGVyLmNwcCBiL1dl
YkNvcmUvbG9hZGVyL0RvY0xvYWRlci5jcHAKaW5kZXggMmY3NWZmOTA3ZWVhMDU1ZTViOWJlNGFj
ZDE5ZjI1MWRmMTEwNjg3YS4uNGYyYTNhNjQyYWJiMTJhY2YwOThhZWI5ODE3YTZlOGIzNjc3MmQz
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRG9jTG9hZGVyLmNwcAorKysgYi9XZWJDb3Jl
L2xvYWRlci9Eb2NMb2FkZXIuY3BwCkBAIC05Nyw2ICs5NywxMiBAQCB2b2lkIERvY0xvYWRlcjo6
Y2hlY2tGb3JSZWxvYWQoY29uc3QgS1VSTCYgZnVsbFVSTCkKIAogICAgIHN3aXRjaCAoY2FjaGVQ
b2xpY3koKSkgewogICAgIGNhc2UgQ2FjaGVQb2xpY3lWZXJpZnk6CisgICAgICAgIC8vIElmIHRo
ZSBmcmFtZSBpcyBqdXN0IGNoYW5naW5nIG1lZGlhIHR5cGUgKGluIHByaW50aW5nIHRoZSBwYWdl
KSwKKyAgICAgICAgLy8gYW5kIHRoZSBleGlzdGluZyByZXNvdXJjZSBpcyBmb3Igc2NyZWVuIChp
LmUuLCBub24tcHJpbnQpIG1lZGlhLAorICAgICAgICAvLyB3ZSBzaG91bGQgbm90IHJlbG9hZCB0
aGUgcmVzb3VyY2UgYmVjYXVzZSBpdCB3YXMgcmVmcmVzaGVkIHdoZW4KKyAgICAgICAgLy8gdGhl
IHBhZ2Ugd2FzIHJlbmRlcmVkIG9uIHNjcmVlbi4KKyAgICAgICAgaWYgKGZyYW1lKCktPmlzQ2hh
bmdpbmdNZWRpYVR5cGUoKSAmJiAhZXhpc3RpbmctPmlzQ2FjaGVkSW5QcmludGluZygpKQorICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICBpZiAoIWV4aXN0aW5nLT5tdXN0UmV2YWxpZGF0ZShD
YWNoZVBvbGljeVZlcmlmeSkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhY2hlKCkt
PnJldmFsaWRhdGVSZXNvdXJjZShleGlzdGluZywgdGhpcyk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvRnJhbWUuY3BwIGIvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCAxNjVhYTMyN2Zk
ZDQzYjg5MTBlZjgwODkxOWU4ODg2OTVlOWFjNWFkLi4zMjk0ZTgxZjQ3NjBhMDM0ZDIwMWI3Njlm
ZmUzMTFiODE0OGU5MGUxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBi
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTE0OSw2ICsxNDksNyBAQCBpbmxpbmUgRnJhbWU6
OkZyYW1lKFBhZ2UqIHBhZ2UsIEhUTUxGcmFtZU93bmVyRWxlbWVudCogb3duZXJFbGVtZW50LCBG
cmFtZUxvYWRlcgogICAgICwgbV9uZWVkc1JlYXBwbHlTdHlsZXMoZmFsc2UpCiAgICAgLCBtX2lz
RGlzY29ubmVjdGVkKGZhbHNlKQogICAgICwgbV9leGNsdWRlRnJvbVRleHRTZWFyY2goZmFsc2Up
CisgICAgLCBtX2NoYW5naW5nTWVkaWFUeXBlKGZhbHNlKQogewogICAgIEFTU0VSVChwYWdlKTsK
ICAgICBBdG9taWNTdHJpbmc6OmluaXQoKTsKQEAgLTYxOCw2ICs2MTksOCBAQCB2b2lkIEZyYW1l
OjpwYWludERyYWdDYXJldChHcmFwaGljc0NvbnRleHQqIHAsIGludCB0eCwgaW50IHR5LCBjb25z
dCBJbnRSZWN0JiBjbAogCiB2b2lkIEZyYW1lOjpzZXRQcmludGluZyhib29sIHByaW50aW5nLCBj
b25zdCBGbG9hdFNpemUmIHBhZ2VTaXplLCBmbG9hdCBtYXhpbXVtU2hyaW5rUmF0aW8sIEFkanVz
dFZpZXdTaXplT3JOb3Qgc2hvdWxkQWRqdXN0Vmlld1NpemUpCiB7CisgICAgRnJhbWVNZWRpYVR5
cGVDaGFuZ2luZ01hcmtlciBtYXJrZXIodGhpcyk7CisKICAgICBtX2RvYy0+c2V0UHJpbnRpbmco
cHJpbnRpbmcpOwogICAgIHZpZXcoKS0+YWRqdXN0TWVkaWFUeXBlRm9yUHJpbnRpbmcocHJpbnRp
bmcpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1dlYkNvcmUvcGFnZS9G
cmFtZS5oCmluZGV4IDRlNTIyYzRjMmRlZGUwMTMxYTQxMzZjNTVhZDA1MDE0NmE0OGQyOWYuLjRj
NGIyZTE1YWQ4MzM1ZmUxNGJhZmQxMTQ2ZTA4NjZiZGU5OGYzZDYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGFnZS9GcmFtZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0xMjksNyArMTI5
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBp
bmplY3RVc2VyU2NyaXB0c0ZvcldvcmxkKERPTVdyYXBwZXJXb3JsZCosIGNvbnN0IFVzZXJTY3Jp
cHRWZWN0b3ImLCBVc2VyU2NyaXB0SW5qZWN0aW9uVGltZSk7Ci0KICAgICBwcml2YXRlOgogICAg
ICAgICBGcmFtZShQYWdlKiwgSFRNTEZyYW1lT3duZXJFbGVtZW50KiwgRnJhbWVMb2FkZXJDbGll
bnQqKTsKIApAQCAtMTQyLDYgKzE0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAg
ICBlbnVtIEFkanVzdFZpZXdTaXplT3JOb3QgeyBEb05vdEFkanVzdFZpZXdTaXplLCBBZGp1c3RW
aWV3U2l6ZSB9OwogICAgICAgICB2b2lkIHNldFByaW50aW5nKGJvb2wgcHJpbnRpbmcsIGNvbnN0
IEZsb2F0U2l6ZSYgcGFnZVNpemUsIGZsb2F0IG1heGltdW1TaHJpbmtSYXRpbywgQWRqdXN0Vmll
d1NpemVPck5vdCk7CisgICAgICAgIGJvb2wgaXNDaGFuZ2luZ01lZGlhVHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2hhbmdpbmdNZWRpYVR5cGU7IH0KIAogICAgICAgICBib29sIGluVmlld1NvdXJj
ZU1vZGUoKSBjb25zdDsKICAgICAgICAgdm9pZCBzZXRJblZpZXdTb3VyY2VNb2RlKGJvb2wgPSB0
cnVlKTsKQEAgLTM0MCwxMCArMzQwLDMyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
Ym9vbCBtX25lZWRzUmVhcHBseVN0eWxlczsKICAgICAgICAgYm9vbCBtX2lzRGlzY29ubmVjdGVk
OwogICAgICAgICBib29sIG1fZXhjbHVkZUZyb21UZXh0U2VhcmNoOworICAgICAgICBib29sIG1f
Y2hhbmdpbmdNZWRpYVR5cGU7CiAKICNpZiBFTkFCTEUoVElMRURfQkFDS0lOR19TVE9SRSkgICAg
ICAgIAogICAgICAgICBPd25QdHI8VGlsZWRCYWNraW5nU3RvcmU+IG1fdGlsZWRCYWNraW5nU3Rv
cmU7CiAjZW5kaWYKKworICAgICAgICBmcmllbmQgY2xhc3MgRnJhbWVNZWRpYVR5cGVDaGFuZ2lu
Z01hcmtlcjsKKyAgICB9OworCisgICAgLy8gQ3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoaXMgY2xh
c3MgYW5kIGtlZXAgaXQgYWxpdmUgd2hpbGUgeW91IGFyZQorICAgIC8vIGNoYW5naW5nIG1lZGlh
IHR5cGUgZm9yIHRoZSBmcmFtZS4KKyAgICBjbGFzcyBGcmFtZU1lZGlhVHlwZUNoYW5naW5nTWFy
a2VyIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEZyYW1lTWVkaWFUeXBlQ2hhbmdpbmdNYXJrZXIo
RnJhbWUqIGZyYW1lKSA6IG1fZnJhbWUoZnJhbWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlm
IChtX2ZyYW1lKQorICAgICAgICAgICAgICAgIG1fZnJhbWUtPiBtX2NoYW5naW5nTWVkaWFUeXBl
ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIH5GcmFtZU1lZGlhVHlwZUNoYW5naW5nTWFy
a2VyKCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKG1fZnJhbWUpCisgICAgICAgICAgICAg
ICAgbV9mcmFtZS0+IG1fY2hhbmdpbmdNZWRpYVR5cGUgPSBmYWxzZTsKKyAgICAgICAgfQorICAg
IHByaXZhdGU6CisgICAgICAgIEZyYW1lKiBtX2ZyYW1lOwogICAgIH07CiAKICAgICBpbmxpbmUg
dm9pZCBGcmFtZTo6aW5pdCgpCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGQ5YzcyMWVmZTMwYjg2ZTljN2RhMDNhMzRiMjU0YmQ0
NTBiYzlmODQuLmJkNDNjMTRiYmU2ZjI2ZjJkODU5NGI4NDcyZDQxNjNhMGUwMDk5ZjUgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDgtMDUgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eCBmb3IgQnVnIDQzNzA0IC0gV2ViIGZvbnQgaXMgcHJpbnRlZCBhcyBibGFuayBpZiBpdCBpcyBu
b3QgY2FjaGVkCisgICAgICAgIHJlbGV2YW50IHBhcnQgY2FuIGJlY29tZSBibGFuaworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM3MDQKKworICAgICAg
ICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgtW1dlYkhUTUxWaWV3IF9zZXRQ
cmludGluZzptaW5pbXVtUGFnZVdpZHRoOmhlaWdodDptYXhpbXVtUGFnZVdpZHRoOmFkanVzdFZp
ZXdTaXplOl0pOgorICAgICAgICBtYXJrIHRoZSBzdGFydCBhbmQgdGhlIGVuZCBvZiBtZWRpYSB0
eXBlIGNoYW5nZS4KKwogMjAxMC0wOC0wNCAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhU
TUxWaWV3Lm1tCmluZGV4IDBlNTU5YjQ0ZjQyNzYzZDBiZDUzM2I5ODgzY2MzZmQ0ZmJjN2I2NjUu
LjU4NmJmNzg2ZmI0YmQ1NTg2NjViMDdhYjk3ODcxYWM2YjcyZDA2NTAgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViSFRNTFZpZXcubW0KQEAgLTM4MjUsNiArMzgyNSw4IEBAIHN0YXRpYyBCT09MIGlzSW5QYXNz
d29yZEZpZWxkKEZyYW1lKiBjb3JlRnJhbWUpCiAvLyBwYWdlV2lkdGggIT0gMCBpbXBsaWVzIHdl
IHdpbGwgcmVsYXlvdXQgdG8gYSBuZXcgd2lkdGgKIC0gKHZvaWQpX3NldFByaW50aW5nOihCT09M
KXByaW50aW5nIG1pbmltdW1QYWdlV2lkdGg6KGZsb2F0KW1pblBhZ2VXaWR0aCBoZWlnaHQ6KGZs
b2F0KW1pblBhZ2VIZWlnaHQgbWF4aW11bVBhZ2VXaWR0aDooZmxvYXQpbWF4UGFnZVdpZHRoIGFk
anVzdFZpZXdTaXplOihCT09MKWFkanVzdFZpZXdTaXplCiB7CisgICAgRnJhbWVNZWRpYVR5cGVD
aGFuZ2luZ01hcmtlciBtYXJrZXIoY29yZShbc2VsZiBfZnJhbWVdKSk7CisKICAgICBXZWJGcmFt
ZSAqZnJhbWUgPSBbc2VsZiBfZnJhbWVdOwogICAgIE5TQXJyYXkgKnN1YmZyYW1lcyA9IFtmcmFt
ZSBjaGlsZEZyYW1lc107CiAgICAgdW5zaWduZWQgbiA9IFtzdWJmcmFtZXMgY291bnRdOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67163</attachid>
            <date>2010-09-10 01:06:23 -0700</date>
            <delta_ts>2010-12-06 03:06:34 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-43704-20100910010621.patch</filename>
            <type>text/plain</type>
            <size>6567</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjNkZWM3NGU0MTY3NjIzM2NhYzg2ZDIwMWVhYzdjNzdjZTllMTllOC4uZDFlNTNjMGMyZGQ0MGFl
NzRmMzQwNGZjZWI1ZjYzMjQ0NmQ4NmE2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMC0wOS0xMCAgWXV6
byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBCdWcgNDM3MDQgLSBXZWIgZm9udCBpcyBw
cmludGVkIGFzIGJsYW5rIGlmIGl0IGlzIG5vdCBjYWNoZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNzA0CisKKyAgICAgICAgSW4gc2V0dGluZyBw
cmludGluZywgd2Ugc2hvdWxkIG5vdCB2YWxpZGF0ZSByZXNvdXJjZXMgYWxyZWFkeSBjYWNoZWQg
Zm9yIHRoZSBkb2N1bWVudC4KKyAgICAgICAgSWYgd2UgZG8sIHdlYiBmb250cyB1c2VkIGZvciBz
Y3JlZW4gYXJlIHJldmFsaWRhdGVkIGFuZCBwb3NzaWJ5IHJlbG9hZGVkLiBUaGVuIHRoZSBmb250
cyBjYW4gYmUgc2hvd24gYXMgYmxhbmsgb24gcHJpbnQuCisgICAgICAgIFRoaXMgcGF0Y2ggd29u
J3Qgc2F2ZSB0aGUgY2FzZSB3aGVyZSBzY3JlZW4gYW5kIHByaW50IHVzZSBkaWZmZXJlbnQgd2Vi
IGZvbnRzLiBOb25ldGhlbGVzcywgdGhpcyBpcyBhbiBpbXByb3ZlbWVudC4KKworICAgICAgICBO
byBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBzZWVtcyB0byBiZSBubyBnb29kIHdheSB0byB0ZXN0
IHByaW50IGltYWdlcy4KKworICAgICAgICAqIGxvYWRlci9DYWNoZWRSZXNvdXJjZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Q2FjaGVkUmVzb3Vy
Y2VMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNr
Rm9yUmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjp2YWxpZGF0ZUNhY2hlZERvY3Vt
ZW50UmVzb3VyY2VzKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lOjpzZXRQcmludGluZyk6CisKIDIwMTAtMDktMDkgIFl1em8gRnVqaXNoaW1hICA8
eXV6b0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvV2ViQ29y
ZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGQ5MjVlYWIzOTVmZTNhOWNk
OTk1MDAzYmQyODg0ZmFlZDZiOTM0YTMuLjg3ZTY4Nzg2NzNiYjRkNDY4ZThmMzM2ODFjNTAzNDg3
MmE2MTBjNjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlTG9hZGVy
LmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTU3
LDYgKzU3LDcgQEAgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OkNhY2hlZFJlc291cmNlTG9hZGVyKERv
Y3VtZW50KiBkb2MpCiAgICAgLCBtX2F1dG9Mb2FkSW1hZ2VzKHRydWUpCiAgICAgLCBtX2xvYWRJ
blByb2dyZXNzKGZhbHNlKQogICAgICwgbV9hbGxvd1N0YWxlUmVzb3VyY2VzKGZhbHNlKQorICAg
ICwgbV92YWxpZGF0ZUNhY2hlZERvY3VtZW50UmVzb3VyY2VzKHRydWUpCiB7CiAgICAgbV9jYWNo
ZS0+YWRkQ2FjaGVkUmVzb3VyY2VMb2FkZXIodGhpcyk7CiB9CkBAIC05Niw2ICs5Nyw5IEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrRm9yUmVsb2FkKGNvbnN0IEtVUkwmIGZ1bGxV
UkwpCiAgICAgaWYgKCFleGlzdGluZyB8fCBleGlzdGluZy0+aXNQcmVsb2FkZWQoKSkKICAgICAg
ICAgcmV0dXJuOwogCisgICAgaWYgKCFtX3ZhbGlkYXRlQ2FjaGVkRG9jdW1lbnRSZXNvdXJjZXMg
JiYgbV9kb2N1bWVudFJlc291cmNlcy5maW5kKGZ1bGxVUkwuc3RyaW5nKCkpICE9IG1fZG9jdW1l
bnRSZXNvdXJjZXMuZW5kKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIHN3aXRjaCAoY2FjaGVQ
b2xpY3koKSkgewogICAgIGNhc2UgQ2FjaGVQb2xpY3lWZXJpZnk6CiAgICAgICAgIGlmICghZXhp
c3RpbmctPm11c3RSZXZhbGlkYXRlKENhY2hlUG9saWN5VmVyaWZ5KSkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5oCmluZGV4IDAyZTk4M2IxYThiZmViNDc5MWRlYzQxOTEzYTA2NWJm
YzU1MTkyOGEuLjQwMGFiMDYwYmQ1MzNiOTZjYTAxYWRhMDM5MzAwZDIzNmZiNTQ2YWEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaApAQCAtMTAwLDYgKzEwMCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFN0cmluZyYg
dXJsLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGJvb2wgcmVmZXJlbmNlZEZyb21Cb2R5KTsKICAg
ICB2b2lkIGNoZWNrRm9yUGVuZGluZ1ByZWxvYWRzKCk7CiAgICAgdm9pZCBwcmludFByZWxvYWRT
dGF0cygpOworICAgIHZvaWQgdmFsaWRhdGVDYWNoZWREb2N1bWVudFJlc291cmNlcyhib29sIHZh
bGlkYXRlKSB7IG1fdmFsaWRhdGVDYWNoZWREb2N1bWVudFJlc291cmNlcyA9IHZhbGlkYXRlOyB9
CiAgICAgCiBwcml2YXRlOgogICAgIENhY2hlZFJlc291cmNlKiByZXF1ZXN0UmVzb3VyY2UoQ2Fj
aGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIGNoYXJz
ZXQsIGJvb2wgaXNQcmVsb2FkID0gZmFsc2UpOwpAQCAtMTI0LDEwICsxMjUsMTEgQEAgcHJpdmF0
ZToKICAgICB9OwogICAgIFZlY3RvcjxQZW5kaW5nUHJlbG9hZD4gbV9wZW5kaW5nUHJlbG9hZHM7
CiAgICAgCi0gICAgLy8yOSBiaXRzIGxlZnQKKyAgICAvLyAyOCBiaXRzIGxlZnQKICAgICBib29s
IG1fYXV0b0xvYWRJbWFnZXMgOiAxOwogICAgIGJvb2wgbV9sb2FkSW5Qcm9ncmVzcyA6IDE7CiAg
ICAgYm9vbCBtX2FsbG93U3RhbGVSZXNvdXJjZXMgOiAxOworICAgIGJvb2wgbV92YWxpZGF0ZUNh
Y2hlZERvY3VtZW50UmVzb3VyY2VzIDogMTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9GcmFtZS5jcHAgYi9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IDhjNTQ2Y2U4ZDhm
ZWIyNDkxNjcxYzdmZDE2YTU5MmMyOTJkNDljOWUuLmRiZTJjMWRmMjc3Mzg4OWIxOWE2NDBhYmQ5
YjQxZTdlZjkxYmQ5NjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIv
V2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtNTY2LDYgKzU2Niw5IEBAIHZvaWQgRnJhbWU6OnBh
aW50RHJhZ0NhcmV0KEdyYXBoaWNzQ29udGV4dCogcCwgaW50IHR4LCBpbnQgdHksIGNvbnN0IElu
dFJlY3QmIGNsCiAKIHZvaWQgRnJhbWU6OnNldFByaW50aW5nKGJvb2wgcHJpbnRpbmcsIGNvbnN0
IEZsb2F0U2l6ZSYgcGFnZVNpemUsIGZsb2F0IG1heGltdW1TaHJpbmtSYXRpbywgQWRqdXN0Vmll
d1NpemVPck5vdCBzaG91bGRBZGp1c3RWaWV3U2l6ZSkKIHsKKyAgICAvLyBJbiBzZXR0aW5nIHBy
aW50aW5nLCB3ZSBzaG91bGQgbm90IHZhbGlkYXRlIHJlc291cmNlcyBhbHJlYWR5IGNhY2hlZCBm
b3IgdGhlIGRvY3VtZW50LgorICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDM3MDQKKyAgICBtX2RvYy0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+dmFs
aWRhdGVDYWNoZWREb2N1bWVudFJlc291cmNlcyhmYWxzZSk7CiAgICAgbV9kb2MtPnNldFByaW50
aW5nKHByaW50aW5nKTsKICAgICB2aWV3KCktPmFkanVzdE1lZGlhVHlwZUZvclByaW50aW5nKHBy
aW50aW5nKTsKIApAQCAtNTc0LDYgKzU3Nyw3IEBAIHZvaWQgRnJhbWU6OnNldFByaW50aW5nKGJv
b2wgcHJpbnRpbmcsIGNvbnN0IEZsb2F0U2l6ZSYgcGFnZVNpemUsIGZsb2F0IG1heGltdW1TCiAK
ICAgICBmb3IgKEZyYW1lKiBjaGlsZCA9IHRyZWUoKS0+Zmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hp
bGQgPSBjaGlsZC0+dHJlZSgpLT5uZXh0U2libGluZygpKQogICAgICAgICBjaGlsZC0+c2V0UHJp
bnRpbmcocHJpbnRpbmcsIHBhZ2VTaXplLCBtYXhpbXVtU2hyaW5rUmF0aW8sIHNob3VsZEFkanVz
dFZpZXdTaXplKTsKKyAgICBtX2RvYy0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+dmFsaWRhdGVD
YWNoZWREb2N1bWVudFJlc291cmNlcyh0cnVlKTsKIH0KIAogdm9pZCBGcmFtZTo6aW5qZWN0VXNl
clNjcmlwdHMoVXNlclNjcmlwdEluamVjdGlvblRpbWUgaW5qZWN0aW9uVGltZSkKZGlmZiAtLWdp
dCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZGY1
Y2E0NmM5NThhYjg3NDAzYTE2N2ZkNDc1MjFjOTdmYTM5ZDRjYi4uN2EzMzU3NDBjMmEwZWJhYWZi
M2I4OGZkMTNiMGEzNTY3YTEwN2FlMiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wOS0xMCAg
WXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBCdWcgNDM3MDQgLSBXZWIgZm9udCBp
cyBwcmludGVkIGFzIGJsYW5rIGlmIGl0IGlzIG5vdCBjYWNoZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNzA0CisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfc2V0UHJpbnRpbmc6bWlu
aW11bVBhZ2VXaWR0aDpoZWlnaHQ6bWF4aW11bVBhZ2VXaWR0aDphZGp1c3RWaWV3U2l6ZTpwYWdp
bmF0ZVNjcmVlbkNvbnRlbnQ6XSk6CisKIDIwMTAtMDktMDkgIEpvaG4gVGhlcnJlbGwgIDxqdGhl
cnJlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFr
b3YuCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KaW5kZXggYmQ3MWVmZmFkYTUzMDViMjczNDhm
N2FkYTk2MmVhM2ZiNzlmM2Y2MC4uYzU1Mjc0YzBlNzgwNmZhODUyMzc4Y2M0NmE2ZTkxZDBhNjYw
MWJlZSAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCisrKyBi
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNzgsNiArNzgsNyBAQAogI2lt
cG9ydCA8V2ViQ29yZS9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9DYWNoZWRJbWFnZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9DYWNoZWRSZXNvdXJjZUNsaWVu
dC5oPgorI2ltcG9ydCA8V2ViQ29yZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oPgogI2ltcG9ydCA8
V2ViQ29yZS9Db2xvck1hYy5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db250ZXh0TWVudS5oPgogI2lt
cG9ydCA8V2ViQ29yZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaD4KQEAgLTM4ODAsOSArMzg4MSwx
MyBAQCBzdGF0aWMgQk9PTCBpc0luUGFzc3dvcmRGaWVsZChGcmFtZSogY29yZUZyYW1lKQogICAg
ICAgICBpZiAoRnJhbWVWaWV3KiBjb3JlVmlldyA9IGNvcmVGcmFtZS0+dmlldygpKQogICAgICAg
ICAgICAgY29yZVZpZXctPnNldE1lZGlhVHlwZShfcHJpdmF0ZS0+cHJpbnRpbmcgPyAicHJpbnQi
IDogInNjcmVlbiIpOwogICAgICAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gY29yZUZyYW1l
LT5kb2N1bWVudCgpKSB7CisgICAgICAgICAgICAvLyBJbiBzZXR0aW5nIHByaW50aW5nLCB3ZSBz
aG91bGQgbm90IHZhbGlkYXRlIHJlc291cmNlcyBhbHJlYWR5IGNhY2hlZCBmb3IgdGhlIGRvY3Vt
ZW50LgorICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MzcwNAorICAgICAgICAgICAgZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVy
KCktPnZhbGlkYXRlQ2FjaGVkRG9jdW1lbnRSZXNvdXJjZXMoZmFsc2UpOwogICAgICAgICAgICAg
ZG9jdW1lbnQtPnNldFBhZ2luYXRlZEZvclNjcmVlbihfcHJpdmF0ZS0+cGFnaW5hdGVTY3JlZW5D
b250ZW50KTsKICAgICAgICAgICAgIGRvY3VtZW50LT5zZXRQcmludGluZyhfcHJpdmF0ZS0+cHJp
bnRpbmcpOwogICAgICAgICAgICAgZG9jdW1lbnQtPnN0eWxlU2VsZWN0b3JDaGFuZ2VkKFJlY2Fs
Y1N0eWxlSW1tZWRpYXRlbHkpOworICAgICAgICAgICAgZG9jdW1lbnQtPmNhY2hlZFJlc291cmNl
TG9hZGVyKCktPnZhbGlkYXRlQ2FjaGVkRG9jdW1lbnRSZXNvdXJjZXModHJ1ZSk7CiAgICAgICAg
IH0KICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75661</attachid>
            <date>2010-12-06 03:06:39 -0800</date>
            <delta_ts>2010-12-06 18:14:55 -0800</delta_ts>
            <desc>Use RAII</desc>
            <filename>bug-43704-20101206030637.patch</filename>
            <type>text/plain</type>
            <size>6590</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjA4OGQ5YjQ1M2ZmZTFkOTgxYTQ3MWJlNWZlMDliYjA3OGRkMWEzOS4uNDE4YTViMjExZjVlZmI5
MzI0OTU4ZTljODMxMTNjMzBiNGYwNjFhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0xMi0wNiAgWXV6
byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBCdWcgNDM3MDQgLSBXZWIgZm9udCBpcyBw
cmludGVkIGFzIGJsYW5rIGlmIGl0IGlzIG5vdCBjYWNoZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNzA0CisKKyAgICAgICAgSW4gc2V0dGluZyBw
cmludGluZywgd2Ugc2hvdWxkIG5vdCB2YWxpZGF0ZSByZXNvdXJjZXMgYWxyZWFkeSBjYWNoZWQg
Zm9yIHRoZSBkb2N1bWVudC4KKyAgICAgICAgSWYgd2UgZG8sIHdlYiBmb250cyB1c2VkIGZvciBz
Y3JlZW4gYXJlIHJldmFsaWRhdGVkIGFuZCBwb3NzaWJ5IHJlbG9hZGVkLiBUaGVuIHRoZSBmb250
cyBjYW4gYmUgc2hvd24gYXMgYmxhbmsgb24gcHJpbnQuCisgICAgICAgIFRoaXMgcGF0Y2ggd29u
J3Qgc2F2ZSB0aGUgY2FzZSB3aGVyZSBzY3JlZW4gYW5kIHByaW50IHVzZSBkaWZmZXJlbnQgd2Vi
IGZvbnRzLiBOb25ldGhlbGVzcywgdGhpcyBpcyBhbiBpbXByb3ZlbWVudC4KKworICAgICAgICBO
byBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBzZWVtcyB0byBiZSBubyBnb29kIHdheSB0byB0ZXN0
IHByaW50IGltYWdlcy4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Q2FjaGVk
UmVzb3VyY2VMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6
OmNoZWNrRm9yUmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50UmVzb3VyY2VDYWNoZVZhbGlkYXRp
b25TdXBwcmVzc29yOjpEb2N1bWVudFJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3Nvcik6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJl
c3Nvcjo6fkRvY3VtZW50UmVzb3VyY2VDYWNoZVZhbGlkYXRpb25TdXBwcmVzc29yKToKKyAgICAg
ICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpzZXRQcmludGlu
Zyk6CisKIDIwMTAtMTItMDUgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQuIFJ1biBzb3J0LVhjb2RlLXByb2plY3QtZmlsZS4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCAxNWM1ZjAzZjZm
OWY5MmJkOTk1N2UwMGIzMDZjMjNiNjJkYzQyNTY4Li45NTc5Y2NiYzFjY2RhYjBhYWY0Yjk2NGE0
NGZhOTZhYzQ2YmVlYjg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCkBAIC01Nyw2ICs1Nyw3IEBAIENhY2hlZFJlc291cmNlTG9hZGVyOjpDYWNo
ZWRSZXNvdXJjZUxvYWRlcihEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgLCBtX2F1dG9Mb2FkSW1h
Z2VzKHRydWUpCiAgICAgLCBtX2xvYWRJblByb2dyZXNzKGZhbHNlKQogICAgICwgbV9hbGxvd1N0
YWxlUmVzb3VyY2VzKGZhbHNlKQorICAgICwgbV92YWxpZGF0ZUNhY2hlZERvY3VtZW50UmVzb3Vy
Y2VzKHRydWUpCiB7CiAgICAgbV9jYWNoZS0+YWRkQ2FjaGVkUmVzb3VyY2VMb2FkZXIodGhpcyk7
CiB9CkBAIC05Niw2ICs5Nyw5IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrRm9y
UmVsb2FkKGNvbnN0IEtVUkwmIGZ1bGxVUkwpCiAgICAgaWYgKCFleGlzdGluZyB8fCBleGlzdGlu
Zy0+aXNQcmVsb2FkZWQoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKCFtX3ZhbGlkYXRl
Q2FjaGVkRG9jdW1lbnRSZXNvdXJjZXMgJiYgbV9kb2N1bWVudFJlc291cmNlcy5maW5kKGZ1bGxV
Ukwuc3RyaW5nKCkpICE9IG1fZG9jdW1lbnRSZXNvdXJjZXMuZW5kKCkpCisgICAgICAgIHJldHVy
bjsKKwogICAgIHN3aXRjaCAoY2FjaGVQb2xpY3koKSkgewogICAgIGNhc2UgQ2FjaGVQb2xpY3lW
ZXJpZnk6CiAgICAgICAgIGlmICghZXhpc3RpbmctPm11c3RSZXZhbGlkYXRlKENhY2hlUG9saWN5
VmVyaWZ5KSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCmlu
ZGV4IGYzNzFhMGVlNGM5Y2UzMjU2ZmY4ZjU4NjFlMjJmNmI5ZmUzYzc5N2QuLjRkNDhjOTU2MDlj
M2QxZTExYjc4NThlZDE5ODhmOWM5OGMxYmYzNWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuaApAQCAtNTAsNiArNTAsNyBAQCBjbGFzcyBLVVJMOwogY2xh
c3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewogZnJpZW5kIGNs
YXNzIE1lbW9yeUNhY2hlOwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVyOworZnJpZW5kIGNsYXNz
IERvY3VtZW50UmVzb3VyY2VDYWNoZVZhbGlkYXRpb25TdXBwcmVzc29yOwogCiBwdWJsaWM6CiAg
ICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIoRG9jdW1lbnQqKTsKQEAgLTEyNCwxMiArMTI1LDI5IEBA
IHByaXZhdGU6CiAgICAgfTsKICAgICBWZWN0b3I8UGVuZGluZ1ByZWxvYWQ+IG1fcGVuZGluZ1By
ZWxvYWRzOwogICAgIAotICAgIC8vMjkgYml0cyBsZWZ0CisgICAgLy8gMjggYml0cyBsZWZ0CiAg
ICAgYm9vbCBtX2F1dG9Mb2FkSW1hZ2VzIDogMTsKICAgICBib29sIG1fbG9hZEluUHJvZ3Jlc3Mg
OiAxOwogICAgIGJvb2wgbV9hbGxvd1N0YWxlUmVzb3VyY2VzIDogMTsKKyAgICBib29sIG1fdmFs
aWRhdGVDYWNoZWREb2N1bWVudFJlc291cmNlcyA6IDE7CiB9OwogCi19CitjbGFzcyBEb2N1bWVu
dFJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3NvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitwdWJsaWM6CisgICAgRG9jdW1lbnRSZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3Io
Q2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWRlcikgOiBtX2xvYWRlcihsb2FkZXIpCisgICAgewor
ICAgICAgICBpZiAobV9sb2FkZXIpCisgICAgICAgICAgICBtX2xvYWRlci0+bV92YWxpZGF0ZUNh
Y2hlZERvY3VtZW50UmVzb3VyY2VzID0gZmFsc2U7CisgICAgfQorICAgIH5Eb2N1bWVudFJlc291
cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3NvcigpCisgICAgeworICAgICAgICBpZiAobV9sb2Fk
ZXIpCisgICAgICAgICAgICBtX2xvYWRlci0+bV92YWxpZGF0ZUNhY2hlZERvY3VtZW50UmVzb3Vy
Y2VzID0gdHJ1ZTsKKyAgICB9Citwcml2YXRlOgorICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBt
X2xvYWRlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRl
eCA4NTUyM2M2NGNlMWU1YWQyYTNiZDVmZmQyYzQxYTQ4MGE0MmY4NDQ5Li4yZjllNWQ4MDlhOGM4
MDlmYmJmNGRjNDQ3YzE3OGE4NDY3ODY3Yzc5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJh
bWUuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTQ4OCw2ICs0ODgsMTAgQEAg
U3RyaW5nIEZyYW1lOjptYXRjaExhYmVsc0FnYWluc3RFbGVtZW50KGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBsYWJlbHMsIEVsZW1lbnQqIGUKIAogdm9pZCBGcmFtZTo6c2V0UHJpbnRpbmcoYm9vbCBw
cmludGluZywgY29uc3QgRmxvYXRTaXplJiBwYWdlU2l6ZSwgZmxvYXQgbWF4aW11bVNocmlua1Jh
dGlvLCBBZGp1c3RWaWV3U2l6ZU9yTm90IHNob3VsZEFkanVzdFZpZXdTaXplKQogeworICAgIC8v
IEluIHNldHRpbmcgcHJpbnRpbmcsIHdlIHNob3VsZCBub3QgdmFsaWRhdGUgcmVzb3VyY2VzIGFs
cmVhZHkgY2FjaGVkIGZvciB0aGUgZG9jdW1lbnQuCisgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzcwNAorICAgIERvY3VtZW50UmVzb3VyY2VDYWNo
ZVZhbGlkYXRpb25TdXBwcmVzc29yIHZhbGlkYXRpb25TdXBwcmVzc29yKG1fZG9jLT5jYWNoZWRS
ZXNvdXJjZUxvYWRlcigpKTsKKwogICAgIG1fZG9jLT5zZXRQcmludGluZyhwcmludGluZyk7CiAg
ICAgdmlldygpLT5hZGp1c3RNZWRpYVR5cGVGb3JQcmludGluZyhwcmludGluZyk7CiAKZGlmZiAt
LWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXgg
ZmY4YmQ5MTZmNzU1YmFkNDcyNDA4M2IzYjgyMGRmMmU2NzAwMjU4YS4uMTc3N2IyYzUwZjY1OWU3
NGI3OWU1MWM0ZjVkNzY2MjFkZTdlMWZkOSAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0xMi0w
NiAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBCdWcgNDM3MDQgLSBXZWIgZm9u
dCBpcyBwcmludGVkIGFzIGJsYW5rIGlmIGl0IGlzIG5vdCBjYWNoZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNzA0CisKKyAgICAgICAgKiBXZWJW
aWV3L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfc2V0UHJpbnRpbmc6
bWluaW11bVBhZ2VXaWR0aDpoZWlnaHQ6bWF4aW11bVBhZ2VXaWR0aDphZGp1c3RWaWV3U2l6ZTpw
YWdpbmF0ZVNjcmVlbkNvbnRlbnQ6XSk6CisKIDIwMTAtMTItMDQgIERhbiBCZXJuc3RlaW4gIDxt
aXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tIGIvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4IGVlNDc4YmMzY2U3ZjQwYjMxOTYxMTc2YjUxZTI2NDUw
YTZlZWRlNTYuLjI5MGUxYjI4MzViNGZmYjFiZTlmMTMwNDBjMTQ2NTUyYjE4MGJmOTMgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KQEAgLTc4LDYgKzc4LDcgQEAKICNpbXBvcnQgPFdlYkNv
cmUvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvQ2FjaGVk
SW1hZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaD4KKyNpbXBv
cnQgPFdlYkNvcmUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29s
b3JNYWMuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29udGV4dE1lbnUuaD4KICNpbXBvcnQgPFdlYkNv
cmUvQ29udGV4dE1lbnVDb250cm9sbGVyLmg+CkBAIC0zOTI1LDYgKzM5MjYsMTAgQEAgc3RhdGlj
IEJPT0wgaXNJblBhc3N3b3JkRmllbGQoRnJhbWUqIGNvcmVGcmFtZSkKICAgICAgICAgaWYgKEZy
YW1lVmlldyogY29yZVZpZXcgPSBjb3JlRnJhbWUtPnZpZXcoKSkKICAgICAgICAgICAgIGNvcmVW
aWV3LT5zZXRNZWRpYVR5cGUoX3ByaXZhdGUtPnByaW50aW5nID8gInByaW50IiA6ICJzY3JlZW4i
KTsKICAgICAgICAgaWYgKERvY3VtZW50KiBkb2N1bWVudCA9IGNvcmVGcmFtZS0+ZG9jdW1lbnQo
KSkgeworICAgICAgICAgICAgLy8gSW4gc2V0dGluZyBwcmludGluZywgd2Ugc2hvdWxkIG5vdCB2
YWxpZGF0ZSByZXNvdXJjZXMgYWxyZWFkeSBjYWNoZWQgZm9yIHRoZSBkb2N1bWVudC4KKyAgICAg
ICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM3
MDQKKyAgICAgICAgICAgIERvY3VtZW50UmVzb3VyY2VDYWNoZVZhbGlkYXRpb25TdXBwcmVzc29y
IHZhbGlkYXRpb25TdXBwcmVzc29yKGRvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpKTsK
KwogICAgICAgICAgICAgZG9jdW1lbnQtPnNldFBhZ2luYXRlZEZvclNjcmVlbihfcHJpdmF0ZS0+
cGFnaW5hdGVTY3JlZW5Db250ZW50KTsKICAgICAgICAgICAgIGRvY3VtZW50LT5zZXRQcmludGlu
ZyhfcHJpdmF0ZS0+cHJpbnRpbmcpOwogICAgICAgICAgICAgZG9jdW1lbnQtPnN0eWxlU2VsZWN0
b3JDaGFuZ2VkKFJlY2FsY1N0eWxlSW1tZWRpYXRlbHkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75770</attachid>
            <date>2010-12-06 18:15:02 -0800</date>
            <delta_ts>2011-01-05 20:11:45 -0800</delta_ts>
            <desc>Renamed the cache validation suppression bit</desc>
            <filename>bug-43704-20101206181500.patch</filename>
            <type>text/plain</type>
            <size>6784</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjA4OGQ5YjQ1M2ZmZTFkOTgxYTQ3MWJlNWZlMDliYjA3OGRkMWEzOS4uNDE4YTViMjExZjVlZmI5
MzI0OTU4ZTljODMxMTNjMzBiNGYwNjFhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0xMi0wNiAgWXV6
byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBCdWcgNDM3MDQgLSBXZWIgZm9udCBpcyBw
cmludGVkIGFzIGJsYW5rIGlmIGl0IGlzIG5vdCBjYWNoZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNzA0CisKKyAgICAgICAgSW4gc2V0dGluZyBw
cmludGluZywgd2Ugc2hvdWxkIG5vdCB2YWxpZGF0ZSByZXNvdXJjZXMgYWxyZWFkeSBjYWNoZWQg
Zm9yIHRoZSBkb2N1bWVudC4KKyAgICAgICAgSWYgd2UgZG8sIHdlYiBmb250cyB1c2VkIGZvciBz
Y3JlZW4gYXJlIHJldmFsaWRhdGVkIGFuZCBwb3NzaWJ5IHJlbG9hZGVkLiBUaGVuIHRoZSBmb250
cyBjYW4gYmUgc2hvd24gYXMgYmxhbmsgb24gcHJpbnQuCisgICAgICAgIFRoaXMgcGF0Y2ggd29u
J3Qgc2F2ZSB0aGUgY2FzZSB3aGVyZSBzY3JlZW4gYW5kIHByaW50IHVzZSBkaWZmZXJlbnQgd2Vi
IGZvbnRzLiBOb25ldGhlbGVzcywgdGhpcyBpcyBhbiBpbXByb3ZlbWVudC4KKworICAgICAgICBO
byBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBzZWVtcyB0byBiZSBubyBnb29kIHdheSB0byB0ZXN0
IHByaW50IGltYWdlcy4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Q2FjaGVk
UmVzb3VyY2VMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6
OmNoZWNrRm9yUmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50UmVzb3VyY2VDYWNoZVZhbGlkYXRp
b25TdXBwcmVzc29yOjpEb2N1bWVudFJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3Nvcik6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJl
c3Nvcjo6fkRvY3VtZW50UmVzb3VyY2VDYWNoZVZhbGlkYXRpb25TdXBwcmVzc29yKToKKyAgICAg
ICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpzZXRQcmludGlu
Zyk6CisKIDIwMTAtMTItMDUgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQuIFJ1biBzb3J0LVhjb2RlLXByb2plY3QtZmlsZS4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCAxNWM1ZjAzZjZm
OWY5MmJkOTk1N2UwMGIzMDZjMjNiNjJkYzQyNTY4Li43Y2FjYmIyYzk5MGE4MzFiMWQ3NTdhYjNi
NWZlOWQ1Nzg0YTgwMjE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCkBAIC01Nyw2ICs1Nyw3IEBAIENhY2hlZFJlc291cmNlTG9hZGVyOjpDYWNo
ZWRSZXNvdXJjZUxvYWRlcihEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgLCBtX2F1dG9Mb2FkSW1h
Z2VzKHRydWUpCiAgICAgLCBtX2xvYWRJblByb2dyZXNzKGZhbHNlKQogICAgICwgbV9hbGxvd1N0
YWxlUmVzb3VyY2VzKGZhbHNlKQorICAgICwgbV9hbGxvd1N0YWxlUmVzb3VyY2VzV2l0aGluRG9j
dW1lbnQoZmFsc2UpCiB7CiAgICAgbV9jYWNoZS0+YWRkQ2FjaGVkUmVzb3VyY2VMb2FkZXIodGhp
cyk7CiB9CkBAIC05Niw2ICs5Nyw5IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNr
Rm9yUmVsb2FkKGNvbnN0IEtVUkwmIGZ1bGxVUkwpCiAgICAgaWYgKCFleGlzdGluZyB8fCBleGlz
dGluZy0+aXNQcmVsb2FkZWQoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKG1fYWxsb3dT
dGFsZVJlc291cmNlc1dpdGhpbkRvY3VtZW50ICYmIG1fZG9jdW1lbnRSZXNvdXJjZXMuZmluZChm
dWxsVVJMLnN0cmluZygpKSAhPSBtX2RvY3VtZW50UmVzb3VyY2VzLmVuZCgpKQorICAgICAgICBy
ZXR1cm47CisKICAgICBzd2l0Y2ggKGNhY2hlUG9saWN5KCkpIHsKICAgICBjYXNlIENhY2hlUG9s
aWN5VmVyaWZ5OgogICAgICAgICBpZiAoIWV4aXN0aW5nLT5tdXN0UmV2YWxpZGF0ZShDYWNoZVBv
bGljeVZlcmlmeSkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
aAppbmRleCBmMzcxYTBlZTRjOWNlMzI1NmZmOGY1ODYxZTIyZjZiOWZlM2M3OTdkLi42YzkyZmJm
MGM1OTZiOGUxMGUyODdlZWYxZjU5ZjBkMTU1MGU1ODgwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgS1VSTDsK
IGNsYXNzIENhY2hlZFJlc291cmNlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIGZyaWVu
ZCBjbGFzcyBNZW1vcnlDYWNoZTsKIGZyaWVuZCBjbGFzcyBJbWFnZUxvYWRlcjsKK2ZyaWVuZCBj
bGFzcyBEb2N1bWVudFJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3NvcjsKIAogcHVibGlj
OgogICAgIENhY2hlZFJlc291cmNlTG9hZGVyKERvY3VtZW50Kik7CkBAIC0xMjQsMTIgKzEyNSwy
OSBAQCBwcml2YXRlOgogICAgIH07CiAgICAgVmVjdG9yPFBlbmRpbmdQcmVsb2FkPiBtX3BlbmRp
bmdQcmVsb2FkczsKICAgICAKLSAgICAvLzI5IGJpdHMgbGVmdAorICAgIC8vIDI4IGJpdHMgbGVm
dAogICAgIGJvb2wgbV9hdXRvTG9hZEltYWdlcyA6IDE7CiAgICAgYm9vbCBtX2xvYWRJblByb2dy
ZXNzIDogMTsKLSAgICBib29sIG1fYWxsb3dTdGFsZVJlc291cmNlcyA6IDE7CisgICAgYm9vbCBt
X2FsbG93U3RhbGVSZXNvdXJjZXMgOiAxOyAvLyBBbGxvdyBzdGFsZSByZXNvdXJjZXMgYWNyb3Nz
IGRvY3VtZW50cyAoYW5kIGFsc28gd2l0aGluIHRoZSBkb2N1bWVudCkuCisgICAgYm9vbCBtX2Fs
bG93U3RhbGVSZXNvdXJjZXNXaXRoaW5Eb2N1bWVudCA6IDE7IC8vIEFsbG93IHN0YWxlIHJlc291
cmNlcyB3aXRoaW4gdGhlIGRvY3VtZW50IChidXQgbm90IGFjcm9zcyBkb2N1bWVudHMpLgogfTsK
IAotfQorY2xhc3MgRG9jdW1lbnRSZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3IgOiBw
dWJsaWMgTm9uY29weWFibGUgeworcHVibGljOgorICAgIERvY3VtZW50UmVzb3VyY2VDYWNoZVZh
bGlkYXRpb25TdXBwcmVzc29yKENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIpIDogbV9sb2Fk
ZXIobG9hZGVyKQorICAgIHsKKyAgICAgICAgaWYgKG1fbG9hZGVyKQorICAgICAgICAgICAgbV9s
b2FkZXItPm1fYWxsb3dTdGFsZVJlc291cmNlc1dpdGhpbkRvY3VtZW50ID0gdHJ1ZTsKKyAgICB9
CisgICAgfkRvY3VtZW50UmVzb3VyY2VDYWNoZVZhbGlkYXRpb25TdXBwcmVzc29yKCkKKyAgICB7
CisgICAgICAgIGlmIChtX2xvYWRlcikKKyAgICAgICAgICAgIG1fbG9hZGVyLT5tX2FsbG93U3Rh
bGVSZXNvdXJjZXNXaXRoaW5Eb2N1bWVudCA9IGZhbHNlOworICAgIH0KK3ByaXZhdGU6CisgICAg
Q2FjaGVkUmVzb3VyY2VMb2FkZXIqIG1fbG9hZGVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9XZWJD
b3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IDg1NTIzYzY0Y2UxZTVhZDJhM2JkNWZmZDJjNDFhNDgw
YTQyZjg0NDkuLjJmOWU1ZDgwOWE4YzgwOWZiYmY0ZGM0NDdjMTc4YTg0Njc4NjdjNzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lLmNw
cApAQCAtNDg4LDYgKzQ4OCwxMCBAQCBTdHJpbmcgRnJhbWU6Om1hdGNoTGFiZWxzQWdhaW5zdEVs
ZW1lbnQoY29uc3QgVmVjdG9yPFN0cmluZz4mIGxhYmVscywgRWxlbWVudCogZQogCiB2b2lkIEZy
YW1lOjpzZXRQcmludGluZyhib29sIHByaW50aW5nLCBjb25zdCBGbG9hdFNpemUmIHBhZ2VTaXpl
LCBmbG9hdCBtYXhpbXVtU2hyaW5rUmF0aW8sIEFkanVzdFZpZXdTaXplT3JOb3Qgc2hvdWxkQWRq
dXN0Vmlld1NpemUpCiB7CisgICAgLy8gSW4gc2V0dGluZyBwcmludGluZywgd2Ugc2hvdWxkIG5v
dCB2YWxpZGF0ZSByZXNvdXJjZXMgYWxyZWFkeSBjYWNoZWQgZm9yIHRoZSBkb2N1bWVudC4KKyAg
ICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNzA0Cisg
ICAgRG9jdW1lbnRSZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3IgdmFsaWRhdGlvblN1
cHByZXNzb3IobV9kb2MtPmNhY2hlZFJlc291cmNlTG9hZGVyKCkpOworCiAgICAgbV9kb2MtPnNl
dFByaW50aW5nKHByaW50aW5nKTsKICAgICB2aWV3KCktPmFkanVzdE1lZGlhVHlwZUZvclByaW50
aW5nKHByaW50aW5nKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCBmZjhiZDkxNmY3NTViYWQ0NzI0MDgzYjNiODIwZGYyZTY3
MDAyNThhLi4xNzc3YjJjNTBmNjU5ZTc0Yjc5ZTUxYzRmNWQ3NjYyMWRlN2UxZmQ5IDEwMDY0NAot
LS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDEwLTEyLTA2ICBZdXpvIEZ1amlzaGltYSAgPHl1em9AZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXgg
Zm9yIEJ1ZyA0MzcwNCAtIFdlYiBmb250IGlzIHByaW50ZWQgYXMgYmxhbmsgaWYgaXQgaXMgbm90
IGNhY2hlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDM3MDQKKworICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgtW1dl
YkhUTUxWaWV3IF9zZXRQcmludGluZzptaW5pbXVtUGFnZVdpZHRoOmhlaWdodDptYXhpbXVtUGFn
ZVdpZHRoOmFkanVzdFZpZXdTaXplOnBhZ2luYXRlU2NyZWVuQ29udGVudDpdKToKKwogMjAxMC0x
Mi0wNCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFNhbSBXZWluaWcuCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZp
ZXcubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KaW5kZXggZWU0NzhiYzNj
ZTdmNDBiMzE5NjExNzZiNTFlMjY0NTBhNmVlZGU1Ni4uMjkwZTFiMjgzNWI0ZmZiMWJlOWYxMzA0
MGMxNDY1NTJiMTgwYmY5MyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNzgsNiAr
NzgsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oPgog
I2ltcG9ydCA8V2ViQ29yZS9DYWNoZWRJbWFnZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9DYWNoZWRS
ZXNvdXJjZUNsaWVudC5oPgorI2ltcG9ydCA8V2ViQ29yZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5o
PgogI2ltcG9ydCA8V2ViQ29yZS9Db2xvck1hYy5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db250ZXh0
TWVudS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaD4KQEAgLTM5
MjUsNiArMzkyNiwxMCBAQCBzdGF0aWMgQk9PTCBpc0luUGFzc3dvcmRGaWVsZChGcmFtZSogY29y
ZUZyYW1lKQogICAgICAgICBpZiAoRnJhbWVWaWV3KiBjb3JlVmlldyA9IGNvcmVGcmFtZS0+dmll
dygpKQogICAgICAgICAgICAgY29yZVZpZXctPnNldE1lZGlhVHlwZShfcHJpdmF0ZS0+cHJpbnRp
bmcgPyAicHJpbnQiIDogInNjcmVlbiIpOwogICAgICAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50
ID0gY29yZUZyYW1lLT5kb2N1bWVudCgpKSB7CisgICAgICAgICAgICAvLyBJbiBzZXR0aW5nIHBy
aW50aW5nLCB3ZSBzaG91bGQgbm90IHZhbGlkYXRlIHJlc291cmNlcyBhbHJlYWR5IGNhY2hlZCBm
b3IgdGhlIGRvY3VtZW50LgorICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MzcwNAorICAgICAgICAgICAgRG9jdW1lbnRSZXNvdXJjZUNh
Y2hlVmFsaWRhdGlvblN1cHByZXNzb3IgdmFsaWRhdGlvblN1cHByZXNzb3IoZG9jdW1lbnQtPmNh
Y2hlZFJlc291cmNlTG9hZGVyKCkpOworCiAgICAgICAgICAgICBkb2N1bWVudC0+c2V0UGFnaW5h
dGVkRm9yU2NyZWVuKF9wcml2YXRlLT5wYWdpbmF0ZVNjcmVlbkNvbnRlbnQpOwogICAgICAgICAg
ICAgZG9jdW1lbnQtPnNldFByaW50aW5nKF9wcml2YXRlLT5wcmludGluZyk7CiAgICAgICAgICAg
ICBkb2N1bWVudC0+c3R5bGVTZWxlY3RvckNoYW5nZWQoUmVjYWxjU3R5bGVJbW1lZGlhdGVseSk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78091</attachid>
            <date>2011-01-05 20:11:52 -0800</date>
            <delta_ts>2011-01-06 18:31:49 -0800</delta_ts>
            <desc>Use only m_allowStaleResources</desc>
            <filename>bug-43704-20110105201150.patch</filename>
            <type>text/plain</type>
            <size>8696</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzdjYmFjNDQyZDI2YzM3MGE2OTg2MGI0ZDA3ZjdkNTRmOTRjYzQwZS4uMzU3YzI1OWUwNjJhYzYy
MTIxODk2NTVkYTc5YzM5NWU3YjA3OWZjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMS0wMS0wNSAgWXV6
byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBCdWcgNDM3MDQgLSBXZWIgZm9udCBpcyBw
cmludGVkIGFzIGJsYW5rIGlmIGl0IGlzIG5vdCBjYWNoZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNzA0CisKKyAgICAgICAgSW4gc2V0dGluZyBw
cmludGluZywgd2Ugc2hvdWxkIG5vdCB2YWxpZGF0ZSByZXNvdXJjZXMgYWxyZWFkeSBjYWNoZWQK
KyAgICAgICAgZm9yIHRoZSBkb2N1bWVudC4gSWYgd2UgZG8sIHdlYiBmb250cyB1c2VkIGZvciBz
Y3JlZW4gYXJlIHJldmFsaWRhdGVkCisgICAgICAgIGFuZCBwb3NzaWJ5IHJlbG9hZGVkLiBUaGVu
IHRoZSBmb250cyBjYW4gYmUgc2hvd24gYXMgYmxhbmsgb24gcHJpbnQuCisgICAgICAgIFRoaXMg
cGF0Y2ggd29uJ3Qgc2F2ZSB0aGUgY2FzZSB3aGVyZSBzY3JlZW4gYW5kIHByaW50IHVzZSBkaWZm
ZXJlbnQgd2ViCisgICAgICAgIGZvbnRzLiBOb25ldGhlbGVzcywgdGhpcyBpcyBhbiBpbXByb3Zl
bWVudC4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBzZWVtcyB0byBiZSBu
byBnb29kIHdheSB0byB0ZXN0IHByaW50IGltYWdlcy4KKworICAgICAgICAqIGVkaXRpbmcvRWRp
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cGFzdGUpOiBVc2UgUmVzb3VyY2VD
YWNoZVZhbGlkYXRpb25TdXBwcmVzc29yIGluc3RlYWQgb2YgZXhwbGljaXRseSBhbGxvd2luZy9k
aXNhbGxvd2luZyBzdGFsZSByZXNvdXJjZXMuCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUNhY2hlVmFsaWRh
dGlvblN1cHByZXNzb3I6OlJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3Nvcik6IFJBSUkg
Y2xhc3MgZm9yIGFsbG93aW5nL2Rpc2FsbG93aW5nIHN0YWxlIHJlc291cmNlcy4KKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3Nvcjo6flJlc291cmNlQ2Fj
aGVWYWxpZGF0aW9uU3VwcHJlc3Nvcik6CisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6Y29uY2x1ZGVFZGl0RHJhZyk6
IFVzZSBSZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3IgaW5zdGVhZCBvZiBleHBsaWNp
dGx5IGFsbG93aW5nL2Rpc2FsbG93aW5nIHN0YWxlIHJlc291cmNlcy4KKyAgICAgICAgKiBwYWdl
L0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpzZXRQcmludGluZyk6IFVzZSBS
ZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3IgdG8gYWxsb3cgc3RhbGUgcmVzb3VyY2Vz
IGluIHByaW50aW5nLgorCiAyMDExLTAxLTA1ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
Y3BwCmluZGV4IDQ0MzNiNDVkZDRkYjNjYzY2NzE2NmQwOGM5MmNkOWMwZDUwZmE2NWUuLjQ3YzI0
ZjdkOTg5MDkyNzk5NmY4YjMwYTBkYzdiYjZhMzBhODQxOWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0x
MjkwLDEyICsxMjkwLDExIEBAIHZvaWQgRWRpdG9yOjpwYXN0ZSgpCiAgICAgcmVtb3ZlU3BlbGxB
bmRDb3JyZWN0aW9uTWFya2Vyc0Zyb21Xb3Jkc1RvQmVFZGl0ZWQoZmFsc2UpOwogI2VuZGlmCiAg
ICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWRlciA9IG1fZnJhbWUtPmRvY3VtZW50KCktPmNh
Y2hlZFJlc291cmNlTG9hZGVyKCk7Ci0gICAgbG9hZGVyLT5zZXRBbGxvd1N0YWxlUmVzb3VyY2Vz
KHRydWUpOworICAgIFJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3NvciB2YWxpZGF0aW9u
U3VwcHJlc3Nvcihsb2FkZXIpOwogICAgIGlmIChtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+aXNDb250
ZW50UmljaGx5RWRpdGFibGUoKSkKICAgICAgICAgcGFzdGVXaXRoUGFzdGVib2FyZChQYXN0ZWJv
YXJkOjpnZW5lcmFsUGFzdGVib2FyZCgpLCB0cnVlKTsKICAgICBlbHNlCiAgICAgICAgIHBhc3Rl
QXNQbGFpblRleHRXaXRoUGFzdGVib2FyZChQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZCgp
KTsKLSAgICBsb2FkZXItPnNldEFsbG93U3RhbGVSZXNvdXJjZXMoZmFsc2UpOwogfQogCiB2b2lk
IEVkaXRvcjo6cGFzdGVBc1BsYWluVGV4dCgpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuaAppbmRleCAyYjkwNjExZmJmOGI5NmZmOTMwNjI2ZjA4Y2Q1NjUwOTkx
ZDI0NDVjLi5jNjBjNTQwMzNhNTIyM2QyYjhkYjIwZGYzNjU0NmNmNmYwNTlmZTQ0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTUyLDYgKzUyLDcg
QEAgY2xhc3MgS1VSTDsKIGNsYXNzIENhY2hlZFJlc291cmNlTG9hZGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKIGZyaWVuZCBjbGFzcyBJbWFnZUxv
YWRlcjsKK2ZyaWVuZCBjbGFzcyBSZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3I7CiAK
IHB1YmxpYzoKICAgICBDYWNoZWRSZXNvdXJjZUxvYWRlcihEb2N1bWVudCopOwpAQCAtOTQsOCAr
OTUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2FkRG9uZShDYWNoZWRSZXNvdXJjZVJlcXVlc3Qq
KTsKICAgICB2b2lkIGNhbmNlbFJlcXVlc3RzKCk7CiAgICAgCi0gICAgdm9pZCBzZXRBbGxvd1N0
YWxlUmVzb3VyY2VzKGJvb2wgYWxsb3dTdGFsZVJlc291cmNlcykgeyBtX2FsbG93U3RhbGVSZXNv
dXJjZXMgPSBhbGxvd1N0YWxlUmVzb3VyY2VzOyB9Ci0KICAgICB2b2lkIGluY3JlbWVudFJlcXVl
c3RDb3VudChjb25zdCBDYWNoZWRSZXNvdXJjZSopOwogICAgIHZvaWQgZGVjcmVtZW50UmVxdWVz
dENvdW50KGNvbnN0IENhY2hlZFJlc291cmNlKik7CiAgICAgaW50IHJlcXVlc3RDb3VudCgpOwpA
QCAtMTQyLDYgKzE0MSwyMiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9hbGxvd1N0YWxlUmVzb3Vy
Y2VzIDogMTsKIH07CiAKLX0KK2NsYXNzIFJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3Nv
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitwdWJsaWM6CisgICAgUmVzb3VyY2VDYWNoZVZhbGlk
YXRpb25TdXBwcmVzc29yKENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIpIDogbV9sb2FkZXIo
bG9hZGVyKQorICAgIHsKKyAgICAgICAgaWYgKG1fbG9hZGVyKQorICAgICAgICAgICAgbV9sb2Fk
ZXItPm1fYWxsb3dTdGFsZVJlc291cmNlcyA9IHRydWU7CisgICAgfQorICAgIH5SZXNvdXJjZUNh
Y2hlVmFsaWRhdGlvblN1cHByZXNzb3IoKQorICAgIHsKKyAgICAgICAgaWYgKG1fbG9hZGVyKQor
ICAgICAgICAgICAgbV9sb2FkZXItPm1fYWxsb3dTdGFsZVJlc291cmNlcyA9IGZhbHNlOworICAg
IH0KK3ByaXZhdGU6CisgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIG1fbG9hZGVyOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9EcmFnQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCmlu
ZGV4IDhlZTVhOGRkMTgyNDI0ZWM0MDk1YTEyMWI2ZjAwNmI4MTYzYzhlNmUuLjViNDEwOGRlNDNm
MmE4MDZkOGZlMDMxZTY3MWEyNzc3OWE4N2E4ODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9E
cmFnQ29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcApA
QCAtNDQ4LDEyICs0NDgsMTEgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6Y29uY2x1ZGVFZGl0RHJh
ZyhEcmFnRGF0YSogZHJhZ0RhdGEpCiAgICAgaWYgKCFyYW5nZSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciA9IHJh
bmdlLT5vd25lckRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCk7Ci0gICAgY2FjaGVk
UmVzb3VyY2VMb2FkZXItPnNldEFsbG93U3RhbGVSZXNvdXJjZXModHJ1ZSk7CisgICAgUmVzb3Vy
Y2VDYWNoZVZhbGlkYXRpb25TdXBwcmVzc29yIHZhbGlkYXRpb25TdXBwcmVzc29yKGNhY2hlZFJl
c291cmNlTG9hZGVyKTsKICAgICBpZiAoZHJhZ0lzTW92ZShpbm5lckZyYW1lLT5zZWxlY3Rpb24o
KSkgfHwgZHJhZ0NhcmV0LmlzQ29udGVudFJpY2hseUVkaXRhYmxlKCkpIHsKICAgICAgICAgYm9v
bCBjaG9zZVBsYWluVGV4dCA9IGZhbHNlOwogICAgICAgICBSZWZQdHI8RG9jdW1lbnRGcmFnbWVu
dD4gZnJhZ21lbnQgPSBkb2N1bWVudEZyYWdtZW50RnJvbURyYWdEYXRhKGRyYWdEYXRhLCByYW5n
ZSwgdHJ1ZSwgY2hvc2VQbGFpblRleHQpOwogICAgICAgICBpZiAoIWZyYWdtZW50IHx8ICFpbm5l
ckZyYW1lLT5lZGl0b3IoKS0+c2hvdWxkSW5zZXJ0RnJhZ21lbnQoZnJhZ21lbnQsIHJhbmdlLCBF
ZGl0b3JJbnNlcnRBY3Rpb25Ecm9wcGVkKSkgewotICAgICAgICAgICAgY2FjaGVkUmVzb3VyY2VM
b2FkZXItPnNldEFsbG93U3RhbGVSZXNvdXJjZXMoZmFsc2UpOwogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICB9CiAKQEAgLTQ3MSw3ICs0NzAsNiBAQCBib29sIERyYWdDb250cm9s
bGVyOjpjb25jbHVkZUVkaXREcmFnKERyYWdEYXRhKiBkcmFnRGF0YSkKICAgICB9IGVsc2Ugewog
ICAgICAgICBTdHJpbmcgdGV4dCA9IGRyYWdEYXRhLT5hc1BsYWluVGV4dCgpOwogICAgICAgICBp
ZiAodGV4dC5pc0VtcHR5KCkgfHwgIWlubmVyRnJhbWUtPmVkaXRvcigpLT5zaG91bGRJbnNlcnRU
ZXh0KHRleHQsIHJhbmdlLmdldCgpLCBFZGl0b3JJbnNlcnRBY3Rpb25Ecm9wcGVkKSkgewotICAg
ICAgICAgICAgY2FjaGVkUmVzb3VyY2VMb2FkZXItPnNldEFsbG93U3RhbGVSZXNvdXJjZXMoZmFs
c2UpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKQEAgLTQ3OSw3ICs0
NzcsNiBAQCBib29sIERyYWdDb250cm9sbGVyOjpjb25jbHVkZUVkaXREcmFnKERyYWdEYXRhKiBk
cmFnRGF0YSkKICAgICAgICAgaWYgKHNldFNlbGVjdGlvblRvRHJhZ0NhcmV0KGlubmVyRnJhbWUs
IGRyYWdDYXJldCwgcmFuZ2UsIHBvaW50KSkKICAgICAgICAgICAgIGFwcGx5Q29tbWFuZChSZXBs
YWNlU2VsZWN0aW9uQ29tbWFuZDo6Y3JlYXRlKG1fZG9jdW1lbnRVbmRlck1vdXNlLmdldCgpLCBj
cmVhdGVGcmFnbWVudEZyb21UZXh0KHJhbmdlLmdldCgpLCB0ZXh0KSwgdHJ1ZSwgZmFsc2UsIHRy
dWUpKTsKICAgICB9Ci0gICAgY2FjaGVkUmVzb3VyY2VMb2FkZXItPnNldEFsbG93U3RhbGVSZXNv
dXJjZXMoZmFsc2UpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvRnJhbWUuY3BwIGIvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCA4NTUyM2M2NGNl
MWU1YWQyYTNiZDVmZmQyYzQxYTQ4MGE0MmY4NDQ5Li5jYzQwYjM3M2RjODRiZWRkM2Q4NmI5YjM3
ODI5MDlhNzc4MDM3NWJkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBi
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTQ4OCw2ICs0ODgsMTAgQEAgU3RyaW5nIEZyYW1l
OjptYXRjaExhYmVsc0FnYWluc3RFbGVtZW50KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYWJlbHMs
IEVsZW1lbnQqIGUKIAogdm9pZCBGcmFtZTo6c2V0UHJpbnRpbmcoYm9vbCBwcmludGluZywgY29u
c3QgRmxvYXRTaXplJiBwYWdlU2l6ZSwgZmxvYXQgbWF4aW11bVNocmlua1JhdGlvLCBBZGp1c3RW
aWV3U2l6ZU9yTm90IHNob3VsZEFkanVzdFZpZXdTaXplKQogeworICAgIC8vIEluIHNldHRpbmcg
cHJpbnRpbmcsIHdlIHNob3VsZCBub3QgdmFsaWRhdGUgcmVzb3VyY2VzIGFscmVhZHkgY2FjaGVk
IGZvciB0aGUgZG9jdW1lbnQuCisgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00MzcwNAorICAgIFJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3Nv
ciB2YWxpZGF0aW9uU3VwcHJlc3NvcihtX2RvYy0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKSk7CisK
ICAgICBtX2RvYy0+c2V0UHJpbnRpbmcocHJpbnRpbmcpOwogICAgIHZpZXcoKS0+YWRqdXN0TWVk
aWFUeXBlRm9yUHJpbnRpbmcocHJpbnRpbmcpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0No
YW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDViMjEyYWExYWY1ZmEzOTVkYjQ5
OWQ0ZmJkZDczNWE1ZmU2YTdhNmQuLjRjNDg3MTUxMmIxNTJkMTdjZWRmNzk4OTFiYWZmNGU4YTI2
MzRiNjcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDEtMDUgIFl1em8gRnVqaXNoaW1hICA8
eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEZpeCBmb3IgQnVnIDQzNzA0IC0gV2ViIGZvbnQgaXMgcHJpbnRlZCBhcyBibGFu
ayBpZiBpdCBpcyBub3QgY2FjaGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00MzcwNAorCisgICAgICAgICogV2ViVmlldy9XZWJIVE1MVmlldy5tbToK
KyAgICAgICAgKC1bV2ViSFRNTFZpZXcgX3NldFByaW50aW5nOm1pbmltdW1QYWdlV2lkdGg6aGVp
Z2h0Om1heGltdW1QYWdlV2lkdGg6YWRqdXN0Vmlld1NpemU6cGFnaW5hdGVTY3JlZW5Db250ZW50
Ol0pOiBVc2UgUmVzb3VyY2VDYWNoZVZhbGlkYXRpb25TdXBwcmVzc29yIHRvIGFsbG93IHN0YWxl
IHJlc291cmNlcyBpbiBwcmludGluZy4KKwogMjAxMS0wMS0wNCAgQ2hyaXMgRmxlaXphY2ggIDxj
ZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCmRp
ZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KaW5kZXggMDkzZjNkYjUwNDEwNzU0MDQ4YTQ4ODkxOWMw
NmI2YjdjODEyNDBmNy4uNTY1YmI5NWQxMGMyY2I3MjA1N2I5YWZjZGI5MWVhNWQ4MGU0MDgyZiAx
MDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCisrKyBiL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNzgsNiArNzgsNyBAQAogI2ltcG9ydCA8
V2ViQ29yZS9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9D
YWNoZWRJbWFnZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oPgor
I2ltcG9ydCA8V2ViQ29yZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9Db2xvck1hYy5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db250ZXh0TWVudS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaD4KQEAgLTM5OTksNiArNDAwMCwxMCBAQCBz
dGF0aWMgQk9PTCBpc0luUGFzc3dvcmRGaWVsZChGcmFtZSogY29yZUZyYW1lKQogICAgICAgICBp
ZiAoRnJhbWVWaWV3KiBjb3JlVmlldyA9IGNvcmVGcmFtZS0+dmlldygpKQogICAgICAgICAgICAg
Y29yZVZpZXctPnNldE1lZGlhVHlwZShfcHJpdmF0ZS0+cHJpbnRpbmcgPyAicHJpbnQiIDogInNj
cmVlbiIpOwogICAgICAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gY29yZUZyYW1lLT5kb2N1
bWVudCgpKSB7CisgICAgICAgICAgICAvLyBJbiBzZXR0aW5nIHByaW50aW5nLCB3ZSBzaG91bGQg
bm90IHZhbGlkYXRlIHJlc291cmNlcyBhbHJlYWR5IGNhY2hlZCBmb3IgdGhlIGRvY3VtZW50Lgor
ICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MzcwNAorICAgICAgICAgICAgUmVzb3VyY2VDYWNoZVZhbGlkYXRpb25TdXBwcmVzc29yIHZh
bGlkYXRpb25TdXBwcmVzc29yKGRvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpKTsKKwog
ICAgICAgICAgICAgZG9jdW1lbnQtPnNldFBhZ2luYXRlZEZvclNjcmVlbihfcHJpdmF0ZS0+cGFn
aW5hdGVTY3JlZW5Db250ZW50KTsKICAgICAgICAgICAgIGRvY3VtZW50LT5zZXRQcmludGluZyhf
cHJpdmF0ZS0+cHJpbnRpbmcpOwogICAgICAgICAgICAgZG9jdW1lbnQtPnN0eWxlU2VsZWN0b3JD
aGFuZ2VkKFJlY2FsY1N0eWxlSW1tZWRpYXRlbHkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78779</attachid>
            <date>2011-01-12 22:57:42 -0800</date>
            <delta_ts>2011-05-08 23:48:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43704-20110112225740.patch</filename>
            <type>text/plain</type>
            <size>8986</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjOTE1YWM3ZmYwYjViNTY3MjYyYzdkOTQzY2YzNzVlNjE5MTAzMzgwLi5k
NTAwYmRkYWRkNjRiOGRjNWJhNzVmODkzZmY5YjQ3ZTczYjVmNWZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjggQEAKKzIwMTEtMDEtMTIgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBm
b3IgQnVnIDQzNzA0IC0gV2ViIGZvbnQgaXMgcHJpbnRlZCBhcyBibGFuayBpZiBpdCBpcyBub3Qg
Y2FjaGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
MzcwNAorCisgICAgICAgIEluIHNldHRpbmcgcHJpbnRpbmcsIHdlIHNob3VsZCBub3QgdmFsaWRh
dGUgcmVzb3VyY2VzIGFscmVhZHkgY2FjaGVkCisgICAgICAgIGZvciB0aGUgZG9jdW1lbnQuIElm
IHdlIGRvLCB3ZWIgZm9udHMgdXNlZCBmb3Igc2NyZWVuIGFyZSByZXZhbGlkYXRlZAorICAgICAg
ICBhbmQgcG9zc2lieSByZWxvYWRlZC4gVGhlbiB0aGUgZm9udHMgY2FuIGJlIHNob3duIGFzIGJs
YW5rIG9uIHByaW50LgorICAgICAgICBUaGlzIHBhdGNoIHdvbid0IHNhdmUgdGhlIGNhc2Ugd2hl
cmUgc2NyZWVuIGFuZCBwcmludCB1c2UgZGlmZmVyZW50IHdlYgorICAgICAgICBmb250cy4gTm9u
ZXRoZWxlc3MsIHRoaXMgaXMgYW4gaW1wcm92ZW1lbnQuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
IGJlY2F1c2UgdGhlcmUgc2VlbXMgdG8gYmUgbm8gZ29vZCB3YXkgdG8gdGVzdCBwcmludCBpbWFn
ZXMuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3I6OnBhc3RlKTogVXNlIFJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3NvciBpbnN0
ZWFkIG9mIGV4cGxpY2l0bHkgYWxsb3dpbmcvZGlzYWxsb3dpbmcgc3RhbGUgcmVzb3VyY2VzLgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VDYWNoZVZhbGlkYXRpb25TdXBwcmVzc29yOjpSZXNvdXJjZUNhY2hl
VmFsaWRhdGlvblN1cHByZXNzb3IpOiBSQUlJIGNsYXNzIGZvciBhbGxvd2luZy9kaXNhbGxvd2lu
ZyBzdGFsZSByZXNvdXJjZXMuCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUNhY2hlVmFsaWRh
dGlvblN1cHByZXNzb3I6On5SZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3IpOgorICAg
ICAgICAqIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0Nv
bnRyb2xsZXI6OmNvbmNsdWRlRWRpdERyYWcpOiBVc2UgUmVzb3VyY2VDYWNoZVZhbGlkYXRpb25T
dXBwcmVzc29yIGluc3RlYWQgb2YgZXhwbGljaXRseSBhbGxvd2luZy9kaXNhbGxvd2luZyBzdGFs
ZSByZXNvdXJjZXMuCisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZTo6c2V0UHJpbnRpbmcpOiBVc2UgUmVzb3VyY2VDYWNoZVZhbGlkYXRpb25TdXBwcmVz
c29yIHRvIGFsbG93IHN0YWxlIHJlc291cmNlcyBpbiBwcmludGluZy4KKwogMjAxMS0wMS0xMiAg
Unlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCBhMjRlN2M2MGI1MjVl
NjE1YWExZWUxMzYzZjU4MDAxZDZlMTEwYTQyLi40YTFiZDlkMGVlOGY2MzY3ZjI5NDE3NWIwY2U0
YWRjYjlkZTE4OWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0xMjkwLDEyICsx
MjkwLDExIEBAIHZvaWQgRWRpdG9yOjpwYXN0ZSgpCiAgICAgcmVtb3ZlU3BlbGxBbmRDb3JyZWN0
aW9uTWFya2Vyc0Zyb21Xb3Jkc1RvQmVFZGl0ZWQoZmFsc2UpOwogI2VuZGlmCiAgICAgQ2FjaGVk
UmVzb3VyY2VMb2FkZXIqIGxvYWRlciA9IG1fZnJhbWUtPmRvY3VtZW50KCktPmNhY2hlZFJlc291
cmNlTG9hZGVyKCk7Ci0gICAgbG9hZGVyLT5zZXRBbGxvd1N0YWxlUmVzb3VyY2VzKHRydWUpOwor
ICAgIFJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3NvciB2YWxpZGF0aW9uU3VwcHJlc3Nv
cihsb2FkZXIpOwogICAgIGlmIChtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+aXNDb250ZW50UmljaGx5
RWRpdGFibGUoKSkKICAgICAgICAgcGFzdGVXaXRoUGFzdGVib2FyZChQYXN0ZWJvYXJkOjpnZW5l
cmFsUGFzdGVib2FyZCgpLCB0cnVlKTsKICAgICBlbHNlCiAgICAgICAgIHBhc3RlQXNQbGFpblRl
eHRXaXRoUGFzdGVib2FyZChQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZCgpKTsKLSAgICBs
b2FkZXItPnNldEFsbG93U3RhbGVSZXNvdXJjZXMoZmFsc2UpOwogfQogCiB2b2lkIEVkaXRvcjo6
cGFzdGVBc1BsYWluVGV4dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5oCmluZGV4IDJiOTA2MTFmYmY4Yjk2ZmY5MzA2MjZmMDhjZDU2
NTA5OTFkMjQ0NWMuLjI4MTg4OTIzYjFkZmQ4NGE2MTM0NmQ2ZTQ3NzRkODNiNzg4Y2E5ZTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oCkBAIC01Miw2ICs1Miw3IEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBDYWNoZWRSZXNvdXJjZUxv
YWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiBm
cmllbmQgY2xhc3MgSW1hZ2VMb2FkZXI7CitmcmllbmQgY2xhc3MgUmVzb3VyY2VDYWNoZVZhbGlk
YXRpb25TdXBwcmVzc29yOwogCiBwdWJsaWM6CiAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIoRG9j
dW1lbnQqKTsKQEAgLTk0LDggKzk1LDYgQEAgcHVibGljOgogICAgIHZvaWQgbG9hZERvbmUoQ2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0Kik7CiAgICAgdm9pZCBjYW5jZWxSZXF1ZXN0cygpOwogICAgIAot
ICAgIHZvaWQgc2V0QWxsb3dTdGFsZVJlc291cmNlcyhib29sIGFsbG93U3RhbGVSZXNvdXJjZXMp
IHsgbV9hbGxvd1N0YWxlUmVzb3VyY2VzID0gYWxsb3dTdGFsZVJlc291cmNlczsgfQotCiAgICAg
dm9pZCBpbmNyZW1lbnRSZXF1ZXN0Q291bnQoY29uc3QgQ2FjaGVkUmVzb3VyY2UqKTsKICAgICB2
b2lkIGRlY3JlbWVudFJlcXVlc3RDb3VudChjb25zdCBDYWNoZWRSZXNvdXJjZSopOwogICAgIGlu
dCByZXF1ZXN0Q291bnQoKTsKQEAgLTE0Miw2ICsxNDEsMjUgQEAgcHJpdmF0ZToKICAgICBib29s
IG1fYWxsb3dTdGFsZVJlc291cmNlcyA6IDE7CiB9OwogCi19CitjbGFzcyBSZXNvdXJjZUNhY2hl
VmFsaWRhdGlvblN1cHByZXNzb3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworcHVibGljOgorICAg
IFJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3NvcihDYWNoZWRSZXNvdXJjZUxvYWRlciog
bG9hZGVyKSA6IG1fbG9hZGVyKGxvYWRlciksIG1fcHJldmlvdXNTdGF0ZShmYWxzZSkKKyAgICB7
CisgICAgICAgIGlmIChtX2xvYWRlcikgeworICAgICAgICAgICAgbV9wcmV2aW91c1N0YXRlID0g
bV9sb2FkZXItPm1fYWxsb3dTdGFsZVJlc291cmNlczsKKyAgICAgICAgICAgIG1fbG9hZGVyLT5t
X2FsbG93U3RhbGVSZXNvdXJjZXMgPSB0cnVlOworICAgICAgICB9CisgICAgfQorICAgIH5SZXNv
dXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3IoKQorICAgIHsKKyAgICAgICAgaWYgKG1fbG9h
ZGVyKQorICAgICAgICAgICAgbV9sb2FkZXItPm1fYWxsb3dTdGFsZVJlc291cmNlcyA9IG1fcHJl
dmlvdXNTdGF0ZTsKKyAgICB9Citwcml2YXRlOgorICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBt
X2xvYWRlcjsKKyAgICBib29sIG1fcHJldmlvdXNTdGF0ZTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdD
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCmlu
ZGV4IDc3YTg1MzFiZTRhMDMyODQ1NTg1ZmI1NjMyYWI1NDAwZjk0ODYyYWYuLmRiZGQ1Mzc5ZGNl
ODM3MWJhMDA2Zjc2NTZkNTJiNzZlMWVmMDBjYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0Nv
bnRyb2xsZXIuY3BwCkBAIC00NDgsMTIgKzQ0OCwxMSBAQCBib29sIERyYWdDb250cm9sbGVyOjpj
b25jbHVkZUVkaXREcmFnKERyYWdEYXRhKiBkcmFnRGF0YSkKICAgICBpZiAoIXJhbmdlKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291
cmNlTG9hZGVyID0gcmFuZ2UtPm93bmVyRG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIo
KTsKLSAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+c2V0QWxsb3dTdGFsZVJlc291cmNlcyh0cnVl
KTsKKyAgICBSZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3IgdmFsaWRhdGlvblN1cHBy
ZXNzb3IoY2FjaGVkUmVzb3VyY2VMb2FkZXIpOwogICAgIGlmIChkcmFnSXNNb3ZlKGlubmVyRnJh
bWUtPnNlbGVjdGlvbigpKSB8fCBkcmFnQ2FyZXQuaXNDb250ZW50UmljaGx5RWRpdGFibGUoKSkg
ewogICAgICAgICBib29sIGNob3NlUGxhaW5UZXh0ID0gZmFsc2U7CiAgICAgICAgIFJlZlB0cjxE
b2N1bWVudEZyYWdtZW50PiBmcmFnbWVudCA9IGRvY3VtZW50RnJhZ21lbnRGcm9tRHJhZ0RhdGEo
ZHJhZ0RhdGEsIGlubmVyRnJhbWUsIHJhbmdlLCB0cnVlLCBjaG9zZVBsYWluVGV4dCk7CiAgICAg
ICAgIGlmICghZnJhZ21lbnQgfHwgIWlubmVyRnJhbWUtPmVkaXRvcigpLT5zaG91bGRJbnNlcnRG
cmFnbWVudChmcmFnbWVudCwgcmFuZ2UsIEVkaXRvckluc2VydEFjdGlvbkRyb3BwZWQpKSB7Ci0g
ICAgICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+c2V0QWxsb3dTdGFsZVJlc291cmNlcyhm
YWxzZSk7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIApAQCAtNDcxLDcg
KzQ3MCw2IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OmNvbmNsdWRlRWRpdERyYWcoRHJhZ0RhdGEq
IGRyYWdEYXRhKQogICAgIH0gZWxzZSB7CiAgICAgICAgIFN0cmluZyB0ZXh0ID0gZHJhZ0RhdGEt
PmFzUGxhaW5UZXh0KGlubmVyRnJhbWUpOwogICAgICAgICBpZiAodGV4dC5pc0VtcHR5KCkgfHwg
IWlubmVyRnJhbWUtPmVkaXRvcigpLT5zaG91bGRJbnNlcnRUZXh0KHRleHQsIHJhbmdlLmdldCgp
LCBFZGl0b3JJbnNlcnRBY3Rpb25Ecm9wcGVkKSkgewotICAgICAgICAgICAgY2FjaGVkUmVzb3Vy
Y2VMb2FkZXItPnNldEFsbG93U3RhbGVSZXNvdXJjZXMoZmFsc2UpOwogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICB9CiAKQEAgLTQ3OSw3ICs0NzcsNiBAQCBib29sIERyYWdDb250
cm9sbGVyOjpjb25jbHVkZUVkaXREcmFnKERyYWdEYXRhKiBkcmFnRGF0YSkKICAgICAgICAgaWYg
KHNldFNlbGVjdGlvblRvRHJhZ0NhcmV0KGlubmVyRnJhbWUsIGRyYWdDYXJldCwgcmFuZ2UsIHBv
aW50KSkKICAgICAgICAgICAgIGFwcGx5Q29tbWFuZChSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6
Y3JlYXRlKG1fZG9jdW1lbnRVbmRlck1vdXNlLmdldCgpLCBjcmVhdGVGcmFnbWVudEZyb21UZXh0
KHJhbmdlLmdldCgpLCB0ZXh0KSwgdHJ1ZSwgZmFsc2UsIHRydWUpKTsKICAgICB9Ci0gICAgY2Fj
aGVkUmVzb3VyY2VMb2FkZXItPnNldEFsbG93U3RhbGVSZXNvdXJjZXMoZmFsc2UpOwogCiAgICAg
cmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IDU0NWZiOTk1ZGYzZjYxZDVk
N2U1NzA0MTI1ZTdjMWUxODQ3ZWQwYTEuLmZkMmU4ODMxNDk0NWRjMzdiMzE3OTEzNDAxZGVkNDQ2
MjJjMDY2ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC01MDIsNiArNTAyLDEwIEBAIFN0cmlu
ZyBGcmFtZTo6bWF0Y2hMYWJlbHNBZ2FpbnN0RWxlbWVudChjb25zdCBWZWN0b3I8U3RyaW5nPiYg
bGFiZWxzLCBFbGVtZW50KiBlCiAKIHZvaWQgRnJhbWU6OnNldFByaW50aW5nKGJvb2wgcHJpbnRp
bmcsIGNvbnN0IEZsb2F0U2l6ZSYgcGFnZVNpemUsIGZsb2F0IG1heGltdW1TaHJpbmtSYXRpbywg
QWRqdXN0Vmlld1NpemVPck5vdCBzaG91bGRBZGp1c3RWaWV3U2l6ZSkKIHsKKyAgICAvLyBJbiBz
ZXR0aW5nIHByaW50aW5nLCB3ZSBzaG91bGQgbm90IHZhbGlkYXRlIHJlc291cmNlcyBhbHJlYWR5
IGNhY2hlZCBmb3IgdGhlIGRvY3VtZW50LgorICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM3MDQKKyAgICBSZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1
cHByZXNzb3IgdmFsaWRhdGlvblN1cHByZXNzb3IobV9kb2MtPmNhY2hlZFJlc291cmNlTG9hZGVy
KCkpOworCiAgICAgbV9kb2MtPnNldFByaW50aW5nKHByaW50aW5nKTsKICAgICB2aWV3KCktPmFk
anVzdE1lZGlhVHlwZUZvclByaW50aW5nKHByaW50aW5nKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0
L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBiZDZhY2FlZjM4ZTg0
MTg2MGQ3NTllMmI0OTA4YmRmMjQ4ZmEyODc1Li43Y2MwMWI0YmFlODVhOWI1MzkzNjdjOGUxMjdi
ZDcwZTdjYWNiMWNjIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJL
aXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTAxLTEyICBZdXpvIEZ1amlz
aGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGaXggZm9yIEJ1ZyA0MzcwNCAtIFdlYiBmb250IGlzIHByaW50ZWQg
YXMgYmxhbmsgaWYgaXQgaXMgbm90IGNhY2hlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM3MDQKKworICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZp
ZXcubW06CisgICAgICAgICgtW1dlYkhUTUxWaWV3IF9zZXRQcmludGluZzptaW5pbXVtUGFnZVdp
ZHRoOmhlaWdodDptYXhpbXVtUGFnZVdpZHRoOmFkanVzdFZpZXdTaXplOnBhZ2luYXRlU2NyZWVu
Q29udGVudDpdKTogVXNlIFJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3NvciB0byBhbGxv
dyBzdGFsZSByZXNvdXJjZXMgaW4gcHJpbnRpbmcuCisKIDIwMTEtMDEtMTIgIEJldGggRGFraW4g
IDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nv
bi4KZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbSBiL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQppbmRleCAzMDQ3MmQyYTBhYjQ1YTE0NTUxZTM3
MTk4NGM1ZDRlMzgwYzU5YTg4Li43ZDc2MGJmYWUzZGI4NTFmNjM0NWRkN2MwOWNjNWU3ZDdhYmYy
NTM1IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCkBAIC03OCw2ICs3OCw3IEBACiAjaW1w
b3J0IDxXZWJDb3JlL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0NhY2hlZEltYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NhY2hlZFJlc291cmNlQ2xpZW50
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0NvbG9yTWFjLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbnRleHRNZW51Lmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0NvbnRleHRNZW51Q29udHJvbGxlci5oPgpAQCAtMzk5OCw2ICszOTk5LDEw
IEBAIHN0YXRpYyBCT09MIGlzSW5QYXNzd29yZEZpZWxkKEZyYW1lKiBjb3JlRnJhbWUpCiAgICAg
ICAgIGlmIChGcmFtZVZpZXcqIGNvcmVWaWV3ID0gY29yZUZyYW1lLT52aWV3KCkpCiAgICAgICAg
ICAgICBjb3JlVmlldy0+c2V0TWVkaWFUeXBlKF9wcml2YXRlLT5wcmludGluZyA/ICJwcmludCIg
OiAic2NyZWVuIik7CiAgICAgICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBjb3JlRnJhbWUt
PmRvY3VtZW50KCkpIHsKKyAgICAgICAgICAgIC8vIEluIHNldHRpbmcgcHJpbnRpbmcsIHdlIHNo
b3VsZCBub3QgdmFsaWRhdGUgcmVzb3VyY2VzIGFscmVhZHkgY2FjaGVkIGZvciB0aGUgZG9jdW1l
bnQuCisgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQzNzA0CisgICAgICAgICAgICBSZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNz
b3IgdmFsaWRhdGlvblN1cHByZXNzb3IoZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCkp
OworCiAgICAgICAgICAgICBkb2N1bWVudC0+c2V0UGFnaW5hdGVkRm9yU2NyZWVuKF9wcml2YXRl
LT5wYWdpbmF0ZVNjcmVlbkNvbnRlbnQpOwogICAgICAgICAgICAgZG9jdW1lbnQtPnNldFByaW50
aW5nKF9wcml2YXRlLT5wcmludGluZyk7CiAgICAgICAgICAgICBkb2N1bWVudC0+c3R5bGVTZWxl
Y3RvckNoYW5nZWQoUmVjYWxjU3R5bGVJbW1lZGlhdGVseSk7Cg==
</data>
<flag name="review"
          id="70143"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="83976"
          type_id="3"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92756</attachid>
            <date>2011-05-08 19:39:34 -0700</date>
            <delta_ts>2011-05-16 13:25:00 -0700</delta_ts>
            <desc>Update and clean up</desc>
            <filename>bug-43704-20110508193932.patch</filename>
            <type>text/plain</type>
            <size>9294</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODU5MzgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5NzNlOTAxMjA5ZTA2NTJk
NDBmZjM2MWZjODM4ODBlYWEwNmQ5OWRiLi45YTQyYmYxMWVhN2FhNWQ4N2FiNjM3ZTM4MzA5NWM0
MTU1NDVjNzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDEtMTIgIFl1em8g
RnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgQnVnIDQzNzA0IC0gV2ViIGZvbnQgaXMgcHJp
bnRlZCBhcyBibGFuayBpZiBpdCBpcyBub3QgY2FjaGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzcwNAorCisgICAgICAgIEluIHNldHRpbmcgcHJp
bnRpbmcsIHdlIHNob3VsZCBub3QgdmFsaWRhdGUgcmVzb3VyY2VzIGFscmVhZHkgY2FjaGVkCisg
ICAgICAgIGZvciB0aGUgZG9jdW1lbnQuIElmIHdlIGRvLCB3ZWIgZm9udHMgdXNlZCBmb3Igc2Ny
ZWVuIGFyZSByZXZhbGlkYXRlZAorICAgICAgICBhbmQgcG9zc2lieSByZWxvYWRlZC4gVGhlbiB0
aGUgZm9udHMgY2FuIGJlIHNob3duIGFzIGJsYW5rIG9uIHByaW50LgorICAgICAgICBUaGlzIHBh
dGNoIHdvbid0IHNhdmUgdGhlIGNhc2Ugd2hlcmUgc2NyZWVuIGFuZCBwcmludCB1c2UgZGlmZmVy
ZW50IHdlYgorICAgICAgICBmb250cy4gTm9uZXRoZWxlc3MsIHRoaXMgaXMgYW4gaW1wcm92ZW1l
bnQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgc2VlbXMgdG8gYmUgbm8g
Z29vZCB3YXkgdG8gdGVzdCBwcmludCBpbWFnZXMuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnBhc3RlKTogVXNlIFJlc291cmNlQ2Fj
aGVWYWxpZGF0aW9uU3VwcHJlc3NvciBpbnN0ZWFkIG9mIGV4cGxpY2l0bHkgYWxsb3dpbmcvZGlz
YWxsb3dpbmcgc3RhbGUgcmVzb3VyY2VzLgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VDYWNoZVZhbGlkYXRp
b25TdXBwcmVzc29yOjpSZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3IpOiBSQUlJIGNs
YXNzIGZvciBhbGxvd2luZy9kaXNhbGxvd2luZyBzdGFsZSByZXNvdXJjZXMuCisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3I6On5SZXNvdXJjZUNhY2hl
VmFsaWRhdGlvblN1cHByZXNzb3IpOgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmNvbmNsdWRlRWRpdERyYWcpOiBV
c2UgUmVzb3VyY2VDYWNoZVZhbGlkYXRpb25TdXBwcmVzc29yIGluc3RlYWQgb2YgZXhwbGljaXRs
eSBhbGxvd2luZy9kaXNhbGxvd2luZyBzdGFsZSByZXNvdXJjZXMuCisgICAgICAgICogcGFnZS9G
cmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6c2V0UHJpbnRpbmcpOiBVc2UgUmVz
b3VyY2VDYWNoZVZhbGlkYXRpb25TdXBwcmVzc29yIHRvIGFsbG93IHN0YWxlIHJlc291cmNlcyBp
biBwcmludGluZy4KKwogMjAxMS0wNS0wNiAgTHVrZSBNYWNwaGVyc29uICAgPG1hY3BoZXJzb25A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IDAwODE3OWMxYzAzNjlhMDJiYjFmZDM5MmYwNjRkYzg5
NzYyNTE5MjAuLjcwNGQ5MmI3MDg5ZWNlMTZjZDFiMDU3Yjk1N2JkNjgwMDcwMTRmODQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTEyMTQsMTIgKzEyMTQsMTEgQEAgdm9pZCBFZGl0
b3I6OnBhc3RlKCkKICAgICAgICAgcmV0dXJuOwogICAgIHVwZGF0ZU1hcmtlcnNGb3JXb3Jkc0Fm
ZmVjdGVkQnlFZGl0aW5nKGZhbHNlKTsKICAgICBDYWNoZWRSZXNvdXJjZUxvYWRlciogbG9hZGVy
ID0gbV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKTsKLSAgICBsb2Fk
ZXItPnNldEFsbG93U3RhbGVSZXNvdXJjZXModHJ1ZSk7CisgICAgUmVzb3VyY2VDYWNoZVZhbGlk
YXRpb25TdXBwcmVzc29yIHZhbGlkYXRpb25TdXBwcmVzc29yKGxvYWRlcik7CiAgICAgaWYgKG1f
ZnJhbWUtPnNlbGVjdGlvbigpLT5pc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpKQogICAgICAgICBw
YXN0ZVdpdGhQYXN0ZWJvYXJkKFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCksIHRydWUp
OwogICAgIGVsc2UKICAgICAgICAgcGFzdGVBc1BsYWluVGV4dFdpdGhQYXN0ZWJvYXJkKFBhc3Rl
Ym9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCkpOwotICAgIGxvYWRlci0+c2V0QWxsb3dTdGFsZVJl
c291cmNlcyhmYWxzZSk7CiB9CiAKIHZvaWQgRWRpdG9yOjpwYXN0ZUFzUGxhaW5UZXh0KCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgK
aW5kZXggZTFjYmU0MTFkMzMzYzI4MTU2MjdhMjA4NmRhMmNlNDQxN2I2MzZmMC4uNWU2NGJlMGQ5
ODgxZDhhNDY5MTc4NThiMTZlZDNmYTQ1NzdiNTczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTU0LDYgKzU0LDcgQEAg
Y2xhc3MgS1VSTDsKIGNsYXNzIENhY2hlZFJlc291cmNlTG9hZGVyIHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDYWNoZWRSZXNvdXJjZUxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVyOworZnJpZW5kIGNsYXNzIFJlc291cmNlQ2FjaGVW
YWxpZGF0aW9uU3VwcHJlc3NvcjsKIAogcHVibGljOgogICAgIENhY2hlZFJlc291cmNlTG9hZGVy
KERvY3VtZW50Kik7CkBAIC05Niw4ICs5Nyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGxvYWREb25l
KENhY2hlZFJlc291cmNlUmVxdWVzdCopOwogICAgIHZvaWQgY2FuY2VsUmVxdWVzdHMoKTsKICAg
ICAKLSAgICB2b2lkIHNldEFsbG93U3RhbGVSZXNvdXJjZXMoYm9vbCBhbGxvd1N0YWxlUmVzb3Vy
Y2VzKSB7IG1fYWxsb3dTdGFsZVJlc291cmNlcyA9IGFsbG93U3RhbGVSZXNvdXJjZXM7IH0KLQog
ICAgIHZvaWQgaW5jcmVtZW50UmVxdWVzdENvdW50KGNvbnN0IENhY2hlZFJlc291cmNlKik7CiAg
ICAgdm9pZCBkZWNyZW1lbnRSZXF1ZXN0Q291bnQoY29uc3QgQ2FjaGVkUmVzb3VyY2UqKTsKICAg
ICBpbnQgcmVxdWVzdENvdW50KCk7CkBAIC0xNDksNiArMTQ4LDI5IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBtX2FsbG93U3RhbGVSZXNvdXJjZXMgOiAxOwogfTsKIAotfQorY2xhc3MgUmVzb3VyY2VD
YWNoZVZhbGlkYXRpb25TdXBwcmVzc29yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNv
dXJjZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3IpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgorICAgIFJlc291cmNlQ2FjaGVWYWxpZGF0aW9uU3VwcHJlc3NvcihDYWNo
ZWRSZXNvdXJjZUxvYWRlciogbG9hZGVyKQorICAgICAgICA6IG1fbG9hZGVyKGxvYWRlcikKKyAg
ICAgICAgLCBtX3ByZXZpb3VzU3RhdGUoZmFsc2UpCisgICAgeworICAgICAgICBpZiAobV9sb2Fk
ZXIpIHsKKyAgICAgICAgICAgIG1fcHJldmlvdXNTdGF0ZSA9IG1fbG9hZGVyLT5tX2FsbG93U3Rh
bGVSZXNvdXJjZXM7CisgICAgICAgICAgICBtX2xvYWRlci0+bV9hbGxvd1N0YWxlUmVzb3VyY2Vz
ID0gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKyAgICB+UmVzb3VyY2VDYWNoZVZhbGlkYXRpb25T
dXBwcmVzc29yKCkKKyAgICB7CisgICAgICAgIGlmIChtX2xvYWRlcikKKyAgICAgICAgICAgIG1f
bG9hZGVyLT5tX2FsbG93U3RhbGVSZXNvdXJjZXMgPSBtX3ByZXZpb3VzU3RhdGU7CisgICAgfQor
cHJpdmF0ZToKKyAgICBDYWNoZWRSZXNvdXJjZUxvYWRlciogbV9sb2FkZXI7CisgICAgYm9vbCBt
X3ByZXZpb3VzU3RhdGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcAppbmRleCA0OTgxMjI0MTQyZjMxZjVh
OTNjNTE2YTJlNGU2ODM0NWQwNTViODgzLi5jYWZiNjc2NGRlMDE3OTk5ZTBhMDgwZTBmMTc5OGZl
MWFmOTc0YWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcApAQCAtNDUw
LDEyICs0NTAsMTEgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6Y29uY2x1ZGVFZGl0RHJhZyhEcmFn
RGF0YSogZHJhZ0RhdGEpCiAgICAgaWYgKCFyYW5nZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciA9IHJhbmdlLT5v
d25lckRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCk7Ci0gICAgY2FjaGVkUmVzb3Vy
Y2VMb2FkZXItPnNldEFsbG93U3RhbGVSZXNvdXJjZXModHJ1ZSk7CisgICAgUmVzb3VyY2VDYWNo
ZVZhbGlkYXRpb25TdXBwcmVzc29yIHZhbGlkYXRpb25TdXBwcmVzc29yKGNhY2hlZFJlc291cmNl
TG9hZGVyKTsKICAgICBpZiAoZHJhZ0lzTW92ZShpbm5lckZyYW1lLT5zZWxlY3Rpb24oKSwgZHJh
Z0RhdGEpIHx8IGRyYWdDYXJldC5pc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpKSB7CiAgICAgICAg
IGJvb2wgY2hvc2VQbGFpblRleHQgPSBmYWxzZTsKICAgICAgICAgUmVmUHRyPERvY3VtZW50RnJh
Z21lbnQ+IGZyYWdtZW50ID0gZG9jdW1lbnRGcmFnbWVudEZyb21EcmFnRGF0YShkcmFnRGF0YSwg
aW5uZXJGcmFtZSwgcmFuZ2UsIHRydWUsIGNob3NlUGxhaW5UZXh0KTsKICAgICAgICAgaWYgKCFm
cmFnbWVudCB8fCAhaW5uZXJGcmFtZS0+ZWRpdG9yKCktPnNob3VsZEluc2VydEZyYWdtZW50KGZy
YWdtZW50LCByYW5nZSwgRWRpdG9ySW5zZXJ0QWN0aW9uRHJvcHBlZCkpIHsKLSAgICAgICAgICAg
IGNhY2hlZFJlc291cmNlTG9hZGVyLT5zZXRBbGxvd1N0YWxlUmVzb3VyY2VzKGZhbHNlKTsKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCkBAIC00NzksNyArNDc4LDYgQEAg
Ym9vbCBEcmFnQ29udHJvbGxlcjo6Y29uY2x1ZGVFZGl0RHJhZyhEcmFnRGF0YSogZHJhZ0RhdGEp
CiAgICAgfSBlbHNlIHsKICAgICAgICAgU3RyaW5nIHRleHQgPSBkcmFnRGF0YS0+YXNQbGFpblRl
eHQoaW5uZXJGcmFtZSk7CiAgICAgICAgIGlmICh0ZXh0LmlzRW1wdHkoKSB8fCAhaW5uZXJGcmFt
ZS0+ZWRpdG9yKCktPnNob3VsZEluc2VydFRleHQodGV4dCwgcmFuZ2UuZ2V0KCksIEVkaXRvcklu
c2VydEFjdGlvbkRyb3BwZWQpKSB7Ci0gICAgICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+
c2V0QWxsb3dTdGFsZVJlc291cmNlcyhmYWxzZSk7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgICAgIH0KIApAQCAtNDg3LDcgKzQ4NSw2IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OmNv
bmNsdWRlRWRpdERyYWcoRHJhZ0RhdGEqIGRyYWdEYXRhKQogICAgICAgICBpZiAoc2V0U2VsZWN0
aW9uVG9EcmFnQ2FyZXQoaW5uZXJGcmFtZSwgZHJhZ0NhcmV0LCByYW5nZSwgcG9pbnQpKQogICAg
ICAgICAgICAgYXBwbHlDb21tYW5kKFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpjcmVhdGUobV9k
b2N1bWVudFVuZGVyTW91c2UuZ2V0KCksIGNyZWF0ZUZyYWdtZW50RnJvbVRleHQocmFuZ2UuZ2V0
KCksIHRleHQpLCAgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OlNlbGVjdFJlcGxhY2VtZW50IHwg
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6Ok1hdGNoU3R5bGUgfCBSZXBsYWNlU2VsZWN0aW9uQ29t
bWFuZDo6UHJldmVudE5lc3RpbmcpKTsKICAgICB9Ci0gICAgY2FjaGVkUmVzb3VyY2VMb2FkZXIt
PnNldEFsbG93U3RhbGVSZXNvdXJjZXMoZmFsc2UpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWUuY3BwCmluZGV4IGFmNDQwZGNkN2RiODlmMzBkZjA1YWY3ZjViZjhhOTBhOGM0
OWE2N2YuLjcyMGZiZTA5MGY3ZTEwMjNkY2Q2MmZiZDZkNGFjYTY5MjIyYjE1ODUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWUuY3BwCkBAIC01NDYsNiArNTQ2LDEwIEBAIENvbG9yIEZyYW1lOjpnZXREb2N1bWVu
dEJhY2tncm91bmRDb2xvcigpIGNvbnN0CiAKIHZvaWQgRnJhbWU6OnNldFByaW50aW5nKGJvb2wg
cHJpbnRpbmcsIGNvbnN0IEZsb2F0U2l6ZSYgcGFnZVNpemUsIGZsb2F0IG1heGltdW1TaHJpbmtS
YXRpbywgQWRqdXN0Vmlld1NpemVPck5vdCBzaG91bGRBZGp1c3RWaWV3U2l6ZSkKIHsKKyAgICAv
LyBJbiBzZXR0aW5nIHByaW50aW5nLCB3ZSBzaG91bGQgbm90IHZhbGlkYXRlIHJlc291cmNlcyBh
bHJlYWR5IGNhY2hlZCBmb3IgdGhlIGRvY3VtZW50LgorICAgIC8vIFNlZSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM3MDQKKyAgICBSZXNvdXJjZUNhY2hlVmFsaWRh
dGlvblN1cHByZXNzb3IgdmFsaWRhdGlvblN1cHByZXNzb3IobV9kb2MtPmNhY2hlZFJlc291cmNl
TG9hZGVyKCkpOworCiAgICAgbV9kb2MtPnNldFByaW50aW5nKHByaW50aW5nKTsKICAgICB2aWV3
KCktPmFkanVzdE1lZGlhVHlwZUZvclByaW50aW5nKHByaW50aW5nKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CmluZGV4IGEwZWZiYWRiNTk5MzczZjk3OWIzNDI2NjI3NDI5Nzk3NWVjZTJhNTcuLjQ0NWI1MDVi
ZjdmYjZlM2FhODQ4NDMzNTY4NDhmNjlhMTcxMTU2YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMS0wMS0xMiAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZv
ciBCdWcgNDM3MDQgLSBXZWIgZm9udCBpcyBwcmludGVkIGFzIGJsYW5rIGlmIGl0IGlzIG5vdCBj
YWNoZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQz
NzA0CisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoLVtXZWJI
VE1MVmlldyBfc2V0UHJpbnRpbmc6bWluaW11bVBhZ2VXaWR0aDpoZWlnaHQ6bWF4aW11bVBhZ2VX
aWR0aDphZGp1c3RWaWV3U2l6ZTpwYWdpbmF0ZVNjcmVlbkNvbnRlbnQ6XSk6IFVzZSBSZXNvdXJj
ZUNhY2hlVmFsaWRhdGlvblN1cHByZXNzb3IgdG8gYWxsb3cgc3RhbGUgcmVzb3VyY2VzIGluIHBy
aW50aW5nLgorCiAyMDExLTA1LTA0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQppbmRleCBhNGIzYWE2ZWM3NjI4YzcwNGUzNTY5
Mzc5MzZkNGZjNWMzOGM0NmExLi5iYzI0YzNkZGY3NDRlNWQyNGUzNDAxYmU2OGNmZjBjODI5NGVh
MWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KQEAgLTc2LDYg
Kzc2LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaD4K
ICNpbXBvcnQgPFdlYkNvcmUvQ2FjaGVkSW1hZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ2FjaGVk
UmVzb3VyY2VDbGllbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
aD4KICNpbXBvcnQgPFdlYkNvcmUvQ2hyb21lLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yTWFj
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbnRleHRNZW51Lmg+CkBAIC0zODM0LDYgKzM4MzUsMTAg
QEAgc3RhdGljIFBhc3NSZWZQdHI8S2V5Ym9hcmRFdmVudD4gY3VycmVudEtleWJvYXJkRXZlbnQo
RnJhbWUqIGNvcmVGcmFtZSkKICAgICAgICAgaWYgKEZyYW1lVmlldyogY29yZVZpZXcgPSBjb3Jl
RnJhbWUtPnZpZXcoKSkKICAgICAgICAgICAgIGNvcmVWaWV3LT5zZXRNZWRpYVR5cGUoX3ByaXZh
dGUtPnByaW50aW5nID8gInByaW50IiA6ICJzY3JlZW4iKTsKICAgICAgICAgaWYgKERvY3VtZW50
KiBkb2N1bWVudCA9IGNvcmVGcmFtZS0+ZG9jdW1lbnQoKSkgeworICAgICAgICAgICAgLy8gSW4g
c2V0dGluZyBwcmludGluZywgd2Ugc2hvdWxkIG5vdCB2YWxpZGF0ZSByZXNvdXJjZXMgYWxyZWFk
eSBjYWNoZWQgZm9yIHRoZSBkb2N1bWVudC4KKyAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM3MDQKKyAgICAgICAgICAgIFJlc291cmNl
Q2FjaGVWYWxpZGF0aW9uU3VwcHJlc3NvciB2YWxpZGF0aW9uU3VwcHJlc3Nvcihkb2N1bWVudC0+
Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKSk7CisKICAgICAgICAgICAgIGRvY3VtZW50LT5zZXRQYWdp
bmF0ZWRGb3JTY3JlZW4oX3ByaXZhdGUtPnBhZ2luYXRlU2NyZWVuQ29udGVudCk7CiAgICAgICAg
ICAgICBkb2N1bWVudC0+c2V0UHJpbnRpbmcoX3ByaXZhdGUtPnByaW50aW5nKTsKICAgICAgICAg
ICAgIGRvY3VtZW50LT5zdHlsZVNlbGVjdG9yQ2hhbmdlZChSZWNhbGNTdHlsZUltbWVkaWF0ZWx5
KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>