<?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>16123</bug_id>
          
          <creation_ts>2007-11-24 18:23:09 -0800</creation_ts>
          <short_desc>[GTK] Smooth scrolling support</short_desc>
          <delta_ts>2012-03-02 10:29:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>32356</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alp Toker">alp</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>carlosg</cc>
    
    <cc>cgarcia</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo</cc>
    
    <cc>jamesr</cc>
    
    <cc>mrobinson</cc>
    
    <cc>nayankk</cc>
    
    <cc>racarr</cc>
    
    <cc>sam</cc>
    
    <cc>scottbyer</cc>
    
    <cc>tony</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>62223</commentid>
    <comment_count>0</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-11-24 18:23:09 -0800</bug_when>
    <thetext>I find smooth scrolling greatly enhances browsing in Firefox and IE.

It would be good to add support for this, but perhaps not enable the feature by default since it&apos;s not conventional for GTK+ widgets (and also slightly controversial IIRC).

I think we can take a clever shortcut here by plugging into the CSS animation controllers to provide a smooth (bezier, cubic?) function for scrolling.

Scrolling should be smooth not only in the outermost frame, but also child frames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62250</commentid>
    <comment_count>1</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-11-24 20:47:05 -0800</bug_when>
    <thetext>Relevant GTK+ bug:

http://bugzilla.gnome.org/show_bug.cgi?id=444659
Bug 444659 – Add GtkTimeline to ease animations development</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103886</commentid>
    <comment_count>2</comment_count>
    <who name="Robert Carr">racarr</who>
    <bug_when>2008-12-31 02:29:46 -0800</bug_when>
    <thetext>Just a relevant thing, I&apos;m currently working on a set of patches to xf86-input-synaptics, and GTK to enable smooth scrolling support for a window, however not smooth scrolling in the firefox sense, but in the sense of the scroll events being reported with pixel granularity by the mouse driver, which I find to be MUCH nicer than firefox smooth scrolling. This is also the model used by OSX.

There are some videos of it being used with the Seed webkit browser at:
http://www.hortont.com/racarr/?p=20</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413478</commentid>
    <comment_count>3</comment_count>
      <attachid>95622</attachid>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2011-06-01 10:38:21 -0700</bug_when>
    <thetext>Created attachment 95622
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413484</commentid>
    <comment_count>4</comment_count>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2011-06-01 10:46:39 -0700</bug_when>
    <thetext>This is a start; it adds the plumbing for run-time enablement and an initial implementation (that leaves lots of tuning to do). Currently doesn&apos;t affect the standalone WebKit build at all. The initial focus is Linux/Chromium OS, but eventually this code wants to be refactored with the existing but turned off Windows smooth scrolling code into something more cross platform. Some of this will also dovetail with the platform gestures work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413506</commentid>
    <comment_count>5</comment_count>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2011-06-01 10:57:56 -0700</bug_when>
    <thetext>I haven&apos;t had the chance to review the code but at the high-level there doesn&apos;t seem to be anything linux-specific here. Should the class be renamed to something more generic or move to platform/chromium and become ScrollAnimatorChromium?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413513</commentid>
    <comment_count>6</comment_count>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2011-06-01 11:04:58 -0700</bug_when>
    <thetext>No, there really isn&apos;t anything Linux specific, and I don&apos;t think there will be (except for initialization paramaters, possibly, especially since we want to keep the system provided Mac touchpad behavior). The move to platform/chromium does make sense to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413529</commentid>
    <comment_count>7</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-06-01 11:24:21 -0700</bug_when>
    <thetext>This is the wrong bug for this patch.  This bug is for smooth scrolling in WebKit GTK+ (e.g., build-webkit --gtk).  Please open a new bug for adding smooth scrolling to Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413532</commentid>
    <comment_count>8</comment_count>
      <attachid>95622</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-06-01 11:25:55 -0700</bug_when>
    <thetext>Comment on attachment 95622
Patch

I agree with Vangelis that these files should be in platform/chromium and shouldn&apos;t have Linux in the filename if they&apos;re not Linux specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415075</commentid>
    <comment_count>9</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-06-03 12:07:39 -0700</bug_when>
    <thetext>This bug is for the GTK port, not chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444729</commentid>
    <comment_count>10</comment_count>
      <attachid>102527</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-08-01 09:47:29 -0700</bug_when>
    <thetext>Created attachment 102527
Patch

This patch uses ScrollAnimatorNone class to provide smooth scrolling and introduces a new flag to enable it (it is disabled by default)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558578</commentid>
    <comment_count>11</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-02-16 15:12:17 -0800</bug_when>
    <thetext>API looks straight forward. Any reason to keep this behind a compilation option, though? I&apos;d just leave it on and rely on the runtime option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558585</commentid>
    <comment_count>12</comment_count>
      <attachid>102527</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-02-16 15:27:36 -0800</bug_when>
    <thetext>Comment on attachment 102527
Patch

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

Looks good! Is there any compelling reason to make this a compile-time option? Why not just compile it in always. r- because of the missing documentation. We need one more GTK+ reviewer to approve the API, but I think it&apos;s pretty non-controversial. Do you think you could add the setting to WebKit2 as well?

&gt; Source/WebKit/gtk/webkit/webkitwebsettings.cpp:932
&gt; +    * Whether ...

You&apos;re missing the documentation here. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559069</commentid>
    <comment_count>13</comment_count>
      <attachid>127560</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-02-17 02:30:35 -0800</bug_when>
    <thetext>Created attachment 127560
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559071</commentid>
    <comment_count>14</comment_count>
      <attachid>127560</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-02-17 02:34:39 -0800</bug_when>
    <thetext>Comment on attachment 127560
Patch

This patch also adds support for enabling smooth scrolling in WebKit2. Documentation should now be properly processed in both WebKit1 and WebKit2. This also adds two additional functions to the core WebKit2 C API, along with a basic preference in WebPreferencesStore.

Also settings the cq flag.

Thanks for the reviews!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559259</commentid>
    <comment_count>15</comment_count>
      <attachid>127560</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-02-17 09:35:23 -0800</bug_when>
    <thetext>Comment on attachment 127560
Patch

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

This looks good to me. I think we just need some Mac guys to look at the proposed C API changes.

&gt; Source/JavaScriptCore/wtf/Platform.h:490
&gt; +#define ENABLE_SMOOTH_SCROLLING 1

Nit. This is probably something that we want to set in the GNUmakefile. We can just do it there unconditionally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559260</commentid>
    <comment_count>16</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-02-17 09:37:58 -0800</bug_when>
    <thetext>Anders or Sam, do you mind giving a nod to these WebKit2 C API changes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559751</commentid>
    <comment_count>17</comment_count>
      <attachid>127700</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-02-18 01:09:16 -0800</bug_when>
    <thetext>Created attachment 127700
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559753</commentid>
    <comment_count>18</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-02-18 01:30:02 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; &gt; Source/JavaScriptCore/wtf/Platform.h:490
&gt; &gt; +#define ENABLE_SMOOTH_SCROLLING 1
&gt; 
&gt; Nit. This is probably something that we want to set in the GNUmakefile. We can just do it there unconditionally.

Created a small section near the top of Source/WebCore/GNUmakefile.am that appends such features to FEATURE_DEFINES and webcore_cppflags in the latest patch. In future if more features require the same, the comment in that section can be expanded to nicely list all such features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559754</commentid>
    <comment_count>19</comment_count>
      <attachid>127700</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-02-18 01:36:40 -0800</bug_when>
    <thetext>Comment on attachment 127700
Patch

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

Please, add a test the new WEbKit2 setting in Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:2053
&gt; +    return WKPreferencesGetEnableScrollAnimator(settings-&gt;priv-&gt;preferences.get());

I&apos;m a bit confused, the scroll animator always does smooth scrolling or are there other types of scroll animations?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559779</commentid>
    <comment_count>20</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-02-18 08:41:45 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 127700 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=127700&amp;action=review
&gt; 
&gt; Please, add a test the new WEbKit2 setting in Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp
&gt; 

Sure, will do.

&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:2053
&gt; &gt; +    return WKPreferencesGetEnableScrollAnimator(settings-&gt;priv-&gt;preferences.get());
&gt; 
&gt; I&apos;m a bit confused, the scroll animator always does smooth scrolling or are there other types of scroll animations?

The pure ScrollAnimator class only does the normal scrolling (the one in use today). It is platform-independent. Smooth scrolling is provided by ScrollAnimatorWin class for Windows platform, ScrollAnimatorMac class for Mac platform, and ScrollAnimatorNone class, which provides smooth scrolling in a platform-independent way. The ScrollAnimatorNone is obviously the only option, but is only used instead of the core ScollAnimator class if the scroll animator setting is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559780</commentid>
    <comment_count>21</comment_count>
      <attachid>127700</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-02-18 08:51:43 -0800</bug_when>
    <thetext>Comment on attachment 127700
Patch

Does this really need to be a setting? Isn&apos;t there some default &quot;use animations&quot; setting or style property in gtk? When would you ever want to disable this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559794</commentid>
    <comment_count>22</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-02-18 11:54:49 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 127700 [details])
&gt; Does this really need to be a setting? Isn&apos;t there some default &quot;use animations&quot; setting or style property in gtk? When would you ever want to disable this?

There indeed is a &apos;gtk-use-animations&apos; property in GtkSettings, which defaults to true. If acceptable to reviewers, the code could just connect to the notify::gtk-use-animation signal of GtkSettings and change the WebCore setting appropriately.

Though, without the WKPreferences API additions, this would require the connecting and adjusting to the &apos;gtk-use-animations&apos; value to be performed in WebProcess. But ideally, the GtkSettings instance would be gathered from the specific GtkWidget (the web view), which is a part of UIProcess, and as such AFAIK not reachable from WebProcess.

How about keeping the WKPreferences API additions private, in WKPreferencesPrivate.h?

[1] http://developer.gnome.org/gtk3/stable/GtkSettings.html#GtkSettings--gtk-enable-animations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559799</commentid>
    <comment_count>23</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-02-18 12:00:32 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #21)
&gt; &gt; (From update of attachment 127700 [details] [details])
&gt; &gt; Does this really need to be a setting? Isn&apos;t there some default &quot;use animations&quot; setting or style property in gtk? When would you ever want to disable this?
&gt; 
&gt; There indeed is a &apos;gtk-use-animations&apos; property in GtkSettings, which defaults to true. If acceptable to reviewers, the code could just connect to the notify::gtk-use-animation signal of GtkSettings and change the WebCore setting appropriately.

When gtk-use-animations is true though, does GTK+ use smooth scrolling? If not, then we&apos;ll need to look elsewhere to maintain consitency with GTK+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559806</commentid>
    <comment_count>24</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-02-18 12:24:57 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; (In reply to comment #22)
&gt; &gt; (In reply to comment #21)
&gt; &gt; &gt; (From update of attachment 127700 [details] [details] [details])
&gt; &gt; &gt; Does this really need to be a setting? Isn&apos;t there some default &quot;use animations&quot; setting or style property in gtk? When would you ever want to disable this?
&gt; &gt; 
&gt; &gt; There indeed is a &apos;gtk-use-animations&apos; property in GtkSettings, which defaults to true. If acceptable to reviewers, the code could just connect to the notify::gtk-use-animation signal of GtkSettings and change the WebCore setting appropriately.
&gt; 
&gt; When gtk-use-animations is true though, does GTK+ use smooth scrolling? If not, then we&apos;ll need to look elsewhere to maintain consitency with GTK+.

Oops, it&apos;s actually gtk-enable-animations.

The only Gtk application I&apos;ve seen to date to perform smooth scrolling is the gnome-about dialog. It doesn&apos;t respect the gtk-use-animations setting. Grepping through the gtk source, this setting is used to decide whether or not to animate smaller animations, such as expanding the tree view or sliding a toolbar item etc.

Considering this, gtk-enable-animations might not be appropriate to control whether or not to enable smooth scrolling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559891</commentid>
    <comment_count>25</comment_count>
    <who name="Carlos Garnacho">carlosg</who>
    <bug_when>2012-02-19 02:23:38 -0800</bug_when>
    <thetext>In the end, smooth scrolling is going to be handled through a new GDK_SMOOTH_SCROLL_MASK evmask flag, but there&apos;s not going to be a setting as such to turn it off/on, widgets just do decide which kind of scroll events fit them better</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560066</commentid>
    <comment_count>26</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-02-19 23:54:19 -0800</bug_when>
    <thetext>So, I would just enable this unconditionally. If someone asks for a way to disable it we can then discuss whether to add a new setting to enable/disable it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560069</commentid>
    <comment_count>27</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-02-20 00:14:09 -0800</bug_when>
    <thetext>(In reply to comment #26)
&gt; So, I would just enable this unconditionally. If someone asks for a way to disable it we can then discuss whether to add a new setting to enable/disable it.

Just to clarify, you mean we should do smooth scrolling unconditionally when the GDK_SMOOTH_SCROLL_MASK flag is active? If so, I believe I agree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560084</commentid>
    <comment_count>28</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-02-20 00:39:02 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; (In reply to comment #26)
&gt; &gt; So, I would just enable this unconditionally. If someone asks for a way to disable it we can then discuss whether to add a new setting to enable/disable it.
&gt; 
&gt; Just to clarify, you mean we should do smooth scrolling unconditionally when the GDK_SMOOTH_SCROLL_MASK flag is active? If so, I believe I agree.

No, we don&apos;t need GDK_SMOOTH_SCROLL_MASK because we have our own scroll animator that does smooth scrolling. GDK_SMOOTH_SCROLL_MASK will not have any effect in WebView because we don&apos;t implement GtkScrollable. I&apos;m not sure it&apos;s clear what Carlos said. GTK+ doesn&apos;t still support smooth scrolling. Current implementation (in smooth-scrolling branch) adds GDK_SMOOTH_SCROLL_MASK which makes that delta information is included in GdkScroll events. I will be implemented in GtkScrolledWindow, and widgets will decide whether they want smooth scrolling or not, by adding GDK_SMOOTH_SCROLL_MASK to its own events masks (typically done in realize()). So, there won&apos;t be any API nor setting to enable/disable smooth scrolling in widgets. If GTK+ devs decide that GtkTreeView does smooth scrolling, it will include the GDK_SMOOTH_SCROLL_MASK and will do smooth scrolling unconditionally.
My opinion is that we should do the same and decide to use smooth scrolling unconditionally in WebView (in our case using the scroll animator, I don&apos;t need GDK_SMOOTH_SCROLL_MASK). If we eventually see that people want to be able to disable it, we can just add a setting later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560089</commentid>
    <comment_count>29</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-02-20 00:44:53 -0800</bug_when>
    <thetext>(In reply to comment #28)

&gt; &gt; Just to clarify, you mean we should do smooth scrolling unconditionally when the GDK_SMOOTH_SCROLL_MASK flag is active? If so, I believe I agree.
&gt; 

&gt; My opinion is that we should do the same and decide to use smooth scrolling unconditionally in WebView (in our case using the scroll animator, I don&apos;t need GDK_SMOOTH_SCROLL_MASK). If we eventually see that people want to be able to disable it, we can just add a setting later.

I would like to understand more about whether there are plans to switch all built-in GTK+ widgets to smooth scrolling or how this decision is made if it&apos;s done for some widgets and not others. Either way, adding a setting up-front seems low risk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560094</commentid>
    <comment_count>30</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-02-20 01:00:35 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; (In reply to comment #28)
&gt; 
&gt; &gt; &gt; Just to clarify, you mean we should do smooth scrolling unconditionally when the GDK_SMOOTH_SCROLL_MASK flag is active? If so, I believe I agree.
&gt; &gt; 
&gt; 
&gt; &gt; My opinion is that we should do the same and decide to use smooth scrolling unconditionally in WebView (in our case using the scroll animator, I don&apos;t need GDK_SMOOTH_SCROLL_MASK). If we eventually see that people want to be able to disable it, we can just add a setting later.
&gt; 
&gt; I would like to understand more about whether there are plans to switch all built-in GTK+ widgets to smooth scrolling or how this decision is made if it&apos;s done for some widgets and not others. Either way, adding a setting up-front seems low risk.

It will depend on every widget, I think tree view, icon view, text view will do smooth scrolling, for example. So it&apos;s up to use to decide. I don&apos;t mind if we add the setting in wk1, but for for wk2 we could try to enable it by default and add the setting later if we see we really needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560208</commentid>
    <comment_count>31</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-02-20 06:14:38 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; It will depend on every widget, I think tree view, icon view, text view will do smooth scrolling, for example. So it&apos;s up to use to decide. I don&apos;t mind if we add the setting in wk1, but for for wk2 we could try to enable it by default and add the setting later if we see we really needed.

Sounds like a good compromise to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560245</commentid>
    <comment_count>32</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-02-20 08:51:58 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #21)
&gt; &gt; (From update of attachment 127700 [details] [details])
&gt; &gt; Does this really need to be a setting? Isn&apos;t there some default &quot;use animations&quot; setting or style property in gtk? When would you ever want to disable this?
&gt; 
&gt; There indeed is a &apos;gtk-use-animations&apos; property in GtkSettings, which defaults to true. If acceptable to reviewers, the code could just connect to the notify::gtk-use-animation signal of GtkSettings and change the WebCore setting appropriately.
&gt; 
&gt; Though, without the WKPreferences API additions, this would require the connecting and adjusting to the &apos;gtk-use-animations&apos; value to be performed in WebProcess. But ideally, the GtkSettings instance would be gathered from the specific GtkWidget (the web view), which is a part of UIProcess, and as such AFAIK not reachable from WebProcess.
&gt; 

Sure, you&apos;d have to keep track of the state in the UI process and send it over to the web process when it changes. We do this for a number of different settings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560745</commentid>
    <comment_count>33</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-02-21 01:28:55 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; (In reply to comment #30)
&gt; &gt; It will depend on every widget, I think tree view, icon view, text view will do smooth scrolling, for example. So it&apos;s up to use to decide. I don&apos;t mind if we add the setting in wk1, but for for wk2 we could try to enable it by default and add the setting later if we see we really needed.
&gt; 
&gt; Sounds like a good compromise to me.

Very well, this actually requires no changes to be made in any part of WebKit2.

Patch incoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560748</commentid>
    <comment_count>34</comment_count>
      <attachid>127937</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-02-21 01:31:33 -0800</bug_when>
    <thetext>Created attachment 127937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561932</commentid>
    <comment_count>35</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-02-22 06:37:45 -0800</bug_when>
    <thetext>(In reply to comment #34)
&gt; Created an attachment (id=127937) [details]
&gt; Patch

Contains wrong &apos;Since&apos; version in signal definition, will upload the correct one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561976</commentid>
    <comment_count>36</comment_count>
      <attachid>128212</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-02-22 07:33:34 -0800</bug_when>
    <thetext>Created attachment 128212
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564574</commentid>
    <comment_count>37</comment_count>
      <attachid>128212</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-02-24 13:14:08 -0800</bug_when>
    <thetext>Comment on attachment 128212
Patch

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

&gt; Source/WebKit/gtk/webkit/webkitwebsettings.cpp:964
&gt; +    * Since: 1.7.90

This should probably be 1.9.0 now, since we&apos;ve already branched for stable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564915</commentid>
    <comment_count>38</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-02-25 01:52:30 -0800</bug_when>
    <thetext>(In reply to comment #37)
&gt; (From update of attachment 128212 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=128212&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/gtk/webkit/webkitwebsettings.cpp:964
&gt; &gt; +    * Since: 1.7.90
&gt; 
&gt; This should probably be 1.9.0 now, since we&apos;ve already branched for stable.

1.10 I guess, 1.9.x will be the unstable versions of the next release cycle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564917</commentid>
    <comment_count>39</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-02-25 02:04:30 -0800</bug_when>
    <thetext>(In reply to comment #38)
&gt; (In reply to comment #37)
&gt; &gt; (From update of attachment 128212 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=128212&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/gtk/webkit/webkitwebsettings.cpp:964
&gt; &gt; &gt; +    * Since: 1.7.90
&gt; &gt; 
&gt; &gt; This should probably be 1.9.0 now, since we&apos;ve already branched for stable.
&gt; 
&gt; 1.10 I guess, 1.9.x will be the unstable versions of the next release cycle.

There&apos;s plenty of places where an unstable version is given as the &apos;Since:&apos; value. This will be a part of the next unstable release (1.9.0) and subsequently of the next stable release as well (1.10.0).

All the &apos;Since:&apos; tags should either have a value of an unstable release (1.7.5, 1.9.0, 1.9.1 etc.), stating in which release exactly API was added, or a value of a stable release (1.6, 1.8, 1.10 etc.), stating in what stable release API was first present.

AFAIK WebKitGtk+ is mostly if not completely using the first approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564938</commentid>
    <comment_count>40</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-02-25 04:52:32 -0800</bug_when>
    <thetext>(In reply to comment #39)
&gt; (In reply to comment #38)
&gt; &gt; (In reply to comment #37)
&gt; &gt; &gt; (From update of attachment 128212 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=128212&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit/gtk/webkit/webkitwebsettings.cpp:964
&gt; &gt; &gt; &gt; +    * Since: 1.7.90
&gt; &gt; &gt; 
&gt; &gt; &gt; This should probably be 1.9.0 now, since we&apos;ve already branched for stable.
&gt; &gt; 
&gt; &gt; 1.10 I guess, 1.9.x will be the unstable versions of the next release cycle.
&gt; 
&gt; There&apos;s plenty of places where an unstable version is given as the &apos;Since:&apos; value. This will be a part of the next unstable release (1.9.0) and subsequently of the next stable release as well (1.10.0).

I think that comes from the time were webkitgtk did follow the gnome release cycle with stable/unstable releases, I&apos;m not sure, though.

&gt; All the &apos;Since:&apos; tags should either have a value of an unstable release (1.7.5, 1.9.0, 1.9.1 etc.), stating in which release exactly API was added, or a value of a stable release (1.6, 1.8, 1.10 etc.), stating in what stable release API was first present.
&gt; 
&gt; AFAIK WebKitGtk+ is mostly if not completely using the first approach.

So, maybe we should consider changing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564984</commentid>
    <comment_count>41</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-02-25 10:46:44 -0800</bug_when>
    <thetext>(In reply to comment #40)

&gt; &gt; AFAIK WebKitGtk+ is mostly if not completely using the first approach.
&gt; 
&gt; So, maybe we should consider changing it.

I agree that we should consider changing it, but probably it should be handled separately from this bug. If such a change it made, we can go back and fix all existing Since: tags.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569445</commentid>
    <comment_count>42</comment_count>
      <attachid>129852</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-03-02 02:05:57 -0800</bug_when>
    <thetext>Created attachment 129852
Updated patch

Since: tag updated to 1.9.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569465</commentid>
    <comment_count>43</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-03-02 02:25:24 -0800</bug_when>
    <thetext>(In reply to comment #42)
&gt; Created an attachment (id=129852) [details]
&gt; Updated patch
&gt; 
&gt; Since: tag updated to 1.9.0

I still think we shouldn&apos;t use unstable version numbers in Since: tags. If this patrch will be merged into 1.8, this should be Since: 1.8 otherwise it should be 1.10</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569725</commentid>
    <comment_count>44</comment_count>
      <attachid>129852</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-02 10:04:15 -0800</bug_when>
    <thetext>Comment on attachment 129852
Updated patch

Clearing flags on attachment: 129852

Committed r109584: &lt;http://trac.webkit.org/changeset/109584&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569726</commentid>
    <comment_count>45</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-02 10:04:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569727</commentid>
    <comment_count>46</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-03-02 10:07:07 -0800</bug_when>
    <thetext>(In reply to comment #43)
&gt; (In reply to comment #42)
&gt; &gt; Created an attachment (id=129852) [details] [details]
&gt; &gt; Updated patch
&gt; &gt; 
&gt; &gt; Since: tag updated to 1.9.0
&gt; 
&gt; I still think we shouldn&apos;t use unstable version numbers in Since: tags. If this patrch will be merged into 1.8, this should be Since: 1.8 otherwise it should be 1.10

Should I open a new bug covering this issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569748</commentid>
    <comment_count>47</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-03-02 10:29:09 -0800</bug_when>
    <thetext>(In reply to comment #46)

&gt; Should I open a new bug covering this issue?

Yeah, as I suggested above, deciding what versions to use in Since tags is not a question that this bug needs to solve and shouldn&apos;t block this patch. Probably it deserves a short note to the mailing list to gather opinions. It&apos;s such a minor issue that hopefully it shouldn&apos;t be too controversial. :) Once we decide what to do, we can open a bug to fix all the existing Since tags. It&apos;s totally orthoganol to smooth scrolling though.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95622</attachid>
            <date>2011-06-01 10:38:21 -0700</date>
            <delta_ts>2011-06-01 11:25:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-16123-20110601103820.patch</filename>
            <type>text/plain</type>
            <size>38905</size>
            <attacher name="Scott Byer">scottbyer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc4MTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyMjE3MDQzYWZjNGVlOWM0
ODdlZTAwZDdmOWI2NDI5YzBmNmM4ZGYxLi43ZjdlOGNmMTY1NWQ2YTk3NzA3MDU0MDZkNTI2ODY5
YTE2ZTY5ZTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTEtMDYtMDEgIFNjb3R0
IEJ5ZXIgIDxzY290dGJ5ZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtdIFNtb290aCBzY3JvbGxpbmcgc3VwcG9ydAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxMjMKKwor
ICAgICAgICBDdXJyZW50bHkgb2ZmIGJ5IGRlZmF1bHQsIExpbnV4IG9ubHksIHRlc3RzIGNvbWlu
ZyBzaG9ydGx5LCBub3QgeWV0IHBhcnQgb2Ygc3RhbmRhbG9uZSBXZWJLaXQKKyAgICAgICAgYnVp
bGQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgor
ICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzY3JvbGxBbmltYXRvckVuYWJsZWQpOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvckxp
bnV4LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvclNldHRpbmdz
OjpTY3JvbGxBbmltYXRvclNldHRpbmdzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JMaW51eDo6UGVy
QXhpc0RhdGE6OmN1cnZlSW50ZWdyYWxBdCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmlt
YXRvckxpbnV4OjpQZXJBeGlzRGF0YTo6Y3VydmVBcmVhKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbEFuaW1hdG9yTGludXg6OlBlckF4aXNEYXRhOjphdHRhY2tDdXJ2ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRvckxpbnV4OjpQZXJBeGlzRGF0YTo6cmVsZWFzZUN1cnZlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTGludXg6OlBlckF4aXNEYXRhOjpQZXJB
eGlzRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckxpbnV4OjpQZXJBeGlz
RGF0YTo6cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JMaW51eDo6UGVy
QXhpc0RhdGE6OnVwZGF0ZURhdGFGcm9tU2V0dGluZ3MpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQW5pbWF0b3JMaW51eDo6UGVyQXhpc0RhdGE6OmFuaW1hdGVTY3JvbGwpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JMaW51eDo6U2Nyb2xsQW5pbWF0b3JMaW51eCk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckxpbnV4Ojp+U2Nyb2xsQW5pbWF0b3JMaW51eCk6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckxpbnV4OjpzY3JvbGwpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JMaW51eDo6c2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5p
bWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTGludXg6OmFuaW1hdGlv
blRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JMaW51eDo6c3Rv
cEFuaW1hdGlvblRpbWVySWZOZWVkZWQpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1h
dG9yTGludXguaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JTZXR0
aW5ncy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Z2xvYmFsU2Nyb2xsQW5pbWF0b3JT
ZXR0aW5ncyk6CisgICAgICAgIChXZWJDb3JlOjpzZXRTY3JvbGxBbmltYXRvclNldHRpbmdzKToK
KyAgICAgICAgKFdlYkNvcmU6OnNjcm9sbEFuaW1hdG9yU2V0dGluZ3MpOgorICAgICAgICAoV2Vi
Q29yZTo6c2V0U2Nyb2xsQW5pbWF0b3JFbmFibGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3Jv
bGxBbmltYXRvclNldHRpbmdzLmg6IEFkZGVkLgorCiAyMDExLTA2LTAxICBZdXJ5IFNlbWlraGF0
c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZl
bGRtYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDAxM2YwNDQ0
Mjg1OWZiOWU2MjIzZTNjODcyZDNlOWEyMjQyZDg3NDEuLmQ0ZGYzODcyNzU2MGY5Mjg1MjliZDE0
ZmU5OGVmMjkzZDM5YWQ5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lw
CkBAIC0xNjQyLDYgKzE2NDIsMTQgQEAKICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIp
L3Y4L3NyYy9leHRlbnNpb25zL2V4cGVyaW1lbnRhbC9leHBlcmltZW50YWwuZ3lwOmkxOG5fYXBp
JywKICAgICAgICAgICBdLAogICAgICAgICB9XSwKKyAgICAgICAgWydPUz09ImxpbnV4IiBhbmQg
IkVOQUJMRV9TTU9PVEhfU0NST0xMSU5HPTEiIGluIGZlYXR1cmVfZGVmaW5lcycsIHsKKyAgICAg
ICAgICAnc291cmNlcy8nOiBbCisgICAgICAgICAgICBbJ2luY2x1ZGUnLCAnL1Njcm9sbEFuaW1h
dG9yTGludXhcXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2luY2x1ZGUnLCAnL1Njcm9sbEFuaW1h
dG9yTGludXhcXC5oJCddLAorICAgICAgICAgICAgWydpbmNsdWRlJywgJy9TY3JvbGxBbmltYXRv
clNldHRpbmdzXFwuY3BwJCddLAorICAgICAgICAgICAgWydpbmNsdWRlJywgJy9TY3JvbGxBbmlt
YXRvclNldHRpbmdzXFwuaCQnXSwKKyAgICAgICAgICBdLAorICAgICAgICB9XSwKICAgICAgIF0s
CiAgICAgfSwKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMTAwM2I5YWUxN2QyNTM4ZDVlMDZl
ZmI3ZjAxNDBjZjE3ZmExYWY3YS4uY2UxODE1ZDhhOGNkN2JiZTNhMjI5NGE5NTI1NWU0ODVjMTg0
ZDQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzYxNCw2ICszNjE0LDEwIEBACiAgICAgICAgICAg
ICAncGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9T
Y3JvbGxBbmltYXRvci5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
LmgnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTGludXguY3BwJywKKyAg
ICAgICAgICAgICdwbGF0Zm9ybS9TY3JvbGxBbmltYXRvckxpbnV4LmgnLAorICAgICAgICAgICAg
J3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yU2V0dGluZ3MuY3BwJywKKyAgICAgICAgICAgICdwbGF0
Zm9ybS9TY3JvbGxBbmltYXRvclNldHRpbmdzLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1Nj
cm9sbEFuaW1hdG9yV2luLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3JXaW4uaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAnLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmNwcAppbmRleCA4NzhhOWI4MmY2YThkYjY0ZTQ5ZDgzMTI0NDc5NTA0ODM1
M2ZkNzFkLi4zMjk2MzlhZjY0YzUwZjlmOTM5NzU4ZTIyZDhiNjY4MzVkMGViOWE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtNDIsNiArNDIsMTAgQEAKICNpbmNsdWRlICJTdG9yYWdl
TWFwLmgiCiAjaW5jbHVkZSA8bGltaXRzPgogCisjaWYgRU5BQkxFKFNNT09USF9TQ1JPTExJTkcp
CisjaW5jbHVkZSAiU2Nyb2xsQW5pbWF0b3JTZXR0aW5ncy5oIgorI2VuZGlmCisKIHVzaW5nIG5h
bWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTE4MSw2ICsxODUsOSBAQCBT
ZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1fc2hvdWxkSW5qZWN0VXNlclNj
cmlwdHNJbkluaXRpYWxFbXB0eURvY3VtZW50KGZhbHNlKQogICAgICwgbV9hbGxvd0Rpc3BsYXlP
Zkluc2VjdXJlQ29udGVudCh0cnVlKQogICAgICwgbV9hbGxvd1J1bm5pbmdPZkluc2VjdXJlQ29u
dGVudCh0cnVlKQorI2lmIEVOQUJMRShTTU9PVEhfU0NST0xMSU5HKQorICAgICwgbV9lbmFibGVT
Y3JvbGxBbmltYXRvcihmYWxzZSkKKyNlbmRpZgogICAgICwgbV9sb2Fkc0ltYWdlc0F1dG9tYXRp
Y2FsbHlUaW1lcih0aGlzLCAmU2V0dGluZ3M6OmxvYWRzSW1hZ2VzQXV0b21hdGljYWxseVRpbWVy
RmlyZWQpCiB7CiAgICAgLy8gQSBGcmFtZSBtYXkgbm90IGhhdmUgYmVlbiBjcmVhdGVkIHlldCwg
c28gd2UgaW5pdGlhbGl6ZSB0aGUgQXRvbWljU3RyaW5nIApAQCAtNzU1LDQgKzc2MiwxNiBAQCB2
b2lkIFNldHRpbmdzOjpzZXRUaWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQoYm9vbCBlbmFibGVkKQog
I2VuZGlmCiB9CiAKKyNpZiBFTkFCTEUoU01PT1RIX1NDUk9MTElORykKK3ZvaWQgU2V0dGluZ3M6
OnNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKGJvb2wgZmxhZykKK3sKKyAgICBzZXRTY3JvbGxBbmlt
YXRvckVuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgU2V0dGluZ3M6OnNjcm9sbEFuaW1hdG9yRW5h
YmxlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHNjcm9sbEFuaW1hdG9yU2V0dGluZ3MoKS5lbmFi
bGVkOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaAppbmRleCA4OTljOTdjNGU3ZDg1OWZjNTVhM2ZjNDUxMWI3MWJhZTNkYTkxYzQ0Li41MjBl
MDBkNGYzZGY2NWE2NDEyZjUxOWJlNjQ2ZWE5OTM1OTU4MTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5oCkBAIC00MDUsNiArNDA1LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9p
ZCBzZXRBbGxvd1J1bm5pbmdPZkluc2VjdXJlQ29udGVudChib29sIGZsYWcpIHsgbV9hbGxvd1J1
bm5pbmdPZkluc2VjdXJlQ29udGVudCA9IGZsYWc7IH0KICAgICAgICAgYm9vbCBhbGxvd1J1bm5p
bmdPZkluc2VjdXJlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dSdW5uaW5nT2ZJbnNl
Y3VyZUNvbnRlbnQ7IH0KIAorI2lmIEVOQUJMRShTTU9PVEhfU0NST0xMSU5HKQorICAgICAgICB2
b2lkIHNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKGJvb2wgZmxhZyk7CisgICAgICAgIGJvb2wgc2Ny
b2xsQW5pbWF0b3JFbmFibGVkKCkgY29uc3Q7CisjZW5kaWYKKwogICAgIHByaXZhdGU6CiAgICAg
ICAgIFBhZ2UqIG1fcGFnZTsKIApAQCAtNTEwLDYgKzUxNSw5IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgYm9vbCBtX3Nob3VsZEluamVjdFVzZXJTY3JpcHRzSW5Jbml0aWFsRW1wdHlE
b2N1bWVudCA6IDE7CiAgICAgICAgIGJvb2wgbV9hbGxvd0Rpc3BsYXlPZkluc2VjdXJlQ29udGVu
dCA6IDE7CiAgICAgICAgIGJvb2wgbV9hbGxvd1J1bm5pbmdPZkluc2VjdXJlQ29udGVudCA6IDE7
CisjaWYgRU5BQkxFKFNNT09USF9TQ1JPTExJTkcpCisgICAgICAgIGJvb2wgbV9lbmFibGVTY3Jv
bGxBbmltYXRvciA6IDE7CisjZW5kaWYKIAogICAgICAgICBUaW1lcjxTZXR0aW5ncz4gbV9sb2Fk
c0ltYWdlc0F1dG9tYXRpY2FsbHlUaW1lcjsKICAgICAgICAgdm9pZCBsb2Fkc0ltYWdlc0F1dG9t
YXRpY2FsbHlUaW1lckZpcmVkKFRpbWVyPFNldHRpbmdzPiopOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JMaW51eC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvckxpbnV4LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzY0NTA2MDAx
MDEwNzZlZmFmNjNiY2NhODU0ODM5MGFlMmRhOGMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JMaW51eC5jcHAKQEAgLTAsMCArMSw0NzEg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFNNT09USF9TQ1JPTExJTkcpCisK
KyNpbmNsdWRlICJTY3JvbGxBbmltYXRvckxpbnV4LmgiCisKKyNpbmNsdWRlICJGbG9hdFBvaW50
LmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlICJPd25BcnJheVB0ci5o
IgorI2luY2x1ZGUgIlNjcm9sbEFuaW1hdG9yU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJTY3JvbGxh
YmxlQXJlYS5oIgorI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lLmgiCisjaW5jbHVkZSAiVHJhY2VF
dmVudC5oIgorI2luY2x1ZGUgPGFsZ29yaXRobT4KKyNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K3N0YXRpYyBkb3VibGUga1RpY2tUaW1lID0gLjAxNjY7CisKK1Njcm9sbEFuaW1hdG9yU2V0dGlu
Z3M6OlNjcm9sbEFuaW1hdG9yU2V0dGluZ3MoKQoreworICAgIC8vIERpc2FibGVkIGJ5IGRlZmF1
bHQgZm9yIG5vdy4KKyAgICBlbmFibGVkID0gZmFsc2U7CisKKyAgICBTZXR0aW5ncyBpbml0aWFs
ID0geyBmYWxzZSwgMC4yNSwgTGluZWFyLCAwLjAxLCBMaW5lYXIsIDAuMDEsIGZhbHNlLCBmYWxz
ZSwgTGluZWFyLCAwLCAwIH07CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAg
ICAgIHNldHRpbmdzW2ldID0gaW5pdGlhbDsKKworICAgIFNldHRpbmdzIGtleWJvYXJkTGluZSA9
IHsgdHJ1ZSwgNyAqIGtUaWNrVGltZSwgUXVhZHJhdGljLCAzICoga1RpY2tUaW1lLCBRdWFkcmF0
aWMsIDMgKiBrVGlja1RpbWUsIGZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmFsc2UsIFF1YWRyYXRpYywgMCwgMCB9OworICAgIHNldHRpbmdzW0tleWJvYXJkTGluZV0gPSBr
ZXlib2FyZExpbmU7CisKKyAgICBTZXR0aW5ncyBrZXlib2FyZFBhZ2UgPSB7IHRydWUsIDE1ICog
a1RpY2tUaW1lLCBRdWFkcmF0aWMsIDUgKiBrVGlja1RpbWUsIFF1YWRyYXRpYywgNSAqIGtUaWNr
VGltZSwgZmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwgUXVhZHJh
dGljLCAwLCAwIH07CisgICAgc2V0dGluZ3NbS2V5Ym9hcmRQYWdlXSA9IGtleWJvYXJkUGFnZTsK
KworICAgIFNldHRpbmdzIG1vdXNlV2hlZWwgPSB7IHRydWUsIDExICoga1RpY2tUaW1lLCBRdWFk
cmF0aWMsIDMgKiBrVGlja1RpbWUsIFF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSwgZmFsc2UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSwgUXVhZHJhdGljLCAwLCAwIH07CisgICAg
c2V0dGluZ3NbTW91c2VXaGVlbF0gPSBtb3VzZVdoZWVsOworfQorCitQYXNzT3duUHRyPFNjcm9s
bEFuaW1hdG9yPiBTY3JvbGxBbmltYXRvcjo6Y3JlYXRlKFNjcm9sbGFibGVBcmVhKiBzY3JvbGxh
YmxlQXJlYSkKK3sKKyAgICBpZiAoc2Nyb2xsQW5pbWF0b3JTZXR0aW5ncygpLmVuYWJsZWQpCisg
ICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2Nyb2xsQW5pbWF0b3JMaW51eChzY3JvbGxhYmxl
QXJlYSkpOworICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2Nyb2xsQW5pbWF0b3Ioc2Nyb2xsYWJs
ZUFyZWEpKTsKK30KKworLy8gVGhpcyBpcyB1c2VkIHRvIHNldCB0aGUgdGltZXIgZGVsYXkgLSBo
b3cgbXVjaCBzbWFsbGVyIHRoYW4gYSB0aWNrIGRvZXMgaXQgbmVlZCB0byBiZT8KK2NvbnN0IGRv
dWJsZSBTY3JvbGxBbmltYXRvckxpbnV4OjphbmltYXRpb25UaW1lckRlbGF5ID0ga1RpY2tUaW1l
OworCitkb3VibGUgU2Nyb2xsQW5pbWF0b3JMaW51eDo6UGVyQXhpc0RhdGE6OmN1cnZlSW50ZWdy
YWxBdChTY3JvbGxBbmltYXRvclNldHRpbmdzOjpDdXJ2ZSBjdXJ2ZSwgZG91YmxlIHQpCit7Cisg
ICAgc3dpdGNoIChjdXJ2ZSkgeworICAgIGNhc2UgU2Nyb2xsQW5pbWF0b3JTZXR0aW5nczo6TGlu
ZWFyOgorICAgICAgICByZXR1cm4gdCAqIHQgLyAyOworICAgIGNhc2UgU2Nyb2xsQW5pbWF0b3JT
ZXR0aW5nczo6UXVhZHJhdGljOgorICAgICAgICByZXR1cm4gdCAqIHQgKiB0IC8gMzsKKyAgICBj
YXNlIFNjcm9sbEFuaW1hdG9yU2V0dGluZ3M6OkN1YmljOgorICAgICAgICByZXR1cm4gdCAqIHQg
KiB0ICogdCAvIDQ7CisgICAgY2FzZSBTY3JvbGxBbmltYXRvclNldHRpbmdzOjpCb3VuY2U6Cisg
ICAgICAgIGRvdWJsZSB4LCBhcmVhOworICAgICAgICBpZiAodCA8IDEgLyAyLjc1KQorICAgICAg
ICAgICAgcmV0dXJuIDIuNTIwODMgKiB0ICogdCAqIHQ7CisgICAgICAgIHggPSAxIC8gMi43NTsK
KyAgICAgICAgYXJlYSA9IDIuNTIwODMgKiB4ICogeCAqIHg7CisgICAgICAgIGlmICh0IDwgMiAv
IDIuNzUpIHsKKyAgICAgICAgICAgIGRvdWJsZSB0MSA9IHQgLSAxLjUgLyAyLjc1OworICAgICAg
ICAgICAgcmV0dXJuIGFyZWEgKyAyLjUyMDgzICogdDEgKiAodDEgKiB0MSArIDAuMjk3NTEpOwor
ICAgICAgICB9CisgICAgICAgIHggPSAyIC8gMi43NTsKKyAgICAgICAgLy8gVGhlIGxhc3QgdHdv
IGJvdW5jZXMgYXJlbid0IGVub3VnaCB0byBhZmZlY3QgdGhpbmdzLgorICAgICAgICByZXR1cm4g
YXJlYSArIDIuNTIwODMgKiB4ICogKHggKiB4ICsgMHgyOTc1MSk7CisgICAgfQorfQorCitkb3Vi
bGUgU2Nyb2xsQW5pbWF0b3JMaW51eDo6UGVyQXhpc0RhdGE6OmN1cnZlQXJlYShTY3JvbGxBbmlt
YXRvclNldHRpbmdzOjpDdXJ2ZSBjdXJ2ZSwgZG91YmxlIHN0YXJ0VCwgZG91YmxlIGVuZFQpCit7
CisgICAgc3RhdGljIGRvdWJsZSBjdXJ2ZUFyZWFbXSA9IHsgMS4wLCAwLjUsIDAuMzMsIDAuMSB9
OworICAgIGRvdWJsZSBzdGFydFZhbHVlID0gMDsKKyAgICBkb3VibGUgZW5kVmFsdWUgPSBjdXJ2
ZUFyZWFbY3VydmVdOworCisgICAgaWYgKHN0YXJ0VCkKKyAgICAgICAgc3RhcnRWYWx1ZSA9IGN1
cnZlSW50ZWdyYWxBdChjdXJ2ZSwgc3RhcnRUKTsKKyAgICBpZiAoZW5kVCAhPSAxKQorICAgICAg
ICBlbmRWYWx1ZSA9IGN1cnZlSW50ZWdyYWxBdChjdXJ2ZSwgZW5kVCk7CisgICAgcmV0dXJuIGVu
ZFZhbHVlIC0gc3RhcnRWYWx1ZTsKK30KKworZG91YmxlIFNjcm9sbEFuaW1hdG9yTGludXg6OlBl
ckF4aXNEYXRhOjphdHRhY2tDdXJ2ZShTY3JvbGxBbmltYXRvclNldHRpbmdzOjpDdXJ2ZSBjdXJ2
ZSwgZG91YmxlIGRlbHRhVCwgZG91YmxlIGN1cnZlVCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIHN0YXJ0UG9zLCBkb3VibGUgYXR0
YWNrUG9zKQoreworICAgIGRvdWJsZSB0ID0gZGVsdGFUIC8gY3VydmVUOworICAgIGRvdWJsZSBw
b3NpdGlvbkZhY3RvcjsKKyAgICBzd2l0Y2ggKGN1cnZlKSB7CisgICAgY2FzZSBTY3JvbGxBbmlt
YXRvclNldHRpbmdzOjpMaW5lYXI6CisgICAgICAgIHBvc2l0aW9uRmFjdG9yID0gdDsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBTY3JvbGxBbmltYXRvclNldHRpbmdzOjpRdWFkcmF0aWM6Cisg
ICAgICAgIHBvc2l0aW9uRmFjdG9yID0gdCAqIHQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
U2Nyb2xsQW5pbWF0b3JTZXR0aW5nczo6Q3ViaWM6CisgICAgICAgIHBvc2l0aW9uRmFjdG9yID0g
dCAqIHQgKiB0OworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBub3RJbXBs
ZW1lbnRlZCgpOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIHN0YXJ0UG9zICsg
cG9zaXRpb25GYWN0b3IgKiAoYXR0YWNrUG9zIC0gc3RhcnRQb3MpOworfQorCitkb3VibGUgU2Ny
b2xsQW5pbWF0b3JMaW51eDo6UGVyQXhpc0RhdGE6OnJlbGVhc2VDdXJ2ZShTY3JvbGxBbmltYXRv
clNldHRpbmdzOjpDdXJ2ZSBjdXJ2ZSwgZG91YmxlIGRlbHRhVCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBjdXJ2ZVQsIGRvdWJs
ZSByZWxlYXNlUG9zLCBkb3VibGUgZGVzaXJlZFBvcykKK3sKKyAgICBkb3VibGUgdCA9IGRlbHRh
VCAvIGN1cnZlVDsKKyAgICBkb3VibGUgaW52VCA9IDEgLSB0OworICAgIGRvdWJsZSBwb3NpdGlv
bkZhY3RvcjsKKyAgICBzd2l0Y2ggKGN1cnZlKSB7CisgICAgY2FzZSBTY3JvbGxBbmltYXRvclNl
dHRpbmdzOjpMaW5lYXI6CisgICAgICAgIHBvc2l0aW9uRmFjdG9yID0gMS4wIC0gaW52VDsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBTY3JvbGxBbmltYXRvclNldHRpbmdzOjpRdWFkcmF0aWM6
CisgICAgICAgIHBvc2l0aW9uRmFjdG9yID0gMS4wIC0gaW52VCAqIGludlQ7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgU2Nyb2xsQW5pbWF0b3JTZXR0aW5nczo6Q3ViaWM6CisgICAgICAgIHBv
c2l0aW9uRmFjdG9yID0gMS4wIC0gaW52VCAqIGludlQgKiBpbnZUOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIFNjcm9sbEFuaW1hdG9yU2V0dGluZ3M6OkJvdW5jZToKKyAgICAgICAgaWYgKHQg
PCAxIC8gMi43NSkKKyAgICAgICAgICAgIHBvc2l0aW9uRmFjdG9yID0gNy41NjI1ICogdCAqIHQ7
CisgICAgICAgIGVsc2UgaWYgKHQgPCAyIC8gMi43NSkgeworICAgICAgICAgICAgZG91YmxlIHQx
ID0gdCAtIDEuNSAvIDIuNzU7CisgICAgICAgICAgICBwb3NpdGlvbkZhY3RvciA9IDcuNTYyNSAq
IHQxICogdDEgKyAuNzU7CisgICAgICAgIH0gZWxzZSBpZiAodCA8IDIuNSAvIDIuNzUpIHsKKyAg
ICAgICAgICAgIGRvdWJsZSB0MiA9IHQgLSAyLjI1IC8gMi43NTsKKyAgICAgICAgICAgIHBvc2l0
aW9uRmFjdG9yID0gNy41NjI1ICogdDIgKiB0MiArIC45Mzc1OworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgdCAtPSAyLjYyNSAvIDIuNzU7CisgICAgICAgICAgICBwb3NpdGlvbkZhY3Rv
ciA9IDcuNTYyNSAqIHQgKiB0ICsgLjk4NDM3NTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsK
KyAgICB9CisgICAgcmV0dXJuIHJlbGVhc2VQb3MgKyAocG9zaXRpb25GYWN0b3IgKiAoZGVzaXJl
ZFBvcyAtIHJlbGVhc2VQb3MpKTsKK30KKworU2Nyb2xsQW5pbWF0b3JMaW51eDo6UGVyQXhpc0Rh
dGE6OlBlckF4aXNEYXRhKFNjcm9sbEFuaW1hdG9yTGludXgqIHBhcmVudCwgZmxvYXQqIGN1cnJl
bnRQb3MpCisgICAgOiBtX2N1cnJlbnRQb3MoY3VycmVudFBvcykKKyAgICAsIG1fYW5pbWF0aW9u
VGltZXIocGFyZW50LCAmU2Nyb2xsQW5pbWF0b3JMaW51eDo6YW5pbWF0aW9uVGltZXJGaXJlZCkK
K3sKKyAgICByZXNldCgpOworfQorCit2b2lkIFNjcm9sbEFuaW1hdG9yTGludXg6OlBlckF4aXNE
YXRhOjpyZXNldCgpCit7CisgICAgbV9jdXJyZW50VmVsb2NpdHkgPSAwOworCisgICAgbV9kZXNp
cmVkUG9zID0gMDsKKyAgICBtX2Rlc2lyZWRWZWxvY2l0eSA9IDA7CisKKyAgICBtX3N0YXJ0UG9z
ID0gMDsKKyAgICBtX3N0YXJ0VGltZSA9IDA7CisgICAgbV9zdGFydFZlbG9jaXR5ID0gMDsKKwor
ICAgIG1fYW5pbWF0aW9uVGltZSA9IDA7CisgICAgbV9sYXN0QW5pbWF0aW9uVGltZSA9IDA7CisK
KyAgICBtX2F0dGFja1BvcyA9IDA7CisgICAgbV9hdHRhY2tUaW1lID0gMDsKKyAgICBtX2F0dGFj
a09mZnNldCA9IDA7CisgICAgbV9hdHRhY2tDdXJ2ZSA9IFNjcm9sbEFuaW1hdG9yU2V0dGluZ3M6
OlF1YWRyYXRpYzsKKworICAgIG1fcmVsZWFzZVBvcyA9IDA7CisgICAgbV9yZWxlYXNlVGltZSA9
IDA7CisgICAgbV9yZWxlYXNlQ3VydmUgPSBTY3JvbGxBbmltYXRvclNldHRpbmdzOjpRdWFkcmF0
aWM7CisKKyAgICBtX2ZsaW5nVGltZSA9IDA7CisgICAgbV9mbGluZ0N1cnZlID0gU2Nyb2xsQW5p
bWF0b3JTZXR0aW5nczo6UXVhZHJhdGljOworCisgICAgbV9ib3VuY2UgPSBmYWxzZTsKKyAgICBt
X2ZsaW5nID0gZmFsc2U7CisgICAgbV9mbGluZ0Ftb3VudCA9IDA7Cit9CisKKworYm9vbCBTY3Jv
bGxBbmltYXRvckxpbnV4OjpQZXJBeGlzRGF0YTo6dXBkYXRlRGF0YUZyb21TZXR0aW5ncyhTY3Jv
bGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgZmxvYXQgc3RlcCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgbXVs
dGlwbGllciwgZmxvYXQgc2Nyb2xsYWJsZVNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBjdXJyZW50VGltZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgU2Nyb2xsQW5pbWF0b3JTZXR0aW5nczo6U2V0dGluZ3MqIHNldHRpbmdzKQor
eworICAgIC8vIEZJWE1FOiBUaGlzIG5lZWRzIHRvIGJlIHBhcmFtZXRlcml6ZWQgc28gdGhhdCBJ
IGNhbiB0cnkgZGlmZmVyZW50IGN1cnZlcyBiZXR3ZWVuIHRoZSBiYXNlIGFuaW1hdGlvbiB0aW1l
IGFuZCBhCisgICAgLy8gbWF4aW11bSBhbmltYXRpb24gdGltZSwgYmFzZWQgb24gY3VycmVudCB2
ZWxvY2l0eSwgd2hpY2ggc2hvdWxkIGFsc28gZW5kIHVwIGJlaW5nIGNsb3NlIHRvIHRoZSBmbGlu
ZyB0aW1lLCBpZgorICAgIC8vIGxpbWl0ZWQgKHNlZSBiZWxvdykuCisgICAgZG91YmxlIHJlbWFp
bmluZ0FuaW1hdGlvblRpbWUgPSBtX2FuaW1hdGlvblRpbWUgLSBtX2xhc3RBbmltYXRpb25UaW1l
ICsgbV9zdGFydFRpbWU7CisgICAgbV9hbmltYXRpb25UaW1lID0gKHJlbWFpbmluZ0FuaW1hdGlv
blRpbWUgLyAyKSArIHNldHRpbmdzLT5hbmltYXRpb25UaW1lOworCisgICAgLy8gVGhvdWdodHMg
b24gZmxpbmcuIEZsaW5nIHNob3VsZCBhbHdheXMgYmUgcHJlcGFyZWQgZm9yLCBidXQgc2hvdWxk
bid0IGJlIGFjdHVhbGx5IHN0YXJ0ZWQgdW50aWwgd2UncmUgc3VyZSB0aGUKKyAgICAvLyB1c2Vy
IGlzIG5vIGxvbmdlciBmaWRkbGluZyB3aXRoIHRoZSBkZXZpY2UgdGhhdCdzIGRvaW5nIHRoZSBm
bGluZy4gVGh1cywgdGhlIGZsaW5nIHRpbWUgcmVhbGx5IHNob3VsZCBiZQorICAgIC8vIHNwZWNp
ZmllZCB0aGUgb3RoZXIgd2F5LCBwZXIgZGV2aWNlIC0gaG93IGxvbmcgc2luY2UgdGhlIGxhc3Qg
c2Nyb2xsIG1lc3NhZ2UgZnJvbSB0aGF0IGRldmljZSBiZWZvcmUgd2UgY29uc2lkZXIKKyAgICAv
LyB0aGUgdXNlciB0byBoYXZlIGxldCBnbywgYW5kIGZvciB0aGUgZmxpbmcgbW9kZWwgYW5kIGl0
J3MgbXVjaC1mYXJ0aGVyLW91dCBkZXNpcmVkIHNjcm9sbCBwb3NpdGlvbiB0byB0YWtlIG92ZXIK
KyAgICAvLyBmcm9tIHRoZSBhbmltYXRpb24gbW9kZWwuCisKKyAgICAvLyBGSVhNRTogTmVlZCB0
byB0aGluayBvZiBwb3NzaWJsZSBmbGluZyBtb2RlbHMuIFByb2plY3Rpb24gYWxvbmcgYSBzbG9w
ZSwgcHJvcGVybHkgcGlubmVkPyBKdXN0IHBpbiB0aGUgc2xvcGU/CisgICAgLy8gSGF2ZSBhIHNw
ZWVkIGxpbWl0IGFuZCBsZXQgdGhlIHRpbWUgZmxvYXQgbW9yZT8gSGF2ZSBhIG1heCB0aW1lIGFz
IHdlbGwsIHByaW9yaXRpemUgdGltZSBvciBzcGVlZD8KKyAgICBpZiAoc2V0dGluZ3MtPmlzRmxp
bmdFbmFibGVkKSB7CisgICAgICAgIGlmIChtX2FuaW1hdGlvblRpbWUgPiAyICogc2V0dGluZ3Mt
PmFuaW1hdGlvblRpbWUpIHsKKyAgICAgICAgICAgIG1fZmxpbmcgPSB0cnVlOworICAgICAgICAg
ICAgbV9hbmltYXRpb25UaW1lICo9IDM7CisgICAgICAgICAgICBtdWx0aXBsaWVyICo9IDI7Cisg
ICAgICAgIH0gZWxzZSBpZiAobV9hbmltYXRpb25UaW1lIDwgMS4yICogc2V0dGluZ3MtPmFuaW1h
dGlvblRpbWUpCisgICAgICAgICAgICBtX2ZsaW5nID0gZmFsc2U7CisgICAgfQorCisgICAgLy8g
RklYTUU6IFNob3VsZCB3aGF0ZXZlciB3ZSBkbyBmb3IgYWRkaW5nIHRvZ2V0aGVyIGFuaW1hdGlv
biB0aW1lcyBhbHNvIGJlIHJlZmxlY3RlZCBpbiB0aGUgYXR0YWNrIGFuZCByZWxlYXNlCisgICAg
Ly8gdGltZXMgLSBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIG5ldyBhbmltYXRpb24gdGltZSBtYXli
ZT8KKyAgICBtX2F0dGFja1RpbWUgPSBzZXR0aW5ncy0+YXR0YWNrVGltZTsKKyAgICBtX3JlbGVh
c2VUaW1lID0gc2V0dGluZ3MtPnJlbGVhc2VUaW1lOworICAgIG1fYXR0YWNrQ3VydmUgPSBzZXR0
aW5ncy0+YXR0YWNrQ3VydmU7CisgICAgbV9yZWxlYXNlQ3VydmUgPSBzZXR0aW5ncy0+cmVsZWFz
ZUN1cnZlOworICAgIG1fZmxpbmdDdXJ2ZSA9IHNldHRpbmdzLT5mbGluZ0N1cnZlOworCisgICAg
Ly8gSSdtIHRoaW5raW5nIHRoYXQgZmxpbmcgdGltZSBzaG91bGQgYmUgMnggdGhlIGV4cGVjdGVk
IGFtb3VudCBvZiB0aW1lIGJldHdlZW4gZXZlbnRzIGZyb20gdGhlIHNwZWNpZmljIGRldmljZSAt
CisgICAgLy8gZS5nLiwgMS81MHRoIHNlY29uZCBmb3IgMTAwSHogZGV2aWNlcyBsaWtlIHRoZSBt
b3VzZSB3aGVlbCAoYW5kIHRvdWNoPykuIDEvMTAwdGggc2Vjb25kIGZvciBzb21ldGhpbmcgbGlr
ZSBhIGhpZ2gKKyAgICAvLyBzYW1wbGUgZnJlcXVlbmN5IHRhYmxldC4gVGhlcmUncyBhIHRlbnNp
b24gdGhlcmUgYmV0d2VlbiB0b3VjaCBkcmFncyB3YW50aW5nIGxvdyBsYXRlbmN5IGFuZCBoYXZp
bmcgZW5vdWdoIHRpbWUKKyAgICAvLyB0byBmaWd1cmUgb3V0IHRoZSBmbGluZyB3aXRob3V0IHRo
ZSBtb3VzZSB1cCBldmVudHMuIFdoaWNoIGlzIHdoeSBmbGluZyBiZWhhdmlvciAoYW5kIGV2ZW50
dWFsIGZsaW5nIHRhcmdldGluZykKKyAgICAvLyBiZWxvbmdzIGluIHRoZSBnZXN0dXJlIHJlY29n
bml6ZXIuIFRob3VnaCByZWNvZ25pemluZyBmbGluZ3Mgb24gYSBtb3VzZSB3aGVlbCB3aWxsIGJl
IGludGVyZXN0aW5nLi4uCisgICAgbV9mbGluZ1RpbWUgPSBzZXR0aW5ncy0+ZmxpbmdUaW1lOwor
CisgICAgLy8gUHJpb3JpdGl6ZSBvdXIgd2F5IG91dCBvZiBvdmVyIGNvbnN0cmFpbnQuCisgICAg
aWYgKG1fYXR0YWNrVGltZSArIG1fcmVsZWFzZVRpbWUgPiBtX2FuaW1hdGlvblRpbWUpIHsKKyAg
ICAgICAgaWYgKG1fcmVsZWFzZVRpbWUgPiBtX2FuaW1hdGlvblRpbWUpCisgICAgICAgICAgICBt
X3JlbGVhc2VUaW1lID0gbV9hbmltYXRpb25UaW1lOworICAgICAgICBtX2F0dGFja1RpbWUgPSBt
X2FuaW1hdGlvblRpbWUgLSBtX3JlbGVhc2VUaW1lOworICAgIH0KKworICAgIG1fb3JpZW50YXRp
b24gPSBvcmllbnRhdGlvbjsKKworICAgIGlmICghbV9kZXNpcmVkUG9zKQorICAgICAgICBtX2Rl
c2lyZWRQb3MgPSAqbV9jdXJyZW50UG9zOworICAgIGZsb2F0IG5ld1BvcyA9IG1fZGVzaXJlZFBv
cyArIChzdGVwICogbXVsdGlwbGllcik7CisKKyAgICAvLyBGSVhNRTogUmVhbGx5LCB0aGUgYm91
bmNlIGN1cnZlIHNob3VsZCBiZSBhY3RpdmF0ZWQgb25seSB3aGVuIHVuZGVyIHRoZSBmbGluZyBw
cm9maWxlLiBUaGUgYm91bmNlIGVuYWJsZWQgc2hvdWxkCisgICAgLy8gZ28gYXdheSBhcyBhIHNl
cGFyYXRlIGZsYWcuCisgICAgaWYgKG5ld1BvcyA8IDAgfHwgbmV3UG9zID4gc2Nyb2xsYWJsZVNp
emUpIHsKKyAgICAgICAgaWYgKHNldHRpbmdzLT5pc0JvdW5jZUVuYWJsZWQpIHsKKyAgICAgICAg
ICAgIG1fYm91bmNlID0gdHJ1ZTsKKyAgICAgICAgICAgIG1fcmVsZWFzZUN1cnZlID0gU2Nyb2xs
QW5pbWF0b3JTZXR0aW5nczo6Qm91bmNlOworICAgICAgICAgICAgbV9mbGluZ0N1cnZlID0gU2Ny
b2xsQW5pbWF0b3JTZXR0aW5nczo6Qm91bmNlOworICAgICAgICB9CisgICAgICAgIG5ld1BvcyA9
IHN0ZDo6bWF4KHN0ZDo6bWluKG5ld1Bvcywgc2Nyb2xsYWJsZVNpemUpLCAwLjBmKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgbV9ib3VuY2UgPSBmYWxzZTsKKworICAgIGlmIChuZXdQb3MgPT0gbV9k
ZXNpcmVkUG9zKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX2Rlc2lyZWRQb3MgPSBu
ZXdQb3M7CisKKyAgICBpZiAoIW1fc3RhcnRUaW1lKSB7CisgICAgICAgIC8vIEZJWE1FOiBUaGlz
IHNob3VsZCBiZSB0aGUgdGltZSBmcm9tIHRoZSBldmVudCB0aGF0IGdvdCB1cyBoZXJlLgorICAg
ICAgICBtX3N0YXJ0VGltZSA9IGN1cnJlbnRUaW1lIC0ga1RpY2tUaW1lIC8gMjsKKyAgICAgICAg
bV9zdGFydFBvcyA9ICptX2N1cnJlbnRQb3M7CisgICAgICAgIG1fbGFzdEFuaW1hdGlvblRpbWUg
PSBtX3N0YXJ0VGltZTsKKyAgICB9CisgICAgbV9zdGFydFZlbG9jaXR5ID0gbV9jdXJyZW50VmVs
b2NpdHk7CisKKyAgICBkb3VibGUgcmVtYWluaW5nRGVsdGEgPSBtX2Rlc2lyZWRQb3MgLSAqbV9j
dXJyZW50UG9zOworCisgICAgZG91YmxlIGF0dGFja0FyZWEgPSAwOworICAgIGRvdWJsZSBkZWx0
YVQgPSBtX2xhc3RBbmltYXRpb25UaW1lIC0gbV9zdGFydFRpbWU7CisgICAgZG91YmxlIHJlbWFp
bmluZ0F0dGFja1RpbWUgPSBzdGQ6Om1heChtX2F0dGFja1RpbWUgLSBkZWx0YVQsIDAuKTsKKwor
ICAgIGlmIChyZW1haW5pbmdBdHRhY2tUaW1lID4gMCkgeworICAgICAgICBkb3VibGUgYXR0YWNr
U3BvdCA9IChtX2xhc3RBbmltYXRpb25UaW1lIC0gbV9zdGFydFRpbWUpIC8gbV9hdHRhY2tUaW1l
OworICAgICAgICBkb3VibGUgYXR0YWNrQmFzZWxpbmUgPSBtX2Rlc2lyZWRWZWxvY2l0eSA/IG1f
Y3VycmVudFZlbG9jaXR5IC8gbV9kZXNpcmVkVmVsb2NpdHkgOiAwOworICAgICAgICBhdHRhY2tB
cmVhID0gYXR0YWNrQmFzZWxpbmUgKiByZW1haW5pbmdBdHRhY2tUaW1lCisgICAgICAgICAgICAg
ICAgKyAoMSAtIGF0dGFja0Jhc2VsaW5lKSAqIHJlbWFpbmluZ0F0dGFja1RpbWUgKiBjdXJ2ZUFy
ZWEobV9hdHRhY2tDdXJ2ZSwgYXR0YWNrU3BvdCwgMSk7CisgICAgfQorCisKKyAgICBkb3VibGUg
cmVsZWFzZUFyZWEgPSBtX3JlbGVhc2VUaW1lICogY3VydmVBcmVhKG1fcmVsZWFzZUN1cnZlLCAw
LCAxKTsKKyAgICBkb3VibGUgc3VzdGFpbkFyZWEgPSBzdGQ6Om1heChtX2FuaW1hdGlvblRpbWUg
LSByZW1haW5pbmdBdHRhY2tUaW1lIC0gbV9yZWxlYXNlVGltZSwgMC4pOworCisgICAgbV9kZXNp
cmVkVmVsb2NpdHkgPSByZW1haW5pbmdEZWx0YSAvIChhdHRhY2tBcmVhICsgc3VzdGFpbkFyZWEg
KyByZWxlYXNlQXJlYSk7CisgICAgbV9yZWxlYXNlUG9zID0gbV9kZXNpcmVkUG9zIC0gbV9kZXNp
cmVkVmVsb2NpdHkgKiByZWxlYXNlQXJlYTsKKworICAgIGlmIChhdHRhY2tBcmVhKSB7CisgICAg
ICAgIGRvdWJsZSBjdXJyZW50QXR0YWNrUG9zID0gbV9kZXNpcmVkVmVsb2NpdHkgPyBhdHRhY2tD
dXJ2ZShtX2F0dGFja0N1cnZlLCBkZWx0YVQsIG1fYXR0YWNrVGltZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9zdGFydFBv
cywgbV9hdHRhY2tQb3MpIDogbV9zdGFydFBvczsKKyAgICAgICAgbV9hdHRhY2tQb3MgPSAqbV9j
dXJyZW50UG9zICsgbV9kZXNpcmVkVmVsb2NpdHkgKiBjdXJ2ZUFyZWEobV9hdHRhY2tDdXJ2ZSwg
MCwgMSkgKiBtX2F0dGFja1RpbWU7CisgICAgICAgIGRvdWJsZSBuZXdBdHRhY2tQb3MgPSBtX2Rl
c2lyZWRWZWxvY2l0eSA/IGF0dGFja0N1cnZlKG1fYXR0YWNrQ3VydmUsIGRlbHRhVCwgbV9hdHRh
Y2tUaW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1fc3RhcnRQb3MsIG1fYXR0YWNrUG9zKSA6IG1fc3RhcnRQb3M7CisgICAgICAg
IGlmIChtX2N1cnJlbnRWZWxvY2l0eSAmJiBuZXdBdHRhY2tQb3MgIT0gY3VycmVudEF0dGFja1Bv
cykKKyAgICAgICAgICAgIG1fYXR0YWNrT2Zmc2V0ICs9IGN1cnJlbnRBdHRhY2tQb3MgLSBuZXdB
dHRhY2tQb3M7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbV9hdHRhY2tPZmZzZXQgPSAwOworICAg
ICAgICBtX2F0dGFja1BvcyA9ICptX2N1cnJlbnRQb3M7CisgICAgfQorICAgIHJldHVybiB0cnVl
OworfQorCisvLyBGSVhNRTogQWRkIGluIGphbmsgZGV0ZWN0aW9uIHRyYWNlIGV2ZW50cyBpbnRv
IHRoaXMgZnVuY3Rpb24uCitib29sIFNjcm9sbEFuaW1hdG9yTGludXg6OlBlckF4aXNEYXRhOjph
bmltYXRlU2Nyb2xsKGRvdWJsZSBjdXJyZW50VGltZSkKK3sKKyAgICAvLyBHZXQgdGhlIGN1cnJl
bnQgdGltZTsgZ3JhYmJpbmcgdGhlIGN1cnJlbnQgdGltZSBvbmNlIGhlbHBzIGtlZXAgYSBjb25z
aXN0ZW50IGhlYXJ0YmVhdC4KKyAgICBkb3VibGUgbGFzdFNjcm9sbEludGVydmFsID0gY3VycmVu
dFRpbWUgLSBtX2xhc3RBbmltYXRpb25UaW1lOworICAgIG1fbGFzdEFuaW1hdGlvblRpbWUgPSBj
dXJyZW50VGltZTsKKworICAgIGJvb2wgY29udGludWVBbmltYXRpb24gPSB0cnVlOworICAgIGRv
dWJsZSBkZWx0YVQgPSBjdXJyZW50VGltZSAtIG1fc3RhcnRUaW1lOworCisgICAgaWYgKGRlbHRh
VCA+IG1fYW5pbWF0aW9uVGltZSkgeworICAgICAgICBjb250aW51ZUFuaW1hdGlvbiA9IGZhbHNl
OworICAgICAgICAqbV9jdXJyZW50UG9zID0gbV9kZXNpcmVkUG9zOworICAgICAgICByZXNldCgp
OworICAgIH0gZWxzZSBpZiAoZGVsdGFUIDwgbV9hdHRhY2tUaW1lKSB7CisgICAgICAgIC8vIGF0
dGFjayBpcyBiYXNlZCBvbiBhZGRpbmcgdmVsb2NpdHkKKyAgICAgICAgZG91YmxlIG5ld1BvcyA9
IGF0dGFja0N1cnZlKG1fYXR0YWNrQ3VydmUsIGRlbHRhVCwgbV9hdHRhY2tUaW1lLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9zdGFydFBvcywgbV9hdHRhY2tQb3MpICsg
bV9hdHRhY2tPZmZzZXQ7CisgICAgICAgIC8vIERlbHRhIGlzIGFscmVhZHkgcGl4ZWxzIC8gc2Vj
LCBzaW5jZSB0aG9zZSBhcmUgdGhlIHR3byBpdGVtcyB3ZSBoYW5kZWQgaW4uCisgICAgICAgIGlm
IChsYXN0U2Nyb2xsSW50ZXJ2YWwgPiAwKQorICAgICAgICAgICAgbV9jdXJyZW50VmVsb2NpdHkg
PSAobmV3UG9zIC0gKm1fY3VycmVudFBvcykgLyBsYXN0U2Nyb2xsSW50ZXJ2YWw7CisgICAgICAg
ICptX2N1cnJlbnRQb3MgPSBuZXdQb3M7CisgICAgICAgIGRvdWJsZSByZW1haW5pbmdEZWx0YSA9
IG1fcmVsZWFzZVBvcyAtICptX2N1cnJlbnRQb3M7CisgICAgICAgIGRvdWJsZSByZW1haW5pbmdU
aW1lID0gbV9hbmltYXRpb25UaW1lIC0gbV9yZWxlYXNlVGltZSAtIGRlbHRhVDsKKyAgICAgICAg
bV9kZXNpcmVkVmVsb2NpdHkgPSByZW1haW5pbmdEZWx0YSAvIHJlbWFpbmluZ1RpbWU7CisgICAg
fSBlbHNlIGlmIChkZWx0YVQgPCAobV9hbmltYXRpb25UaW1lIC0gbV9yZWxlYXNlVGltZSkpIHsK
KyAgICAgICAgLy8gRGVzaXJlZCBzdGVhZHkgc3RhdGUgdmVsb2NpdHkgcmUtZXN0aW1hdGlvbi4K
KyAgICAgICAgZG91YmxlIG5ld1BvcyA9IG1fYXR0YWNrUG9zICsgbV9hdHRhY2tPZmZzZXQgKyAo
ZGVsdGFUIC0gbV9hdHRhY2tUaW1lKSAqIG1fZGVzaXJlZFZlbG9jaXR5OworICAgICAgICBpZiAo
bGFzdFNjcm9sbEludGVydmFsID4gMCkKKyAgICAgICAgICAgIG1fY3VycmVudFZlbG9jaXR5ID0g
KG5ld1BvcyAtICptX2N1cnJlbnRQb3MpIC8gbGFzdFNjcm9sbEludGVydmFsOworICAgICAgICAq
bV9jdXJyZW50UG9zID0gbmV3UG9zOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIHJlbGVhc2Ug
aXMgYmFzZWQgb24gdGFyZ2V0aW5nIHRoZSBleGFjdCBmaW5hbCBwb3NpdGlvbi4KKyAgICAgICAg
ZG91YmxlIHJlbGVhc2VEZWx0YVQgPSBkZWx0YVQgLSAobV9hbmltYXRpb25UaW1lIC0gbV9yZWxl
YXNlVGltZSk7CisgICAgICAgIGRvdWJsZSBuZXdQb3MgPSByZWxlYXNlQ3VydmUobV9yZWxlYXNl
Q3VydmUsIHJlbGVhc2VEZWx0YVQsIG1fcmVsZWFzZVRpbWUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbV9yZWxlYXNlUG9zLCBtX2Rlc2lyZWRQb3MpOworICAgICAgICAv
LyBOb3JtYWxpemUgdmVsb2NpdHkgdG8gYSBwZXIgc2Vjb25kIGFtb3VudC4gQ291bGQgYmUgdXNl
ZCB0byBjaGVjayBmb3IgamFuay4KKyAgICAgICAgaWYgKGxhc3RTY3JvbGxJbnRlcnZhbCA+IDAp
CisgICAgICAgICAgICBtX2N1cnJlbnRWZWxvY2l0eSA9IChuZXdQb3MgLSAqbV9jdXJyZW50UG9z
KSAvIGxhc3RTY3JvbGxJbnRlcnZhbDsKKyAgICAgICAgKm1fY3VycmVudFBvcyA9IG5ld1BvczsK
KyAgICB9CisgICAgcmV0dXJuIGNvbnRpbnVlQW5pbWF0aW9uOworfQorCitTY3JvbGxBbmltYXRv
ckxpbnV4OjpTY3JvbGxBbmltYXRvckxpbnV4KFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJl
YSkKKyAgICA6IFNjcm9sbEFuaW1hdG9yKHNjcm9sbGFibGVBcmVhKQorICAgICwgbV9ob3Jpem9u
dGFsRGF0YSh0aGlzLCAmbV9jdXJyZW50UG9zWCkKKyAgICAsIG1fdmVydGljYWxEYXRhKHRoaXMs
ICZtX2N1cnJlbnRQb3NZKQoreworfQorCitTY3JvbGxBbmltYXRvckxpbnV4Ojp+U2Nyb2xsQW5p
bWF0b3JMaW51eCgpCit7CisgICAgc3RvcEFuaW1hdGlvblRpbWVySWZOZWVkZWQoJm1faG9yaXpv
bnRhbERhdGEpOworICAgIHN0b3BBbmltYXRpb25UaW1lcklmTmVlZGVkKCZtX3ZlcnRpY2FsRGF0
YSk7Cit9CisKK2Jvb2wgU2Nyb2xsQW5pbWF0b3JMaW51eDo6c2Nyb2xsKFNjcm9sbGJhck9yaWVu
dGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IHN0ZXAsIGZsb2F0IG11bHRpcGxpZXIp
Cit7CisgICAgLy8gVE9ETyhzY290dGJ5ZXIpOiBnZXQgdGhlIHR5cGUgcGFzc2VkIGluLiBNb3Vz
ZVdoZWVsIGNvdWxkIGFsc28gYmUgYnkgbGluZSwgYnV0IHNob3VsZCBzdGlsbCBoYXZlIGRpZmZl
cmVudAorICAgIC8vIGFuaW1hdGlvbiBzZXR0aW5ncyB0aGFuIHRoZSBrZXlib2FyZC4KKyAgICBj
b25zdCBTY3JvbGxBbmltYXRvclNldHRpbmdzOjpTZXR0aW5ncyAqc2V0dGluZ3M7CisgICAgc3dp
dGNoIChncmFudWxhcml0eSkgeworICAgIGNhc2UgU2Nyb2xsQnlEb2N1bWVudDoKKyAgICAgICAg
c2V0dGluZ3MgPSAmc2Nyb2xsQW5pbWF0b3JTZXR0aW5ncygpLnNldHRpbmdzW1Njcm9sbEFuaW1h
dG9yU2V0dGluZ3M6OkRlZmF1bHRdOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNjcm9sbEJ5
TGluZToKKyAgICAgICAgc2V0dGluZ3MgPSAmc2Nyb2xsQW5pbWF0b3JTZXR0aW5ncygpLnNldHRp
bmdzW1Njcm9sbEFuaW1hdG9yU2V0dGluZ3M6OktleWJvYXJkTGluZV07CisgICAgICAgIG11bHRp
cGxpZXIgKj0gMS41OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNjcm9sbEJ5UGFnZToKKyAg
ICAgICAgc2V0dGluZ3MgPSAmc2Nyb2xsQW5pbWF0b3JTZXR0aW5ncygpLnNldHRpbmdzW1Njcm9s
bEFuaW1hdG9yU2V0dGluZ3M6OktleWJvYXJkUGFnZV07CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgU2Nyb2xsQnlQaXhlbDoKKyAgICAgICAgaWYgKGZhYnMobXVsdGlwbGllcikgPiAyMCkKKyAg
ICAgICAgICAgIHNldHRpbmdzID0gJnNjcm9sbEFuaW1hdG9yU2V0dGluZ3MoKS5zZXR0aW5nc1tT
Y3JvbGxBbmltYXRvclNldHRpbmdzOjpNb3VzZVdoZWVsXTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgc2V0dGluZ3MgPSAmc2Nyb2xsQW5pbWF0b3JTZXR0aW5ncygpLnNldHRpbmdzW1Njcm9s
bEFuaW1hdG9yU2V0dGluZ3M6OlRyYWNrcGFkXTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVs
dDoKKyAgICAgICAgc2V0dGluZ3MgPSAmc2Nyb2xsQW5pbWF0b3JTZXR0aW5ncygpLnNldHRpbmdz
W1Njcm9sbEFuaW1hdG9yU2V0dGluZ3M6OkRlZmF1bHRdOworICAgICAgICBicmVhazsKKyAgICB9
CisKKyAgICAvLyBEb24ndCBhbmltYXRlIGp1bXBpbmcgdG8gdGhlIGJlZ2lubmluZyBvciBlbmQg
b2YgdGhlIGRvY3VtZW50LiA/Pz8KKyAgICBpZiAoIXNldHRpbmdzLT5pc0VuYWJsZWQpCisgICAg
ICAgIHJldHVybiBTY3JvbGxBbmltYXRvcjo6c2Nyb2xsKG9yaWVudGF0aW9uLCBncmFudWxhcml0
eSwgc3RlcCwgbXVsdGlwbGllcik7CisKKyAgICAvLyBUaGlzIGlzIGFuIGFuaW1hdGFibGUgc2Ny
b2xsLiBDYWxjdWxhdGUgdGhlIHNjcm9sbCBkZWx0YS4KKyAgICBQZXJBeGlzRGF0YSogZGF0YSA9
IChvcmllbnRhdGlvbiA9PSBWZXJ0aWNhbFNjcm9sbGJhcikgPyAmbV92ZXJ0aWNhbERhdGEgOiAm
bV9ob3Jpem9udGFsRGF0YTsKKworICAgIGZsb2F0IHNjcm9sbGFibGVTaXplID0gc3RhdGljX2Nh
c3Q8ZmxvYXQ+KG1fc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFNpemUob3JpZW50YXRpb24pKTsKKyAg
ICBib29sIHJlc3VsdCA9IGRhdGEtPnVwZGF0ZURhdGFGcm9tU2V0dGluZ3Mob3JpZW50YXRpb24s
IHN0ZXAsIG11bHRpcGxpZXIsIHNjcm9sbGFibGVTaXplLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBXVEY6OmN1cnJlbnRUaW1lKCksIHNldHRpbmdzKTsK
KyAgICBpZiAoIWRhdGEtPm1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkgeworICAgICAgICBy
ZXN1bHQgJj0gZGF0YS0+YW5pbWF0ZVNjcm9sbChXVEY6OmN1cnJlbnRUaW1lKCkpOworICAgICAg
ICBpZiAocmVzdWx0KQorICAgICAgICAgICAgZGF0YS0+bV9hbmltYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoYW5pbWF0aW9uVGltZXJEZWxheSk7CisgICAgfQorICAgIG5vdGl0eVBvc2l0aW9uQ2hh
bmdlZCgpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgU2Nyb2xsQW5pbWF0b3JMaW51
eDo6c2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIG9mZnNl
dCkKK3sKKyAgICBzdG9wQW5pbWF0aW9uVGltZXJJZk5lZWRlZCgmbV9ob3Jpem9udGFsRGF0YSk7
CisgICAgc3RvcEFuaW1hdGlvblRpbWVySWZOZWVkZWQoJm1fdmVydGljYWxEYXRhKTsKKworICAg
IG1faG9yaXpvbnRhbERhdGEucmVzZXQoKTsKKyAgICAqbV9ob3Jpem9udGFsRGF0YS5tX2N1cnJl
bnRQb3MgPSBvZmZzZXQueCgpOworICAgIG1faG9yaXpvbnRhbERhdGEubV9kZXNpcmVkUG9zID0g
b2Zmc2V0LngoKTsKKworICAgIG1fdmVydGljYWxEYXRhLnJlc2V0KCk7CisgICAgKm1fdmVydGlj
YWxEYXRhLm1fY3VycmVudFBvcyA9IG9mZnNldC55KCk7CisgICAgbV92ZXJ0aWNhbERhdGEubV9k
ZXNpcmVkUG9zID0gb2Zmc2V0LnkoKTsKKworICAgIG5vdGl0eVBvc2l0aW9uQ2hhbmdlZCgpOwor
fQorCit2b2lkIFNjcm9sbEFuaW1hdG9yTGludXg6OmFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXI8
U2Nyb2xsQW5pbWF0b3JMaW51eD4qIHRpbWVyKQoreworICAgIGlmICgodGltZXIgPT0gJm1faG9y
aXpvbnRhbERhdGEubV9hbmltYXRpb25UaW1lcikgPworICAgICAgICBtX2hvcml6b250YWxEYXRh
LmFuaW1hdGVTY3JvbGwoV1RGOjpjdXJyZW50VGltZSgpKSA6CisgICAgICAgIG1fdmVydGljYWxE
YXRhLmFuaW1hdGVTY3JvbGwoV1RGOjpjdXJyZW50VGltZSgpKSkKKyAgICAgICAgdGltZXItPnN0
YXJ0T25lU2hvdChhbmltYXRpb25UaW1lckRlbGF5KTsKKyAgICBub3RpdHlQb3NpdGlvbkNoYW5n
ZWQoKTsKK30KKwordm9pZCBTY3JvbGxBbmltYXRvckxpbnV4OjpzdG9wQW5pbWF0aW9uVGltZXJJ
Zk5lZWRlZChQZXJBeGlzRGF0YSogZGF0YSkKK3sKKyAgICBpZiAoZGF0YS0+bV9hbmltYXRpb25U
aW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBkYXRhLT5tX2FuaW1hdGlvblRpbWVyLnN0b3AoKTsK
K30KKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU01PT1RI
X1NDUk9MTElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFu
aW1hdG9yTGludXguaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTGlu
dXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41MzEzZWJmMWVhNjhlODUwZmY5YjRiYzFhZmE2YTA3YjcxMGRlYjU5
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3JMaW51eC5oCkBAIC0wLDAgKzEsMTE2IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEwLCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqIAorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICogCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU2Nyb2xsQW5pbWF0b3JMaW51
eF9oCisjZGVmaW5lIFNjcm9sbEFuaW1hdG9yTGludXhfaAorCisjaWYgRU5BQkxFKFNNT09USF9T
Q1JPTExJTkcpCisKKyNpbmNsdWRlICJTY3JvbGxBbmltYXRvci5oIgorI2luY2x1ZGUgIlNjcm9s
bEFuaW1hdG9yU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJUaW1lci5oIgorCitjbGFzcyBTY3JvbGxB
bmltYXRvckxpbnV4VGVzdDsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTY3JvbGxB
bmltYXRvckxpbnV4IDogcHVibGljIFNjcm9sbEFuaW1hdG9yIHsKKyAgcHVibGljOgorICAgIFNj
cm9sbEFuaW1hdG9yTGludXgoU2Nyb2xsYWJsZUFyZWEqKTsKKyAgICB2aXJ0dWFsIH5TY3JvbGxB
bmltYXRvckxpbnV4KCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsKFNjcm9sbGJhck9yaWVu
dGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcik7
CisgICAgdmlydHVhbCB2b2lkIHNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihjb25zdCBG
bG9hdFBvaW50Jik7CisKKyAgcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3MgOjpTY3JvbGxBbmlt
YXRvckxpbnV4VGVzdDsKKworICAgIHN0cnVjdCBQZXJBeGlzRGF0YSB7CisgICAgICAgIFBlckF4
aXNEYXRhKFNjcm9sbEFuaW1hdG9yTGludXgqIHBhcmVudCwgZmxvYXQqIGN1cnJlbnRQb3MpOwor
ICAgICAgICB2b2lkIHJlc2V0KCk7CisgICAgICAgIGJvb2wgdXBkYXRlRGF0YUZyb21TZXR0aW5n
cyhTY3JvbGxiYXJPcmllbnRhdGlvbiwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllciwgZmxv
YXQgc2Nyb2xsYWJsZVNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
b3VibGUgY3VycmVudFRpbWUsIGNvbnN0IFNjcm9sbEFuaW1hdG9yU2V0dGluZ3M6OlNldHRpbmdz
Kik7CisgICAgICAgIGJvb2wgYW5pbWF0ZVNjcm9sbChkb3VibGUgY3VycmVudFRpbWUpOworCisg
ICAgICAgIHN0YXRpYyBkb3VibGUgY3VydmVJbnRlZ3JhbEF0KFNjcm9sbEFuaW1hdG9yU2V0dGlu
Z3M6OkN1cnZlLCBkb3VibGUgdCk7CisgICAgICAgIHN0YXRpYyBkb3VibGUgY3VydmVBcmVhKFNj
cm9sbEFuaW1hdG9yU2V0dGluZ3M6OkN1cnZlLCBkb3VibGUgc3RhcnRULCBkb3VibGUgZW5kVCk7
CisgICAgICAgIHN0YXRpYyBkb3VibGUgYXR0YWNrQ3VydmUoU2Nyb2xsQW5pbWF0b3JTZXR0aW5n
czo6Q3VydmUsIGRvdWJsZSBkZWx0YVQsIGRvdWJsZSBjdXJ2ZVQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZG91YmxlIHN0YXJ0UG9zLCBkb3VibGUgYXR0YWNrUG9zKTsKKyAg
ICAgICAgc3RhdGljIGRvdWJsZSByZWxlYXNlQ3VydmUoU2Nyb2xsQW5pbWF0b3JTZXR0aW5nczo6
Q3VydmUsIGRvdWJsZSBkZWx0YVQsIGRvdWJsZSBjdXJ2ZVQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRvdWJsZSByZWxlYXNlUG9zLCBkb3VibGUgZGVzaXJlZFBvcyk7CisK
KyAgICAgICAgZmxvYXQqIG1fY3VycmVudFBvczsKKyAgICAgICAgZG91YmxlIG1fY3VycmVudFZl
bG9jaXR5OworCisgICAgICAgIGRvdWJsZSBtX2Rlc2lyZWRQb3M7CisgICAgICAgIGRvdWJsZSBt
X2Rlc2lyZWRWZWxvY2l0eTsKKyAgICAgICAgZG91YmxlIG1fY29hc3RWZWxvY2l0eTsKKworICAg
ICAgICBkb3VibGUgbV9zdGFydFBvczsKKyAgICAgICAgZG91YmxlIG1fc3RhcnRUaW1lOworICAg
ICAgICBkb3VibGUgbV9zdGFydFZlbG9jaXR5OworCisgICAgICAgIGRvdWJsZSBtX2FuaW1hdGlv
blRpbWU7CisgICAgICAgIGRvdWJsZSBtX2xhc3RBbmltYXRpb25UaW1lOworCisgICAgICAgIGRv
dWJsZSBtX2F0dGFja1BvczsKKyAgICAgICAgZG91YmxlIG1fYXR0YWNrVGltZTsKKyAgICAgICAg
ZG91YmxlIG1fYXR0YWNrT2Zmc2V0OworICAgICAgICBTY3JvbGxBbmltYXRvclNldHRpbmdzOjpD
dXJ2ZSBtX2F0dGFja0N1cnZlOworCisgICAgICAgIGRvdWJsZSBtX3JlbGVhc2VQb3M7CisgICAg
ICAgIGRvdWJsZSBtX3JlbGVhc2VUaW1lOworICAgICAgICBTY3JvbGxBbmltYXRvclNldHRpbmdz
OjpDdXJ2ZSBtX3JlbGVhc2VDdXJ2ZTsKKworICAgICAgICBkb3VibGUgbV9mbGluZ1RpbWU7Cisg
ICAgICAgIFNjcm9sbEFuaW1hdG9yU2V0dGluZ3M6OkN1cnZlIG1fZmxpbmdDdXJ2ZTsKKworICAg
ICAgICBib29sIG1fYm91bmNlOworICAgICAgICBib29sIG1fZmxpbmc7CisgICAgICAgIGRvdWJs
ZSBtX2ZsaW5nQW1vdW50OworICAgICAgICBTY3JvbGxiYXJPcmllbnRhdGlvbiBtX29yaWVudGF0
aW9uOworCisgICAgICAgIFRpbWVyPFNjcm9sbEFuaW1hdG9yTGludXg+IG1fYW5pbWF0aW9uVGlt
ZXI7CisgICAgfTsKKworICAgIHN0YXRpYyBjb25zdCBkb3VibGUgYW5pbWF0aW9uVGltZXJEZWxh
eTsKKworICAgIHZvaWQgYW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvckxp
bnV4PiopOworICAgIHZvaWQgc3RvcEFuaW1hdGlvblRpbWVySWZOZWVkZWQoUGVyQXhpc0RhdGEq
KTsKKworICAgIFBlckF4aXNEYXRhIG1faG9yaXpvbnRhbERhdGE7CisgICAgUGVyQXhpc0RhdGEg
bV92ZXJ0aWNhbERhdGE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoU01PT1RIX1NDUk9MTElORykKKworI2VuZGlmIC8vIFNjcm9sbEFuaW1hdG9yTGlu
dXhfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JT
ZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvclNldHRp
bmdzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jZGM0YzdkODU4MGU1NDRmZjA2MWViYjkyOTRlMWEzYzZjMWMx
ZmJhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3JTZXR0aW5ncy5jcHAKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykg
MjAxMSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiU2Nyb2xsQW5pbWF0b3JTZXR0aW5ncy5oIgorCisjaW5jbHVkZSAiU3RkTGliRXh0
cmFzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIFNjcm9sbEFuaW1hdG9yU2V0
dGluZ3MmIGdsb2JhbFNjcm9sbEFuaW1hdG9yU2V0dGluZ3MoKQoreworICAgIERFRklORV9TVEFU
SUNfTE9DQUwoU2Nyb2xsQW5pbWF0b3JTZXR0aW5ncywgc2V0dGluZ3MsICgpKTsKKyAgICByZXR1
cm4gc2V0dGluZ3M7Cit9CisKK3ZvaWQgc2V0U2Nyb2xsQW5pbWF0b3JTZXR0aW5ncyhjb25zdCBT
Y3JvbGxBbmltYXRvclNldHRpbmdzJiBzZXR0aW5ncykKK3sKKyAgICBnbG9iYWxTY3JvbGxBbmlt
YXRvclNldHRpbmdzKCkgPSBzZXR0aW5nczsKK30KKworY29uc3QgU2Nyb2xsQW5pbWF0b3JTZXR0
aW5ncyYgc2Nyb2xsQW5pbWF0b3JTZXR0aW5ncygpCit7CisgICAgcmV0dXJuIGdsb2JhbFNjcm9s
bEFuaW1hdG9yU2V0dGluZ3MoKTsKK30KKwordm9pZCBzZXRTY3JvbGxBbmltYXRvckVuYWJsZWQo
Ym9vbCBlbmFibGVkKQoreworICAgIGdsb2JhbFNjcm9sbEFuaW1hdG9yU2V0dGluZ3MoKS5lbmFi
bGVkID0gZW5hYmxlZDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JTZXR0aW5ncy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JTZXR0aW5ncy5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUw
YTEwM2IzMzVhZmRjM2E5OGM2M2MxYmNiMWI3OWE0MjA4NGE0MjEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvclNldHRpbmdzLmgKQEAgLTAs
MCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMSwgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIFNjcm9sbEFuaW1hdG9yU2V0dGluZ3NfaAorI2RlZmluZSBTY3Jv
bGxBbmltYXRvclNldHRpbmdzX2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgU2Ny
b2xsQW5pbWF0b3JTZXR0aW5ncyB7CisgICAgZW51bSBUeXBlIHsKKyAgICAgICAgRGVmYXVsdCA9
IDAsCisgICAgICAgIEtleWJvYXJkTGluZSwKKyAgICAgICAgS2V5Ym9hcmRQYWdlLAorICAgICAg
ICBNb3VzZVdoZWVsLAorICAgICAgICBUcmFja3BhZAorICAgIH07CisKKyAgICBlbnVtIEN1cnZl
IHsKKyAgICAgICAgTGluZWFyLAorICAgICAgICBRdWFkcmF0aWMsCisgICAgICAgIEN1YmljLAor
ICAgICAgICBCb3VuY2UKKyAgICB9OworCisgICAgLy8gQ2FuIGJlIG92ZXJzcGVjaWZpZWQuIGFu
aW1hdGlvblRpbWUgdGFrZXMgcHJpb3JpdHkgb3ZlciByZWxlYXNlVGltZSB0YWtlcyBwcmlvcml0
eSBvdmVyIGF0dGFja1RpbWUuCisgICAgLy8gTWlzc2luZzogaG93IHRvIHNwZWNpZnkgYW5pbWF0
aW9uIHRpbWUgYWNjdW11bGF0aW9uIChlLmcuLCBwdXJlIGFkZGl0aXZlLCBhc3ltcHRvdGljIHRv
IGEgbGltaXQgd2l0aCBhIGN1cnZlPykKKyAgICB0eXBlZGVmIHN0cnVjdCB7CisgICAgICAgIGJv
b2wgaXNFbmFibGVkOworCisgICAgICAgIGRvdWJsZSBhbmltYXRpb25UaW1lOworCisgICAgICAg
IEN1cnZlIGF0dGFja0N1cnZlOworICAgICAgICBkb3VibGUgYXR0YWNrVGltZTsKKworICAgICAg
ICBDdXJ2ZSByZWxlYXNlQ3VydmU7CisgICAgICAgIGRvdWJsZSByZWxlYXNlVGltZTsKKworICAg
ICAgICBib29sIGlzQm91bmNlRW5hYmxlZDsKKworICAgICAgICBib29sIGlzRmxpbmdFbmFibGVk
OworICAgICAgICBDdXJ2ZSBmbGluZ0N1cnZlOworICAgICAgICBkb3VibGUgZmxpbmdUaW1lOwor
ICAgICAgICBkb3VibGUgZmxpbmdNaW5pbXVtU2xvcGU7CisgICAgfSBTZXR0aW5nczsKKworICAg
IFNldHRpbmdzIHNldHRpbmdzWzVdOworICAgIGJvb2wgZW5hYmxlZDsKKworICAgIC8vIEFsbG93
IGZvciBwZXItcGxhdGZvcm0gaW5pdGlhbGl6YXRpb24uCisgICAgU2Nyb2xsQW5pbWF0b3JTZXR0
aW5ncygpOworfTsKKworLy8gRnVuY3Rpb25zIHRvIHNldCBvciByZXRyaWV2ZSB0aGUgZ2xvYmFs
IHNjcm9sbCBhbmltYXRpb24gc2V0dGluZ3MuCit2b2lkIHNldFNjcm9sbEFuaW1hdG9yU2V0dGlu
Z3MoY29uc3QgU2Nyb2xsQW5pbWF0b3JTZXR0aW5ncyYpOworY29uc3QgU2Nyb2xsQW5pbWF0b3JT
ZXR0aW5ncyYgc2Nyb2xsQW5pbWF0b3JTZXR0aW5ncygpOwordm9pZCBzZXRTY3JvbGxBbmltYXRv
ckVuYWJsZWQoYm9vbCk7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDBhM2ExZDgwYzgzNWVlM2YzZTllZDI4Y2JjZDZiZWM0
ZTNhZTIzMDAuLjNkYjVhMGY2ZDQxN2JiNmQ2YjRiMTEwYWU2ZWUwMzRiM2NkZGE0ODQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDYtMDEgIFNjb3R0
IEJ5ZXIgIDxzY290dGJ5ZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtdIFNtb290aCBzY3JvbGxpbmcgc3VwcG9ydAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxMjMKKwor
ICAgICAgICBDdXJyZW50bHkgb2ZmIGJ5IGRlZmF1bHQsIExpbnV4IG9ubHksIHRlc3RzIGNvbWlu
ZyBzaG9ydGx5LCBub3QgeWV0IHBhcnQgb2Ygc3RhbmRhbG9uZSBXZWJLaXQKKyAgICAgICAgYnVp
bGQuIFRoaXMgcGFydCBpcyB0aGUgcGx1bWJpbmcgdG8gYWxsb3cgZm9yIHJ1bi10aW1lIGVuYWJs
ZW1lbnQuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViU2V0dGluZ3MuaDoKKyAgICAgICAgKiBzcmMv
V2ViU2V0dGluZ3NJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpz
ZXRFbmFibGVTY3JvbGxBbmltYXRvcik6CisgICAgICAgICogc3JjL1dlYlNldHRpbmdzSW1wbC5o
OgorCiAyMDExLTA2LTAxICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODc3ODguCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAppbmRleCAzNjE5MjczNGE2ZjczOGMz
MDc5YjFiMjQ1MTBkYWEwZDcyNTljNDFmLi4yM2ZmY2NjMjBmNmJhNzNlNTIyYzQxN2U0ZDNiMDk1
NTcyMjU5ZTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJT
ZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdz
LmgKQEAgLTEyMyw2ICsxMjMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldEZ1bGxT
Y3JlZW5FbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWxsb3dEaXNwbGF5
T2ZJbnNlY3VyZUNvbnRlbnQoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBbGxvd1J1
bm5pbmdPZkluc2VjdXJlQ29udGVudChib29sKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldEVu
YWJsZVNjcm9sbEFuaW1hdG9yKGJvb2wpID0gMDsKIAogcHJvdGVjdGVkOgogICAgIH5XZWJTZXR0
aW5ncygpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0
dGluZ3NJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1w
bC5jcHAKaW5kZXggZjM3NDQ4ZjNmNjEwNTg0ZjhhMzUyOTg4OGNmM2JkNDEzNDA0MWQwOS4uNTQz
Y2VhYzFiOWIyMzM2OWE5YTQ3NTc5MWZjMTgxOTgyODcyNWMwZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCkBAIC00MTcsNCArNDE3LDE0IEBA
IHZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRBbGxvd1J1bm5pbmdPZkluc2VjdXJlQ29udGVudChi
b29sIGVuYWJsZWQpCiAgICAgbV9zZXR0aW5ncy0+c2V0QWxsb3dSdW5uaW5nT2ZJbnNlY3VyZUNv
bnRlbnQoZW5hYmxlZCk7CiB9CiAKK3ZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRFbmFibGVTY3Jv
bGxBbmltYXRvcihib29sIGVuYWJsZWQpCit7CisjaWYgRU5BQkxFKFNNT09USF9TQ1JPTExJTkcp
CisgICAgbV9zZXR0aW5ncy0+c2V0RW5hYmxlU2Nyb2xsQW5pbWF0b3IoZW5hYmxlZCk7CisjZWxz
ZQorICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKKyNlbmRpZgorfQorCisKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0
dGluZ3NJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwu
aAppbmRleCBjMGU4YTNkYWRlMjNiMzVlMjIxNGE2OThlMGU4NjM1NTExMzFlMjgyLi40ZTg1MGJi
ODUwNmUxZjBkYWMyNjdiZTg4NmIwZjcwNjEyZGJlZWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaApAQCAtMTE2LDYgKzExNiw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0RnVsbFNjcmVlbkVuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVh
bCB2b2lkIHNldEFsbG93RGlzcGxheU9mSW5zZWN1cmVDb250ZW50KGJvb2wpOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRBbGxvd1J1bm5pbmdPZkluc2VjdXJlQ29udGVudChib29sKTsKKyAgICB2aXJ0
dWFsIHZvaWQgc2V0RW5hYmxlU2Nyb2xsQW5pbWF0b3IoYm9vbCk7CiAKIHByaXZhdGU6CiAgICAg
V2ViQ29yZTo6U2V0dGluZ3MqIG1fc2V0dGluZ3M7Cg==
</data>
<flag name="review"
          id="89156"
          type_id="1"
          status="-"
          setter="tony"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102527</attachid>
            <date>2011-08-01 09:47:29 -0700</date>
            <delta_ts>2012-02-17 02:30:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-16123-20110801184727.patch</filename>
            <type>text/plain</type>
            <size>10665</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIxMzAKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAzNTcyMjE1M2E3YjhiYzI4ZDA5YmRjZmJmNjVkNWQ4ZjhhZTIxN2E0Li40Zjll
OTQ2ZGYzMjAxZmFlZTc1NGY0ZDJiZGFjMjkwMGQ5OTgxNTg0IDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDgtMDEgIFphbiBEb2Jl
cnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KKworICAgICAgICBbR1RLXSBTbW9vdGggc2Ny
b2xsaW5nIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2MTIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIHRoZSBjb21waWxhdGlvbiBmbGFnIHRvIGVuYWJsZSBzbW9vdGggc2Nyb2xsaW5n
IHN1cHBvcnQuCisKKyAgICAgICAgKiBjb25maWd1cmUuYWM6CisKIDIwMTEtMDgtMDEgIEhheWF0
byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBn
ZXR0aW5nIGFuIGVsZW1lbnQgaW4gc2hhZG93IHJvb3QgYnkgaXRzIGlkIGludG8gYSB3aW5kb3cu
aW50ZXJuYWxzIG9iamVjdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMWJjOTdkYThmZjNmZjZhYjA4YWZmOGU3
YWRjZTY0ZDcxNTYxMmJmLi5hMTkxY2I2ODJmZWM1NDJlZmRmNTJmNzEwODI1NWE3ZjhjMWE0ZDRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDgtMDEgIFphbiBEb2JlcnNlayAg
PHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KKworICAgICAgICBbR1RLXSBTbW9vdGggc2Nyb2xsaW5n
IHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2MTIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW5jbHVkZSBTY3JvbGxBbmltYXRvck5vbmUgY2xhc3MgaW50byBjb21waWxhdGlvbi4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSdzIG5vIGNoYW5nZSBpbiBiZWhhdmlvci4K
KworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3Qu
YW06CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcDogUmVtb3ZlIGFu
IHVubmVlZGVkIGFuZCBjaHJvbWl1bS1zcGVjaWZpYyBpbmNsdWRlLgorCiAyMDExLTA4LTAxICBC
ZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdIE9w
ZW5HTFNoaW1zIGRvZXMgbm90IGJ1aWxkIG9uIEFSTQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBj
Yzc1NTNhZmM0NDhiY2EyMDcwYTFjYjI2MGJlZGI0ZDI2NGNkYjg3Li42YmE4YmZiM2MyZjE4YzNh
MmRjOTk3NzZlZjJlNjBlMWVmNjhkMTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTIwLDYg
KzEyMCwxNCBAQCB3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0ZBU1RfTU9CSUxFX1NDUk9M
TElORz0xCiBlbmRpZiAjIEVORCBFTkFCTEVfRkFTVF9NT0JJTEVfU0NST0xMSU5HCiAKICMgLS0t
CisjIFNtb290aCBzY3JvbGxpbmcgc3VwcG9ydAorIyAtLS0KK2lmIEVOQUJMRV9TTU9PVEhfU0NS
T0xMSU5HCitGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX1NNT09USF9TQ1JPTExJTkc9MQord2Vi
Y29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9TTU9PVEhfU0NST0xMSU5HPTEKK2VuZGlmICMgRU5E
IEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HCisKKyMgLS0tCiAjIEZyZWVUeXBlIGZvbnQgYmFja2Vu
ZAogIyAtLS0KIGlmIFVTRV9GUkVFVFlQRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5k
ZXggYjM4OGEzNjk5ZGI2NmE2Y2Y0ZGRmOTkwYTliMzNiZDY1NDRjNmZlMi4uMjU0M2JmZjljMjlm
ZmI2YTcyYzkwMzZmZjYxN2Y0Mzc1ZTUyNWI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCkBAIC0yNzQ1LDYgKzI3NDUsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0b3IuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25l
LmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmggXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsYmFyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxBbmltYXRvck5vbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3JOb25lLmNwcAppbmRleCBhMTBjZjAxMWZmYTkyNDZmNDcyNmFmYTgzNDI3ZmE5ODY3M2M2
NDUwLi43ZTZiOTk1NTVmYzMyNDIwMmVmYjM0NmQ1YjU0MjU4ZGU5OTdjMTY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAKQEAgLTM5LDcgKzM5
LDYgQEAKICNpbmNsdWRlICJPd25BcnJheVB0ci5oIgogI2luY2x1ZGUgIlNjcm9sbGFibGVBcmVh
LmgiCiAjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWUuaCIKLSNpbmNsdWRlICJUcmFjZUV2ZW50Lmgi
CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggNTllZjNiYjg2Nzhl
NjI0YTNmZmJiN2M1YWRkMjQ5N2FjMzNkOTJhNS4uYWY0YmZjNmZjMzdmZWY5ODY1NDYyOTBmYTI5
NmI1ZTk0NDY2ODU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDExLTA4
LTAxICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgW0dU
S10gU21vb3RoIHNjcm9sbGluZyBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjEyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBzZXR0aW5ncyBvcHRpb24gdG8gZW5hYmxlIHNt
b290aCBzY3JvbGxpbmcuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3Bw
OgorICAgICAgICAod2Via2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KToKKyAgICAgICAgKHdl
YmtpdF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3BlcnR5KToKKyAgICAgICAgKHdlYmtpdF93ZWJfc2V0
dGluZ3NfZ2V0X3Byb3BlcnR5KToKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vic2V0dGluZ3Nw
cml2YXRlLmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorICAgICAgICAo
d2Via2l0X3dlYl92aWV3X3VwZGF0ZV9zZXR0aW5ncyk6CisgICAgICAgICh3ZWJraXRfd2ViX3Zp
ZXdfc2V0dGluZ3Nfbm90aWZ5KToKKwogMjAxMS0wNy0zMCAgUGF0cmljayBHYW5zdGVyZXIgIDxw
YXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgaW5jbHVzaW9uIG9mIE1haW5UaHJl
YWQuaCBmcm9tIFRocmVhZGluZy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYnNldHRpbmdzLmNwcAppbmRleCAzNGU0MzIxN2NkNzVkZjAwZGE3OTUwY2Q1NzQ1ZDMwMWYw
ZjY2YjFiLi41ZmVmYmJlYTEwOGE1NTM1MWY2MTAxZmQxZmZmNjk2MGI5YmU3NTdkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAKQEAgLTExOCw3
ICsxMTgsOCBAQCBlbnVtIHsKICAgICBQUk9QX0VOQUJMRV9IWVBFUkxJTktfQVVESVRJTkcsCiAg
ICAgUFJPUF9FTkFCTEVfRlVMTFNDUkVFTiwKICAgICBQUk9QX0VOQUJMRV9ETlNfUFJFRkVUQ0hJ
TkcsCi0gICAgUFJPUF9FTkFCTEVfV0VCR0wKKyAgICBQUk9QX0VOQUJMRV9XRUJHTCwKKyAgICBQ
Uk9QX0VOQUJMRV9TTU9PVEhfU0NST0xMSU5HCiB9OwogCiAvLyBDcmVhdGUgYSBkZWZhdWx0IHVz
ZXIgYWdlbnQgc3RyaW5nCkBAIC05MjQsNiArOTI1LDIxIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93
ZWJfc2V0dGluZ3NfY2xhc3NfaW5pdChXZWJLaXRXZWJTZXR0aW5nc0NsYXNzKiBrbGFzcykKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8o
IldoZXRoZXIgV2ViS2l0IHByZWZldGNoZXMgZG9tYWluIG5hbWVzIiksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3Mp
KTsKKworICAgIC8qKgorICAgICogV2ViS2l0V2ViU2V0dGluZ3M6ZW5hYmxlLXNtb290aC1zY3Jv
bGxpbmcKKyAgICAqCisgICAgKiBXaGV0aGVyIC4uLgorICAgICoKKyAgICAqIFNpbmNlOiAxLjUu
Mi4KKyAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdF9j
bGFzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfRU5BQkxFX1NN
T09USF9TQ1JPTExJTkcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3Bh
cmFtX3NwZWNfYm9vbGVhbigiZW5hYmxlLXNtb290aC1zY3JvbGxpbmciLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiRW5hYmxlIHNt
b290aCBzY3JvbGxpbmciKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF8oIldoZXRoZXIgdG8gZW5hYmxlIHNtb290aCBzY3JvbGxpbmci
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEZBTFNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmxhZ3MpKTsKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5n
c19pbml0KFdlYktpdFdlYlNldHRpbmdzKiB3ZWJfc2V0dGluZ3MpCkBAIC0xMDkzLDYgKzExMDks
OSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX3NldF9wcm9wZXJ0eShHT2JqZWN0
KiBvYmplY3QsIGd1aW50IHByb3BfaWQsIGNvbgogICAgIGNhc2UgUFJPUF9FTkFCTEVfV0VCR0w6
CiAgICAgICAgIHByaXYtPmVuYWJsZVdlYmdsID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7
CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfU01PT1RIX1NDUk9MTElORzoK
KyAgICAgICAgcHJpdi0+ZW5hYmxlU21vb3RoU2Nyb2xsaW5nID0gZ192YWx1ZV9nZXRfYm9vbGVh
bih2YWx1ZSk7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNU
X1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsKICAgICAg
ICAgYnJlYWs7CkBAIC0xMjUyLDYgKzEyNzEsOSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3Nl
dHRpbmdzX2dldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BfaWQsIEdWYQog
ICAgIGNhc2UgUFJPUF9FTkFCTEVfV0VCR0w6CiAgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4o
dmFsdWUsIHByaXYtPmVuYWJsZVdlYmdsKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9Q
X0VOQUJMRV9TTU9PVEhfU0NST0xMSU5HOgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZh
bHVlLCBwcml2LT5lbmFibGVTbW9vdGhTY3JvbGxpbmcpOworICAgICAgICBicmVhazsKICAgICBk
ZWZhdWx0OgogICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0
LCBwcm9wX2lkLCBwc3BlYyk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzcHJpdmF0ZS5oIGIvU291cmNlL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzcHJpdmF0ZS5oCmluZGV4IGE1ZjUxYjQ5MjJh
NWY1NjgzNGI4NjMyZjUyZGE2ZTI3NGIxMzE0NmYuLmYxZmM1NjFmYTJiMjA5NDE3YWQyMjU5MjRm
ZWMyMjI2Njk2ZDgwYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJzZXR0aW5nc3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2Vic2V0dGluZ3Nwcml2YXRlLmgKQEAgLTc4LDYgKzc4LDcgQEAgc3RydWN0IF9XZWJLaXRX
ZWJTZXR0aW5nc1ByaXZhdGUgewogICAgIGdib29sZWFuIGVuYWJsZUZ1bGxzY3JlZW47CiAgICAg
Z2Jvb2xlYW4gZW5hYmxlRE5TUHJlZmV0Y2hpbmc7CiAgICAgZ2Jvb2xlYW4gZW5hYmxlV2ViZ2w7
CisgICAgZ2Jvb2xlYW4gZW5hYmxlU21vb3RoU2Nyb2xsaW5nOwogfTsKIAogV0VCS0lUX0FQSSB2
b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfYWRkX2V4dHJhX3BsdWdpbl9kaXJlY3RvcnkoV2ViS2l0
V2ViVmlldyosIGNvbnN0IGdjaGFyKiBkaXJlY3RvcnkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IDkyZDU3MzFlMDdlZDdiMDU0YzUwNDc2ODU2ZDM4
NTY4Yjk0OTMyNWQuLmZiYjAxYTA5NDJkZTQzMDZkOTJmMDE5NThhNThkMjNkYTk2MDlmNmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKQEAgLTMyNTIsNiAr
MzI1MiwxMCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfdXBkYXRlX3NldHRpbmdzKFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgY29yZVNldHRpbmdzLT5zZXRXZWJHTEVuYWJsZWQo
c2V0dGluZ3NQcml2YXRlLT5lbmFibGVXZWJnbCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShTTU9P
VEhfU0NST0xMSU5HKQorICAgIGNvcmVTZXR0aW5ncy0+c2V0RW5hYmxlU2Nyb2xsQW5pbWF0b3Io
c2V0dGluZ3NQcml2YXRlLT5lbmFibGVTbW9vdGhTY3JvbGxpbmcpOworI2VuZGlmCisKICAgICBp
ZiAoUGFnZSogcGFnZSA9IGNvcmUod2ViVmlldykpCiAgICAgICAgIHBhZ2UtPnNldFRhYktleUN5
Y2xlc1Rocm91Z2hFbGVtZW50cyhzZXR0aW5nc1ByaXZhdGUtPnRhYktleUN5Y2xlc1Rocm91Z2hF
bGVtZW50cyk7CiAKQEAgLTMzNzYsNiArMzM4MCwxMSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2Vi
X3ZpZXdfc2V0dGluZ3Nfbm90aWZ5KFdlYktpdFdlYlNldHRpbmdzKiB3ZWJTZXR0aW5ncywgR1Bh
cgogICAgICAgICBzZXR0aW5ncy0+c2V0V2ViR0xFbmFibGVkKGdfdmFsdWVfZ2V0X2Jvb2xlYW4o
JnZhbHVlKSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShTTU9PVEhfU0NST0xMSU5HKQorICAgIGVs
c2UgaWYgKG5hbWUgPT0gZ19pbnRlcm5fc3RyaW5nKCJlbmFibGUtc21vb3RoLXNjcm9sbGluZyIp
KQorICAgICAgICBzZXR0aW5ncy0+c2V0RW5hYmxlU2Nyb2xsQW5pbWF0b3IoZ192YWx1ZV9nZXRf
Ym9vbGVhbigmdmFsdWUpKTsKKyNlbmRpZgorCiAgICAgZWxzZSBpZiAoIWdfb2JqZWN0X2NsYXNz
X2ZpbmRfcHJvcGVydHkoR19PQkpFQ1RfR0VUX0NMQVNTKHdlYlNldHRpbmdzKSwgbmFtZSkpCiAg
ICAgICAgIGdfd2FybmluZygiVW5leHBlY3RlZCBzZXR0aW5nICclcyciLCBuYW1lKTsKICAgICBn
X3ZhbHVlX3Vuc2V0KCZ2YWx1ZSk7CmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1
cmUuYWMKaW5kZXggYWJmMTFhNThhM2Y1NDkwODRjY2YxMDY3ZTI1N2JkOWI0MjY5NzQwZS4uY2Y1
NjhiYmUzMjNjZjE2MGYxYzYxMjBmNDE3NTg4ZWMzZjY1YTMzZSAxMDA2NDQKLS0tIGEvY29uZmln
dXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtODAxLDYgKzgwMSwxNCBAQCBBQ19BUkdfRU5B
QkxFKGZhc3RfbW9iaWxlX3Njcm9sbGluZywKICAgICAgICAgICAgICAgW10sW2VuYWJsZV9mYXN0
X21vYmlsZV9zY3JvbGxpbmc9Im5vIl0pCiBBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2Zhc3RfbW9i
aWxlX3Njcm9sbGluZ10pCiAKKyMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgc21vb3RoIHNjcm9s
bGluZyBzdXBwb3J0CitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIHNtb290aCBz
Y3JvbGxpbmcgc3VwcG9ydF0pCitBQ19BUkdfRU5BQkxFKHNtb290aF9zY3JvbGxpbmcsCisgICAg
ICAgICAgICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zbW9vdGgtc2Nyb2xsaW5nXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZSBzdXBwb3J0IGZvciBzbW9vdGggc2Ny
b2xsaW5nIFtkZWZhdWx0PXllc11dKSwKKyAgICAgICAgICAgICAgW10sW2VuYWJsZV9zbW9vdGhf
c2Nyb2xsaW5nPSJ5ZXMiXSkKK0FDX01TR19SRVNVTFQoWyRlbmFibGVfc21vb3RoX3Njcm9sbGlu
Z10pCisKICMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgY29kZSBjb3ZlcmFnZQogQUNfTVNHX0NI
RUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBjb2RlIGNvdmVyYWdlIHN1cHBvcnRdKQogQUNfQVJH
X0VOQUJMRShjb3ZlcmFnZSwKQEAgLTExNzIsNiArMTE4MCw3IEBAIEFNX0NPTkRJVElPTkFMKFtF
TkFCTEVfREFUQUxJU1RdLFt0ZXN0ICIkZW5hYmxlX2RhdGFsaXN0IiA9ICJ5ZXMiXSkKIEFNX0NP
TkRJVElPTkFMKFtFTkFCTEVfREVUQUlMU10sW3Rlc3QgIiRlbmFibGVfZGV0YWlscyIgPSAieWVz
Il0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0VWRU5UU09VUkNFXSxbdGVzdCAiJGVuYWJsZV9l
dmVudHNvdXJjZSIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0ZBU1RfTU9CSUxF
X1NDUk9MTElOR10sW3Rlc3QgIiRlbmFibGVfZmFzdF9tb2JpbGVfc2Nyb2xsaW5nIiA9ICJ5ZXMi
XSkKK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfU01PT1RIX1NDUk9MTElOR10sW3Rlc3QgIiRlbmFi
bGVfc21vb3RoX3Njcm9sbGluZyIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0ZJ
TEVfU1lTVEVNXSxbdGVzdCAiJGVuYWJsZV9maWxlX3N5c3RlbSIgPSAieWVzIl0pCiBBTV9DT05E
SVRJT05BTChbRU5BQkxFX1FVT1RBXSxbdGVzdCAiJGVuYWJsZV9xdW90YSIgPSAieWVzIl0pCiBB
TV9DT05ESVRJT05BTChbRU5BQkxFX0lDT05EQVRBQkFTRV0sW3Rlc3QgIiRlbmFibGVfaWNvbl9k
YXRhYmFzZSIgPSAieWVzIl0pCkBAIC0xMjcxLDYgKzEyODAsNyBAQCBGZWF0dXJlczoKICBEZXZp
Y2VPcmllbnRhdGlvbiBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRl
bmFibGVfZGV2aWNlX29yaWVudGF0aW9uCiAgRGlyZWN0b3J5IHVwbG9hZCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2RpcmVjdG9yeV91cGxvYWQKICBG
YXN0IE1vYmlsZSBTY3JvbGxpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6
ICRlbmFibGVfZmFzdF9tb2JpbGVfc2Nyb2xsaW5nCisgU21vb3RoIHNjcm9sbGluZyBzdXBwb3J0
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX3Ntb290aF9zY3JvbGxp
bmcKICBKSVQgY29tcGlsYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA6ICRlbmFibGVfaml0CiAgRmlsdGVycyBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2ZpbHRlcnMKICBHZW9sb2NhdGlvbiBzdXBw
b3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfZ2VvbG9j
YXRpb24K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127560</attachid>
            <date>2012-02-17 02:30:35 -0800</date>
            <delta_ts>2012-02-18 01:09:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-16123-20120217113034.patch</filename>
            <type>text/plain</type>
            <size>18615</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZGYwZjNlNWIzMTg0ZmYyYmE4OGRlNGFiYjNlNDZkNDkyYjZhYTkyLi4yZGI4YmJjN2ExNjY1ZWFj
M2Q1M2IxZDgwYzczNDk4MjRlZjQwNzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0wMi0xNyAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwu
Y29tPgorCisgICAgICAgIFtHVEtdIFNtb290aCBzY3JvbGxpbmcgc3VwcG9ydAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxMjMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbHdheXMgZGVmaW5lIHRoZSBT
TU9PVEhfU0NST0xMSU5HIGZlYXR1cmUgZm9yIHRoZSBHdGsrIHBvcnQuCisKKyAgICAgICAgKiB3
dGYvUGxhdGZvcm0uaDoKKwogMjAxMi0wMi0xNiAgWXVxaWFuZyBYaWFuICA8eXVxaWFuZy54aWFu
QGludGVsLmNvbT4KIAogICAgICAgICBBZGQgSlNDIGNvZGUgcHJvZmlsaW5nIHN1cHBvcnQgb24g
TGludXggeDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2RkYjBiMTRjMmVkMjVkOGU3OTYwNzMyOTkwNDMxYzk2
ZDljMjJjMS4uYjg2ZTNhZjcyNWJmM2Y1NDg5OTUyNTQzZDAwNDhkNjJiNzA0NjMwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAyLTE3ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2Jl
cnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS10gU21vb3RoIHNjcm9sbGluZyBzdXBwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjEyMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyAtIG5vIGNoYW5nZWQgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICBBZGQgdGhlIFNjcm9s
bEFuaW1hdG9yTm9uZSBmaWxlcyB0byB0aGUgY29tcGlsYXRpb24uCisKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5saXN0LmFtOgorCiAyMDEyLTAyLTE2ICBDcmlzIE5lY2thciAgPGNkbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgQ29ycmVjdCBhIG1pc2xlYWRpbmcgY29tbWVudCByZWdhcmRpbmcg
c3RyaW5nIGRlbGltaXRlcnMgaW4gQ1NTIHBhcnNpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggYzI5
YmRjNmFhNDRiOTdlZjI0OTE0MWM4YzhmNDc4YjAzZTI5ZmU1Ni4uN2NkMzIzYjIxYmYxZTk5YzQw
MWU1MzJkZGQ4ZGZlYzJlOWJkZDc0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBA
CisyMDEyLTAyLTE3ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAg
ICAgICAgW0dUS10gU21vb3RoIHNjcm9sbGluZyBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjEyMworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBzZXR0aW5ncyBvcHRpb24gdG8g
ZW5hYmxlIHNtb290aCBzY3JvbGxpbmcuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vic2V0
dGluZ3MuY3BwOgorICAgICAgICAod2Via2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KToKKyAg
ICAgICAgKHdlYmtpdF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3BlcnR5KToKKyAgICAgICAgKHdlYmtp
dF93ZWJfc2V0dGluZ3NfZ2V0X3Byb3BlcnR5KToKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vi
c2V0dGluZ3Nwcml2YXRlLmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwOgor
ICAgICAgICAod2Via2l0X3dlYl92aWV3X3VwZGF0ZV9zZXR0aW5ncyk6CisgICAgICAgICh3ZWJr
aXRfd2ViX3ZpZXdfc2V0dGluZ3Nfbm90aWZ5KToKKwogMjAxMi0wMi0xNiAgQWRhbSBCYXJ0aCAg
PGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEF0dGVtcHQgdG8gZml4IHRoZSBHVEsgYnVp
bGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggMGEyZmU2NGFiYmExMzEwNjQzMGNjY2VmODdhNDA5NTg4OGQ5N2Rj
Zi4uMmVmOTc4MzY3NGQwZTYxYWYzNTg2ZWE3ZTQyM2QyNzJiYWMxZDVkOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM2IEBACisyMDEyLTAyLTE3ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0Bn
bWFpbC5jb20+CisKKyAgICAgICAgW0dUS10gU21vb3RoIHNjcm9sbGluZyBzdXBwb3J0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjEyMworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0aGUgZ2V0dGVy
IGFuZCBzZXR0ZXIgZnVuY3Rpb25zIGZvciB0aGUgc2Nyb2xsIGFuaW1hdG9yIHByZWZlcmVuY2UK
KyAgICAgICAgdG8gdGhlIFdlYlByZWZlcmVuY2VzU3RvcmUgYW5kIFdLUHJlZmVyZW5jZXMgb2Jq
ZWN0cy4gVGhlIHZhbHVlIG9mIHRoZQorICAgICAgICBwcmVmZXJlbmNlIGRlZmF1bHRzIHRvIGZh
bHNlLgorCisgICAgICAgIEFsc28gYWRkIHRoZSBlbmFibGUtc21vb3RoLXNjcm9sbGluZyBwcm9w
ZXJ0eSB0byB0aGUgV2ViS2l0U2V0dGluZ3Mgb2JqZWN0CisgICAgICAgIGFsb25nIHdpdGggYXBw
cm9wcmlhdGUgc2V0dGVyIGFuZCBnZXR0ZXIgZnVuY3Rpb25zLCBtYWtpbmcgaXQgcG9zc2libGUg
dG8KKyAgICAgICAgdXNlIHNtb290aCBzY3JvbGxpbmcgaW4gdGhlIEd0aysgV2ViS2l0MiBwb3J0
LgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaDoKKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc1NldEVuYWJsZVNjcm9sbEFuaW1hdG9yKToKKyAgICAgICAgKFdL
UHJlZmVyZW5jZXNHZXRFbmFibGVTY3JvbGxBbmltYXRvcik6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRTZXR0aW5ncy5jcHA6CisgICAgICAgICh3ZWJLaXRTZXR0aW5nc1NldFByb3BlcnR5KToKKyAg
ICAgICAgKHdlYktpdFNldHRpbmdzR2V0UHJvcGVydHkpOgorICAgICAgICAod2Via2l0X3NldHRp
bmdzX2NsYXNzX2luaXQpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfc21v
b3RoX3Njcm9sbGluZyk6CisgICAgICAgICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9zbW9v
dGhfc2Nyb2xsaW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5n
cy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9u
cy50eHQ6IEFkZCB0aGUgdHdvIG5ldyBmdW5jdGlvbnMKKyAgICAgICAgdG8gdGhlIGRvY3VtZW50
YXRpb24uCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTItMDItMTYgIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtd
IE1ha2Ugc3VyZSBwcmludCBvcGVyYXRpb24gb2JqZWN0IGlzIGFsaXZlIHVudGlsIHByaW50aW5n
IGZpbmlzaGVzIGluIFdlYktpdDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRl
eCA4ZDAyNDQ1OGYwMzEyODAyMTFkNzRlNzBlNWI0ZmFlZjliNWVkMjM5Li44NGY5NTU1ZGVlMTk4
YTNkYzI1ZjRiZTU2MDNmZGFjOTAwNTE5ODQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0
Zm9ybS5oCkBAIC00ODcsNiArNDg3LDcgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oR1RLKQor
I2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9MTElORyAxCiAjZGVmaW5lIFdURl9VU0VfQ0FJUk8g
MQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGRjM2IxZGYyMTky
ZDMyNjMzNTg5ZGUzMDNjYjczYTc4ODJkY2NmNGMuLjM1NjZlN2YwZDk4M2Y4NjA5OGYwN2JjY2Fm
MDE4YzZkMTVjYzU2NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMzI2NCw2
ICszMjY0LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY2hlbWVSZWdpc3RyeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRvci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmggXAor
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAgXAorCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGFibGVBcmVhLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5j
cHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRp
bmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAK
aW5kZXggZDkxYzNiYmYzNTIxYzI1NmM0OWQyODZlMjQxZWQ5ZTc1MDA1OGMzZC4uMTAzNmU4Y2Fj
NWM4ZjI5NzBiNTBhYmIwZDRjYWU4NmQ5MzgyZTc2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCkBAIC0xMjAsNyArMTIwLDggQEAgZW51bSB7
CiAgICAgUFJPUF9FTkFCTEVfRE5TX1BSRUZFVENISU5HLAogICAgIFBST1BfRU5BQkxFX1dFQkdM
LAogICAgIFBST1BfRU5BQkxFX1dFQl9BVURJTywKLSAgICBQUk9QX0VOQUJMRV9BQ0NFTEVSQVRF
RF9DT01QT1NJVElORworICAgIFBST1BfRU5BQkxFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HLAor
ICAgIFBST1BfRU5BQkxFX1NNT09USF9TQ1JPTExJTkcKIH07CiAKIC8vIENyZWF0ZSBhIGRlZmF1
bHQgdXNlciBhZ2VudCBzdHJpbmcKQEAgLTk1Myw2ICs5NTQsMjIgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KFdlYktpdFdlYlNldHRpbmdzQ2xhc3MqIGtsYXNz
KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXygiV2hldGhlciBXZWJLaXQgcHJlZmV0Y2hlcyBkb21haW4gbmFtZXMiKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
bGFncykpOworCisgICAgLyoqCisgICAgKiBXZWJLaXRXZWJTZXR0aW5nczplbmFibGUtc21vb3Ro
LXNjcm9sbGluZworICAgICoKKyAgICAqIEVuYWJsZSBvciBkaXNhYmxlIHN1cHBvcnQgZm9yIHNt
b290aCBzY3JvbGxpbmcuIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIHJlbGllcyB1cG9uCisg
ICAgKiBDUFUgd29yayB0byBwcm9kdWNlIGEgc21vb3RoIHNjcm9sbGluZyBleHBlcmllbmNlLgor
ICAgICoKKyAgICAqIFNpbmNlOiAxLjcuNQorICAgICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5z
dGFsbF9wcm9wZXJ0eShnb2JqZWN0X2NsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUFJPUF9FTkFCTEVfU01PT1RIX1NDUk9MTElORywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKCJlbmFibGUtc21vb3RoLXNj
cm9sbGluZyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBfKCJFbmFibGUgc21vb3RoIHNjcm9sbGluZyIpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiV2hldGhlciB0byBl
bmFibGUgc21vb3RoIHNjcm9sbGluZyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFncykpOwogfQogCiBzdGF0aWMg
dm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2luaXQoV2ViS2l0V2ViU2V0dGluZ3MqIHdlYl9zZXR0
aW5ncykKQEAgLTExMjgsNiArMTE0NSw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGlu
Z3Nfc2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgY29uCiAgICAg
Y2FzZSBQUk9QX0VOQUJMRV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORzoKICAgICAgICAgcHJpdi0+
ZW5hYmxlQWNjZWxlcmF0ZWRDb21wb3NpdGluZyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUp
OwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1NNT09USF9TQ1JPTExJTkc6
CisgICAgICAgIHByaXYtPmVuYWJsZVNtb290aFNjcm9sbGluZyA9IGdfdmFsdWVfZ2V0X2Jvb2xl
YW4odmFsdWUpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBHX09CSkVD
VF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lkLCBwc3BlYyk7CiAgICAg
ICAgIGJyZWFrOwpAQCAtMTI5Myw2ICsxMzEzLDkgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9z
ZXR0aW5nc19nZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wX2lkLCBHVmEK
ICAgICBjYXNlIFBST1BfRU5BQkxFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HOgogICAgICAgICBn
X3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVBY2NlbGVyYXRlZENvbXBvc2l0
aW5nKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9TTU9PVEhfU0NST0xM
SU5HOgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVTbW9v
dGhTY3JvbGxpbmcpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBHX09C
SkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lkLCBwc3BlYyk7CiAg
ICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYnNldHRpbmdzcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnNldHRpbmdzcHJpdmF0ZS5oCmluZGV4IGQ3ZDA4MmU1YmIzZmZhYmJlZjRkZWJjNmE4ZTEyNWFm
YzdjNzI2MzEuLjI0MGQ3OWZhZDc1YTAyN2FhYTVkZmY2YjVkZjljOTczMGNjNThlNzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5nc3ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3Nwcml2YXRl
LmgKQEAgLTgwLDYgKzgwLDcgQEAgc3RydWN0IF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUgewog
ICAgIGdib29sZWFuIGVuYWJsZVdlYmdsOwogICAgIGdib29sZWFuIGVuYWJsZVdlYkF1ZGlvOwog
ICAgIGdib29sZWFuIGVuYWJsZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmc7CisgICAgZ2Jvb2xlYW4g
ZW5hYmxlU21vb3RoU2Nyb2xsaW5nOwogfTsKIAogV0VCS0lUX0FQSSB2b2lkIHdlYmtpdF93ZWJf
c2V0dGluZ3NfYWRkX2V4dHJhX3BsdWdpbl9kaXJlY3RvcnkoV2ViS2l0V2ViVmlldyosIGNvbnN0
IGdjaGFyKiBkaXJlY3RvcnkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZp
ZXcuY3BwCmluZGV4IDM4ZDk0MDEzZjA4ZjFmN2VmOTU3NTc2MDk2OGQ3MWY1N2UyYzM1M2UuLjI4
MzUxOTQ0N2IzMDdjNjlkYzNkOTZlZGM0Y2QxOTcyNmUyZGExY2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKQEAgLTMyODUsNiArMzI4NSwxMCBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfdXBkYXRlX3NldHRpbmdzKFdlYktpdFdlYlZpZXcqIHdl
YlZpZXcpCiAgICAgY29yZVNldHRpbmdzLT5zZXRVc2VIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2wo
ZmFsc2UpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU01PT1RIX1NDUk9MTElORykKKyAgICBjb3Jl
U2V0dGluZ3MtPnNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxl
U21vb3RoU2Nyb2xsaW5nKTsKKyNlbmRpZgorCiAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBjb3JlKHdl
YlZpZXcpKQogICAgICAgICBwYWdlLT5zZXRUYWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMoc2V0
dGluZ3NQcml2YXRlLT50YWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMpOwogCkBAIC0zNDE5LDYg
KzM0MjMsMTEgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3NldHRpbmdzX25vdGlmeShX
ZWJLaXRXZWJTZXR0aW5ncyogd2ViU2V0dGluZ3MsIEdQYXIKICAgICAgICAgc2V0dGluZ3MtPnNl
dFdlYkF1ZGlvRW5hYmxlZChnX3ZhbHVlX2dldF9ib29sZWFuKCZ2YWx1ZSkpOwogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoU01PT1RIX1NDUk9MTElORykKKyAgICBlbHNlIGlmIChuYW1lID09IGdfaW50
ZXJuX3N0cmluZygiZW5hYmxlLXNtb290aC1zY3JvbGxpbmciKSkKKyAgICAgICAgc2V0dGluZ3Mt
PnNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnZhbHVlKSk7Cisj
ZW5kaWYKKwogICAgIGVsc2UgaWYgKCFnX29iamVjdF9jbGFzc19maW5kX3Byb3BlcnR5KEdfT0JK
RUNUX0dFVF9DTEFTUyh3ZWJTZXR0aW5ncyksIG5hbWUpKQogICAgICAgICBnX3dhcm5pbmcoIlVu
ZXhwZWN0ZWQgc2V0dGluZyAnJXMnIiwgbmFtZSk7CiAgICAgZ192YWx1ZV91bnNldCgmdmFsdWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUu
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKaW5kZXggZWJh
NDQ3ZmJiNWRiMWJkOGY3YTk4MjdmMTk2ODY4Y2JlMWM5ZGNhZC4uOTVjZGNlYzM1MDIwNzcwYzdi
ODE2NDVhYzE0ZjlmZTA5NmU0NGI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYlByZWZlcmVuY2VzU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXNTdG9yZS5oCkBAIC0xMDUsNiArMTA1LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAg
ICAgbWFjcm8oU2hvdWxkRGlzcGxheUNhcHRpb25zLCBzaG91bGREaXNwbGF5Q2FwdGlvbnMsIEJv
b2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oU2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlv
bnMsIHNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zLCBCb29sLCBib29sLCBmYWxzZSkgXAog
ICAgIG1hY3JvKE5vdGlmaWNhdGlvbnNFbmFibGVkLCBub3RpZmljYXRpb25zRW5hYmxlZCwgQm9v
bCwgYm9vbCwgdHJ1ZSkgXAorICAgIG1hY3JvKEVuYWJsZVNjcm9sbEFuaW1hdG9yLCBzY3JvbGxB
bmltYXRvckVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgXAogCiAjZGVmaW5lIEZP
Ul9FQUNIX1dFQktJVF9ET1VCTEVfUFJFRkVSRU5DRShtYWNybykgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDUyMWU2ZDRhMDVj
Y2RmMWNhNmYxY2Y0ZmU2NmRmNDk5OWViYmU5NWEuLjVhMDg3NTQ1YzgxYTlmMTg5NDJmODAwMGEz
ZmVlZjQ0Y2IwNmM1MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlcy5jcHAKQEAgLTc0NCwzICs3NDQsMTMgQEAgdm9pZCBXS1ByZWZlcmVuY2Vz
UmVzZXRUZXN0UnVubmVyT3ZlcnJpZGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYp
CiAgICAgLy8gYXJlIHVzdWFsbHkgYWx3YXlzIHRoZSBzYW1lIChpbiB0aGUgVUkgcHJvY2Vzcyks
IHRoZXkgYXJlIG5vdCBzZW50IHRvIHdlYiBwcm9jZXNzLCBub3QgdHJpZ2dlcmluZyB0aGUgcmVz
ZXQuCiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+Zm9yY2VVcGRhdGUoKTsKIH0KKwordm9p
ZCBXS1ByZWZlcmVuY2VzU2V0RW5hYmxlU2Nyb2xsQW5pbWF0b3IoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPnNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKGVuYWJsZWQpOworfQorCitib29sIFdLUHJlZmVy
ZW5jZXNHZXRFbmFibGVTY3JvbGxBbmltYXRvcihXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
UmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zY3JvbGxBbmltYXRv
ckVuYWJsZWQoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5oCmluZGV4IGYxMzU1OWFjYjgyZTEzYWFiMjA0NmQxMDIxYTdkZDg3OTc5MDQ5MjUu
LmI5MjIwNjdiZDQ2YzA3ZGVhOWE4ZDEyOTcyNmExYmNjMDFhZTRkYWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaApAQCAtMTk3LDYgKzE5Nywx
MCBAQCBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U2hvdWxkRGlzcGxheVRleHREZXNj
cmlwdGlvbnMoV0tQcmVmZXJlbmNlc1JlZiBwcgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNl
c1NldE5vdGlmaWNhdGlvbnNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYs
IGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0Tm90aWZpY2F0
aW9uc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CiAKKy8vIERlZmF1
bHRzIHRvIGZhbHNlCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0RW5hYmxlU2Nyb2xs
QW5pbWF0b3IoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsK
K1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRFbmFibGVTY3JvbGxBbmltYXRvcihXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNl
dHRpbmdzLmNwcAppbmRleCA3NzRmMTcxOTBjOTg5OTRhNGNhOWU4YTIwOTEyMmQzZjMyZTQ1YzUz
Li4zNTE1OTlhZjliNDFiNThiZGZmYzA2M2EwYWU0YzU3OTc0ZDZjMDBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCkBAIC0x
MDIsNyArMTAyLDggQEAgZW51bSB7CiAgICAgUFJPUF9FTkFCTEVfQ0FSRVRfQlJPV1NJTkcsCiAg
ICAgUFJPUF9FTkFCTEVfRlVMTFNDUkVFTiwKICAgICBQUk9QX1BSSU5UX0JBQ0tHUk9VTkRTLAot
ICAgIFBST1BfRU5BQkxFX1dFQkFVRElPCisgICAgUFJPUF9FTkFCTEVfV0VCQVVESU8sCisgICAg
UFJPUF9FTkFCTEVfU01PT1RIX1NDUk9MTElORwogfTsKIAogc3RhdGljIHZvaWQgd2ViS2l0U2V0
dGluZ3NTZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgY29uc3QgR1Zh
bHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyogcGFyYW1TcGVjKQpAQCAtMjA2LDYgKzIwNyw5IEBAIHN0
YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzU2V0UHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWlu
dCBwcm9wSWQsIGNvbnN0IEdWYWx1CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9XRUJBVURJTzoKICAg
ICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfd2ViYXVkaW8oc2V0dGluZ3MsIGdfdmFs
dWVfZ2V0X2Jvb2xlYW4odmFsdWUpKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VO
QUJMRV9TTU9PVEhfU0NST0xMSU5HOgorICAgICAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJs
ZV9zbW9vdGhfc2Nyb2xsaW5nKHNldHRpbmdzLCBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKSk7
CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5W
QUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BJZCwgcGFyYW1TcGVjKTsKICAgICAgICAgYnJl
YWs7CkBAIC0zMTMsNiArMzE3LDkgQEAgc3RhdGljIHZvaWQgd2ViS2l0U2V0dGluZ3NHZXRQcm9w
ZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgR1ZhbHVlKiB2YWwKICAgICBjYXNl
IFBST1BfRU5BQkxFX1dFQkFVRElPOgogICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVl
LCB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV93ZWJhdWRpbyhzZXR0aW5ncykpOwogICAgICAg
ICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1NNT09USF9TQ1JPTExJTkc6CisgICAgICAg
IGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Nt
b290aF9zY3JvbGxpbmcoc2V0dGluZ3MpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoK
ICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcElk
LCBwYXJhbVNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTc5NCw2ICs4MDEsMjAgQEAgc3RhdGlj
IHZvaWQgd2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQoV2ViS2l0U2V0dGluZ3NDbGFzcyoga2xh
c3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJlYWRXcml0ZUNvbnN0cnVjdFBhcmFtRmxhZ3MpKTsKIAorICAgIC8qKgor
ICAgICAqIFdlYktpdFNldHRpbmdzOmVuYWJsZS1zbW9vdGgtc2Nyb2xsaW5nOgorICAgICAqCisg
ICAgICogRW5hYmxlIG9yIGRpc2FibGUgc3VwcG9ydCBmb3Igc21vb3RoIHNjcm9sbGluZy4gVGhl
IGN1cnJlbnQgaW1wbGVtZW50YXRpb24gcmVsaWVzIHVwb24KKyAgICAgKiBDUFUgd29yayB0byBw
cm9kdWNlIGEgc21vb3RoIHNjcm9sbGluZyBleHBlcmllbmNlLgorICAgICAqLworICAgIGdfb2Jq
ZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ09iamVjdENsYXNzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUFJPUF9FTkFCTEVfU01PT1RIX1NDUk9MTElORywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKCJlbmFi
bGUtc21vb3RoLXNjcm9sbGluZyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBfKCJFbmFibGUgc21vb3RoIHNjcm9sbGluZyIpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygi
V2hldGhlciB0byBlbmFibGUgc21vb3RoIHNjcm9sbGluZyIpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkV3JpdGVD
b25zdHJ1Y3RQYXJhbUZsYWdzKSk7CisKICAgICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUoa2xh
c3MsIHNpemVvZihXZWJLaXRTZXR0aW5nc1ByaXZhdGUpKTsKIH0KIApAQCAtMjAxNiwzICsyMDM3
LDM4IEBAIHZvaWQgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfd2ViYXVkaW8oV2ViS2l0U2V0
dGluZ3MqIHNldHRpbmdzLCBnYm9vbGVhbiBlbmFiCiAgICAgV0tQcmVmZXJlbmNlc1NldFdlYkF1
ZGlvRW5hYmxlZChwcml2LT5wcmVmZXJlbmNlcy5nZXQoKSwgZW5hYmxlZCk7CiAgICAgZ19vYmpl
Y3Rfbm90aWZ5KEdfT0JKRUNUKHNldHRpbmdzKSwgImVuYWJsZS13ZWJhdWRpbyIpOwogfQorCisv
KioKKyAqIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Ntb290aF9zY3JvbGxpbmc6CisgKiBA
c2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKgorICogR2V0IHRoZSAjV2ViS2l0U2V0dGlu
Z3M6ZW5hYmxlLXNtb290aC1zY3JvbGxpbmcgcHJvcGVydHkuCisgKgorICogUmV0dXJuczogJVRS
VUUgaWYgc21vb3RoIHNjcm9sbGluZyBpcyBlbmFibGVkIG9yICVGQUxTRSBvdGhlcndpc2UuCisg
Ki8KK2dib29sZWFuIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Ntb290aF9zY3JvbGxpbmco
V2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdF
QktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncyksIEZBTFNFKTsKKworICAgIHJldHVybiBXS1ByZWZl
cmVuY2VzR2V0RW5hYmxlU2Nyb2xsQW5pbWF0b3Ioc2V0dGluZ3MtPnByaXYtPnByZWZlcmVuY2Vz
LmdldCgpKTsKK30KKworLyoqCisgKiB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9zbW9vdGhf
c2Nyb2xsaW5nOgorICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0aW5ncworICogQGVuYWJsZWQ6
IFZhbHVlIHRvIGJlIHNldAorICoKKyAqIFNldCB0aGUgI1dlYktpdFNldHRpbmdzOmVuYWJsZS1z
bW9vdGgtc2Nyb2xsaW5nIHByb3BlcnR5LgorICovCit2b2lkIHdlYmtpdF9zZXR0aW5nc19zZXRf
ZW5hYmxlX3Ntb290aF9zY3JvbGxpbmcoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzLCBnYm9vbGVh
biBlbmFibGVkKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1NFVFRJTkdTKHNl
dHRpbmdzKSk7CisKKyAgICBXZWJLaXRTZXR0aW5nc1ByaXZhdGUqIHByaXYgPSBzZXR0aW5ncy0+
cHJpdjsKKyAgICBib29sIGN1cnJlbnRWYWx1ZSA9IFdLUHJlZmVyZW5jZXNHZXRFbmFibGVTY3Jv
bGxBbmltYXRvcihwcml2LT5wcmVmZXJlbmNlcy5nZXQoKSk7CisgICAgaWYgKGN1cnJlbnRWYWx1
ZSA9PSBlbmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBXS1ByZWZlcmVuY2VzU2V0RW5h
YmxlU2Nyb2xsQW5pbWF0b3IocHJpdi0+cHJlZmVyZW5jZXMuZ2V0KCksIGVuYWJsZWQpOworICAg
IGdfb2JqZWN0X25vdGlmeShHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUtc21vb3RoLXNjcm9s
bGluZyIpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0U2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFNldHRpbmdzLmgKaW5kZXggMjdjYjdjNzVhMTkxZGJkM2U0YTI0OGYzMmU4MmM5MGRkNWI1NWMz
MC4uMDYxNjI4MWFjMzE3ZjEwN2M1MTNiMDUyZGFjM2QzYTJjMWE2MGE1YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oCkBAIC0zMDAs
NiArMzAwLDEzIEBAIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVf
d2ViYXVkaW8gICAgICAgICAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzICpzZXR0
aW5ncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnYm9vbGVhbiAgICAgICAgZW5hYmxlZCk7CiAKK1dFQktJVF9BUEkgZ2Jv
b2xlYW4KK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Ntb290aF9zY3JvbGxpbmcgICAgICAg
ICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MpOworCitXRUJLSVRfQVBJIHZv
aWQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Ntb290aF9zY3JvbGxpbmcgICAgICAgICAg
ICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICAg
ICAgIGVuYWJsZWQpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYgLyogV2ViS2l0U2V0dGluZ3Nf
aCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93
ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50eHQKaW5kZXggMDQyNjQ1ZDk4N2RlMDUxYzFhYTlh
N2YwMmRlYTUxMmE2Yjc4MWY1YS4uYTZjODU4Njc4MjA3NGUyZGE5NTYxMmVhYTM2MTBhMzEyOTEy
MmI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93
ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0CkBAIC0yMTgsNiArMjE4LDggQEAgd2Vi
a2l0X3NldHRpbmdzX2dldF9wcmludF9iYWNrZ3JvdW5kcwogd2Via2l0X3NldHRpbmdzX3NldF9w
cmludF9iYWNrZ3JvdW5kcwogd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfd2ViYXVkaW8KIHdl
YmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3dlYmF1ZGlvCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2Vu
YWJsZV9zbW9vdGhfc2Nyb2xsaW5nCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9zbW9vdGhf
c2Nyb2xsaW5nCiAKIDxTVUJTRUNUSU9OIFN0YW5kYXJkPgogV2ViS2l0U2V0dGluZ3NDbGFzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDYx
OWQxYTI0YWUwNzM0OGY0YzM1NWFkMzYxZjY3NmRjYzQ0MTEwYWQuLjBhYzI0NDJiODI1MWM4ZDA1
MDBiYWNiZDBjNTYxYTE2NjEzZmYwNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE5MzcsNiArMTkzNywxMCBAQCB2b2lkIFdlYlBhZ2U6
OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogICAg
IHNldHRpbmdzLT5zZXROb3RpZmljYXRpb25zRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JL
ZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om5vdGlmaWNhdGlvbnNFbmFibGVkS2V5KCkpKTsKICNlbmRp
ZgogCisjaWYgRU5BQkxFKFNNT09USF9TQ1JPTExJTkcpCisgICAgc2V0dGluZ3MtPnNldEVuYWJs
ZVNjcm9sbEFuaW1hdG9yKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6c2Nyb2xsQW5pbWF0b3JFbmFibGVkS2V5KCkpKTsKKyNlbmRpZgorCiAgICAgcGxhdGZvcm1Q
cmVmZXJlbmNlc0RpZENoYW5nZShzdG9yZSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127700</attachid>
            <date>2012-02-18 01:09:16 -0800</date>
            <delta_ts>2012-02-21 01:31:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-16123-20120218100914.patch</filename>
            <type>text/plain</type>
            <size>18225</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2FjMzUxMWM3NDgwNTNk
MTU1NjAyMmEwNWRiNDg5ODJkOWE5OWU5My4uNWQ2NGJmYzI1YjUxNTNhZDVjNzYwZDQzZWY4Y2I2
N2ZhNWI1ZDdmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTE4ICBaYW4g
RG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS10gU21vb3Ro
IHNjcm9sbGluZyBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjEyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyAtIG5vIG5ldyBmdW5jdGlvbmFsaXR5LgorCisgICAgICAg
IEFkZCB0aGUgU2Nyb2xsQW5pbWF0b3JOb25lIGNsYXNzIHRvIGNvbXBpbGF0aW9uIGFuZCBlbmFi
bGUKKyAgICAgICAgdGhlIHNtb290aCBzY3JvbGxpbmcgZmVhdHVyZSBieSBkZWZhdWx0IGF0IGNv
bXBpbGF0aW9uIHRpbWUuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5saXN0LmFtOgorCiAyMDEyLTAyLTE3ICBBZGFtIEtsZWluICA8YWRhbWtAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIEF2b2lkIGluY29uc2lzdGVuY3kgaW4gTm9kZTo6aW5Eb2N1
bWVudCBkdWUgdG8gRE9NU3VidHJlZU1vZGlmaWVkIGRpc3BhdGNoCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5k
ZXggNDY1ZTU0MGJjOTgzZjMxZjkwNzQ5ZjNjMGMwNzc2MmI5MjgwYzFjNC4uNzI2NjkzZDQxMWYz
Nzk4MmI4ZTc4M2RkMmI5MmVlMTYyNDdlMTY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIxIEBACisyMDEyLTAyLTE4ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+
CisKKyAgICAgICAgW0dUS10gU21vb3RoIHNjcm9sbGluZyBzdXBwb3J0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjEyMworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBzZXR0aW5ncyBvcHRp
b24gdG8gZW5hYmxlIHNtb290aCBzY3JvbGxpbmcuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0
d2Vic2V0dGluZ3MuY3BwOgorICAgICAgICAod2Via2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0
KToKKyAgICAgICAgKHdlYmtpdF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3BlcnR5KToKKyAgICAgICAg
KHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3Byb3BlcnR5KToKKyAgICAgICAgKiB3ZWJraXQvd2Vi
a2l0d2Vic2V0dGluZ3Nwcml2YXRlLmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcu
Y3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X3VwZGF0ZV9zZXR0aW5ncyk6CisgICAgICAg
ICh3ZWJraXRfd2ViX3ZpZXdfc2V0dGluZ3Nfbm90aWZ5KToKKwogMjAxMi0wMi0xNyAgR3l1eW91
bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtHVEtdIGNoYW5n
ZSB0aGUgd2F5IG9mIHJlZ2lzdGVyaW5nIERldmljZU9yaWVudGF0aW9uIGNsaWVudHMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggMGNkMjZkZGE1NWM0MTBiNmVmMzJlM2QyZDc3N2MwOWYxOTNmNGFiYS4uMzQzM2U0
N2I2MzRkNDkwZWM4MWE1YzdiODgwMjgyNGVkZTFiNDM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDM2IEBACisyMDEyLTAyLTE4ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+
CisKKyAgICAgICAgW0dUS10gU21vb3RoIHNjcm9sbGluZyBzdXBwb3J0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjEyMworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0aGUgZ2V0dGVyIGFuZCBzZXR0
ZXIgZnVuY3Rpb25zIGZvciB0aGUgc2Nyb2xsIGFuaW1hdG9yIHByZWZlcmVuY2UKKyAgICAgICAg
dG8gdGhlIFdlYlByZWZlcmVuY2VzU3RvcmUgYW5kIFdLUHJlZmVyZW5jZXMgb2JqZWN0cy4gVGhl
IHZhbHVlIG9mIHRoZQorICAgICAgICBwcmVmZXJlbmNlIGRlZmF1bHRzIHRvIGZhbHNlLgorCisg
ICAgICAgIEFsc28gYWRkIHRoZSBlbmFibGUtc21vb3RoLXNjcm9sbGluZyBwcm9wZXJ0eSB0byB0
aGUgV2ViS2l0U2V0dGluZ3Mgb2JqZWN0CisgICAgICAgIGFsb25nIHdpdGggYXBwcm9wcmlhdGUg
c2V0dGVyIGFuZCBnZXR0ZXIgZnVuY3Rpb25zLCBtYWtpbmcgaXQgcG9zc2libGUgdG8KKyAgICAg
ICAgdXNlIHNtb290aCBzY3JvbGxpbmcgaW4gdGhlIEd0aysgV2ViS2l0MiBwb3J0LgorCisgICAg
ICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaDoKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc1NldEVuYWJsZVNjcm9sbEFuaW1hdG9yKToKKyAgICAgICAgKFdLUHJlZmVyZW5j
ZXNHZXRFbmFibGVTY3JvbGxBbmltYXRvcik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5n
cy5jcHA6CisgICAgICAgICh3ZWJLaXRTZXR0aW5nc1NldFByb3BlcnR5KToKKyAgICAgICAgKHdl
YktpdFNldHRpbmdzR2V0UHJvcGVydHkpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2NsYXNz
X2luaXQpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfc21vb3RoX3Njcm9s
bGluZyk6CisgICAgICAgICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9zbW9vdGhfc2Nyb2xs
aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50eHQ6IEFk
ZCB0aGUgdHdvIG5ldyBmdW5jdGlvbnMKKyAgICAgICAgdG8gdGhlIGRvY3VtZW50YXRpb24uCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTItMDItMTcgIE5vJ2FtIFJvc2Vu
dGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gQWxs
b3cgb3BhcXVlIHRpbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5h
bSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGIxMWE0ODcyNjIyZWRmMjVi
YTNlYTA3Y2EyOGY0NDk3ODY0NmYwYjMuLjk2ZjE4NjY1NTRjY2I5YTEwYjU4MzcyZjBmNjY3ZjUw
MzBlOTM0OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0xMDksNiArMTA5LDEyIEBAIHdlYmNv
cmVndGtfY3BwZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cAogCiAjIC0tLQorIyBGZWF0dXJlcyBlbmFibGVkIGJ5IGRlZmF1bHQgYXQg
Y29tcGlsYXRpb24gdGltZQorIyAtLS0KK0ZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfU01PT1RI
X1NDUk9MTElORz0xCit3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX1NNT09USF9TQ1JPTExJ
Tkc9MQorCisjIC0tLQogIyBDaGFubmVsIG1lc2FnaW5nIHN1cHBvcnQKICMgLS0tCiBpZiBFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGRk
N2I3ZGNjOGU3YWU0YmU4ZTNhODI3ODgxNjdjMjE0ZDgzNGI1ZTYuLjYxNWQ1MDQ4YzczODk3NjEz
NWI2NjdjODU2OTdlYjczY2NjZGI2NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpA
QCAtMzI3Myw2ICszMjczLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxBbmltYXRvci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1h
dG9yLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGJhci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYnNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0
aW5ncy5jcHAKaW5kZXggZDkxYzNiYmYzNTIxYzI1NmM0OWQyODZlMjQxZWQ5ZTc1MDA1OGMzZC4u
MTAzNmU4Y2FjNWM4ZjI5NzBiNTBhYmIwZDRjYWU4NmQ5MzgyZTc2OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCkBAIC0xMjAsNyArMTIwLDgg
QEAgZW51bSB7CiAgICAgUFJPUF9FTkFCTEVfRE5TX1BSRUZFVENISU5HLAogICAgIFBST1BfRU5B
QkxFX1dFQkdMLAogICAgIFBST1BfRU5BQkxFX1dFQl9BVURJTywKLSAgICBQUk9QX0VOQUJMRV9B
Q0NFTEVSQVRFRF9DT01QT1NJVElORworICAgIFBST1BfRU5BQkxFX0FDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HLAorICAgIFBST1BfRU5BQkxFX1NNT09USF9TQ1JPTExJTkcKIH07CiAKIC8vIENyZWF0
ZSBhIGRlZmF1bHQgdXNlciBhZ2VudCBzdHJpbmcKQEAgLTk1Myw2ICs5NTQsMjIgQEAgc3RhdGlj
IHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KFdlYktpdFdlYlNldHRpbmdzQ2xh
c3MqIGtsYXNzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXygiV2hldGhlciBXZWJLaXQgcHJlZmV0Y2hlcyBkb21haW4gbmFtZXMiKSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmbGFncykpOworCisgICAgLyoqCisgICAgKiBXZWJLaXRXZWJTZXR0aW5nczplbmFi
bGUtc21vb3RoLXNjcm9sbGluZworICAgICoKKyAgICAqIEVuYWJsZSBvciBkaXNhYmxlIHN1cHBv
cnQgZm9yIHNtb290aCBzY3JvbGxpbmcuIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIHJlbGll
cyB1cG9uCisgICAgKiBDUFUgd29yayB0byBwcm9kdWNlIGEgc21vb3RoIHNjcm9sbGluZyBleHBl
cmllbmNlLgorICAgICoKKyAgICAqIFNpbmNlOiAxLjcuNQorICAgICovCisgICAgZ19vYmplY3Rf
Y2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0X2NsYXNzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUFJPUF9FTkFCTEVfU01PT1RIX1NDUk9MTElORywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKCJlbmFibGUt
c21vb3RoLXNjcm9sbGluZyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBfKCJFbmFibGUgc21vb3RoIHNjcm9sbGluZyIpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiV2hl
dGhlciB0byBlbmFibGUgc21vb3RoIHNjcm9sbGluZyIpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFncykpOwogfQog
CiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2luaXQoV2ViS2l0V2ViU2V0dGluZ3Mq
IHdlYl9zZXR0aW5ncykKQEAgLTExMjgsNiArMTE0NSw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93
ZWJfc2V0dGluZ3Nfc2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwg
Y29uCiAgICAgY2FzZSBQUk9QX0VOQUJMRV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORzoKICAgICAg
ICAgcHJpdi0+ZW5hYmxlQWNjZWxlcmF0ZWRDb21wb3NpdGluZyA9IGdfdmFsdWVfZ2V0X2Jvb2xl
YW4odmFsdWUpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1NNT09USF9T
Q1JPTExJTkc6CisgICAgICAgIHByaXYtPmVuYWJsZVNtb290aFNjcm9sbGluZyA9IGdfdmFsdWVf
Z2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAg
ICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lkLCBwc3Bl
Yyk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTI5Myw2ICsxMzEzLDkgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0X3dlYl9zZXR0aW5nc19nZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9w
X2lkLCBHVmEKICAgICBjYXNlIFBST1BfRU5BQkxFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HOgog
ICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5lbmFibGVBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9TTU9P
VEhfU0NST0xMSU5HOgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5l
bmFibGVTbW9vdGhTY3JvbGxpbmcpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAg
ICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lkLCBw
c3BlYyk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYnNldHRpbmdzcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYnNldHRpbmdzcHJpdmF0ZS5oCmluZGV4IGQ3ZDA4MmU1YmIzZmZhYmJlZjRkZWJj
NmE4ZTEyNWFmYzdjNzI2MzEuLjI0MGQ3OWZhZDc1YTAyN2FhYTVkZmY2YjVkZjljOTczMGNjNThl
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5n
c3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGlu
Z3Nwcml2YXRlLmgKQEAgLTgwLDYgKzgwLDcgQEAgc3RydWN0IF9XZWJLaXRXZWJTZXR0aW5nc1By
aXZhdGUgewogICAgIGdib29sZWFuIGVuYWJsZVdlYmdsOwogICAgIGdib29sZWFuIGVuYWJsZVdl
YkF1ZGlvOwogICAgIGdib29sZWFuIGVuYWJsZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmc7CisgICAg
Z2Jvb2xlYW4gZW5hYmxlU21vb3RoU2Nyb2xsaW5nOwogfTsKIAogV0VCS0lUX0FQSSB2b2lkIHdl
YmtpdF93ZWJfc2V0dGluZ3NfYWRkX2V4dHJhX3BsdWdpbl9kaXJlY3RvcnkoV2ViS2l0V2ViVmll
dyosIGNvbnN0IGdjaGFyKiBkaXJlY3RvcnkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYnZpZXcuY3BwCmluZGV4IDg4Y2Y2ZGZhNDI4YTgzNDJhNDRhYzc1NGY3Zjg0YzFjZTc2
YTVlOGQuLjg5NDIzNGUzZTNlNzY5MDUzOGY4ZDU3NjUzYmVjNzBhMTEzODNiNDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKQEAgLTMyODUsNiArMzI4NSwx
MCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfdXBkYXRlX3NldHRpbmdzKFdlYktpdFdl
YlZpZXcqIHdlYlZpZXcpCiAgICAgY29yZVNldHRpbmdzLT5zZXRVc2VIaXhpZTc2V2ViU29ja2V0
UHJvdG9jb2woZmFsc2UpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU01PT1RIX1NDUk9MTElORykK
KyAgICBjb3JlU2V0dGluZ3MtPnNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKHNldHRpbmdzUHJpdmF0
ZS0+ZW5hYmxlU21vb3RoU2Nyb2xsaW5nKTsKKyNlbmRpZgorCiAgICAgaWYgKFBhZ2UqIHBhZ2Ug
PSBjb3JlKHdlYlZpZXcpKQogICAgICAgICBwYWdlLT5zZXRUYWJLZXlDeWNsZXNUaHJvdWdoRWxl
bWVudHMoc2V0dGluZ3NQcml2YXRlLT50YWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMpOwogCkBA
IC0zNDE5LDYgKzM0MjMsMTEgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3NldHRpbmdz
X25vdGlmeShXZWJLaXRXZWJTZXR0aW5ncyogd2ViU2V0dGluZ3MsIEdQYXIKICAgICAgICAgc2V0
dGluZ3MtPnNldFdlYkF1ZGlvRW5hYmxlZChnX3ZhbHVlX2dldF9ib29sZWFuKCZ2YWx1ZSkpOwog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoU01PT1RIX1NDUk9MTElORykKKyAgICBlbHNlIGlmIChuYW1l
ID09IGdfaW50ZXJuX3N0cmluZygiZW5hYmxlLXNtb290aC1zY3JvbGxpbmciKSkKKyAgICAgICAg
c2V0dGluZ3MtPnNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnZh
bHVlKSk7CisjZW5kaWYKKwogICAgIGVsc2UgaWYgKCFnX29iamVjdF9jbGFzc19maW5kX3Byb3Bl
cnR5KEdfT0JKRUNUX0dFVF9DTEFTUyh3ZWJTZXR0aW5ncyksIG5hbWUpKQogICAgICAgICBnX3dh
cm5pbmcoIlVuZXhwZWN0ZWQgc2V0dGluZyAnJXMnIiwgbmFtZSk7CiAgICAgZ192YWx1ZV91bnNl
dCgmdmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgK
aW5kZXggNTJlMDgyMDZlNWVhZTRiMzZmZjU3YmViYmQ0ZDIxNDgwYTE5MDI5YS4uZjVjYzliZjA4
ZWY5ZmNiMDg2NWM1YmRiMGRiZWEwZTViYTI1ZmJiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCkBAIC0xMDYsNiArMTA2LDcgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiAgICAgbWFjcm8oU2hvdWxkRGlzcGxheUNhcHRpb25zLCBzaG91bGREaXNwbGF5Q2Fw
dGlvbnMsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oU2hvdWxkRGlzcGxheVRleHRE
ZXNjcmlwdGlvbnMsIHNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zLCBCb29sLCBib29sLCBm
YWxzZSkgXAogICAgIG1hY3JvKE5vdGlmaWNhdGlvbnNFbmFibGVkLCBub3RpZmljYXRpb25zRW5h
YmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAorICAgIG1hY3JvKEVuYWJsZVNjcm9sbEFuaW1hdG9y
LCBzY3JvbGxBbmltYXRvckVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgXAogCiAj
ZGVmaW5lIEZPUl9FQUNIX1dFQktJVF9ET1VCTEVfUFJFRkVSRU5DRShtYWNybykgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IGUw
NzZiNTM3ZjU4OGYwMTcyMjg5NTQzYzUyNmRkYWJjYWQxNDY4ZDEuLmU4OGRlOWE1ZTUwNzRlZTUw
MzUyZDA1NzUwYjdiYjQzY2FlNzU0YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTc1NCwzICs3NTQsMTMgQEAgdm9pZCBXS1By
ZWZlcmVuY2VzUmVzZXRUZXN0UnVubmVyT3ZlcnJpZGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYpCiAgICAgLy8gYXJlIHVzdWFsbHkgYWx3YXlzIHRoZSBzYW1lIChpbiB0aGUgVUkg
cHJvY2VzcyksIHRoZXkgYXJlIG5vdCBzZW50IHRvIHdlYiBwcm9jZXNzLCBub3QgdHJpZ2dlcmlu
ZyB0aGUgcmVzZXQuCiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+Zm9yY2VVcGRhdGUoKTsK
IH0KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0RW5hYmxlU2Nyb2xsQW5pbWF0b3IoV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQoreworICAgIHRvSW1wbChwcmVm
ZXJlbmNlc1JlZiktPnNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKGVuYWJsZWQpOworfQorCitib29s
IFdLUHJlZmVyZW5jZXNHZXRFbmFibGVTY3JvbGxBbmltYXRvcihXS1ByZWZlcmVuY2VzUmVmIHBy
ZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zY3Jv
bGxBbmltYXRvckVuYWJsZWQoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlcy5oCmluZGV4IGYxMzU1OWFjYjgyZTEzYWFiMjA0NmQxMDIxYTdkZDg3
OTc5MDQ5MjUuLmI5MjIwNjdiZDQ2YzA3ZGVhOWE4ZDEyOTcyNmExYmNjMDFhZTRkYWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaApAQCAtMTk3
LDYgKzE5NywxMCBAQCBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U2hvdWxkRGlzcGxh
eVRleHREZXNjcmlwdGlvbnMoV0tQcmVmZXJlbmNlc1JlZiBwcgogV0tfRVhQT1JUIHZvaWQgV0tQ
cmVmZXJlbmNlc1NldE5vdGlmaWNhdGlvbnNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0
Tm90aWZpY2F0aW9uc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CiAK
Ky8vIERlZmF1bHRzIHRvIGZhbHNlCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0RW5h
YmxlU2Nyb2xsQW5pbWF0b3IoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBl
bmFibGVkKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRFbmFibGVTY3JvbGxBbmlt
YXRvcihXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNw
bHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFNldHRpbmdzLmNwcAppbmRleCA3NzRmMTcxOTBjOTg5OTRhNGNhOWU4YTIwOTEyMmQz
ZjMyZTQ1YzUzLi4zNTE1OTlhZjliNDFiNThiZGZmYzA2M2EwYWU0YzU3OTc0ZDZjMDBmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3Mu
Y3BwCkBAIC0xMDIsNyArMTAyLDggQEAgZW51bSB7CiAgICAgUFJPUF9FTkFCTEVfQ0FSRVRfQlJP
V1NJTkcsCiAgICAgUFJPUF9FTkFCTEVfRlVMTFNDUkVFTiwKICAgICBQUk9QX1BSSU5UX0JBQ0tH
Uk9VTkRTLAotICAgIFBST1BfRU5BQkxFX1dFQkFVRElPCisgICAgUFJPUF9FTkFCTEVfV0VCQVVE
SU8sCisgICAgUFJPUF9FTkFCTEVfU01PT1RIX1NDUk9MTElORwogfTsKIAogc3RhdGljIHZvaWQg
d2ViS2l0U2V0dGluZ3NTZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwg
Y29uc3QgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyogcGFyYW1TcGVjKQpAQCAtMjA2LDYgKzIw
Nyw5IEBAIHN0YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzU2V0UHJvcGVydHkoR09iamVjdCogb2Jq
ZWN0LCBndWludCBwcm9wSWQsIGNvbnN0IEdWYWx1CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9XRUJB
VURJTzoKICAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfd2ViYXVkaW8oc2V0dGlu
Z3MsIGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpKTsKICAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBQUk9QX0VOQUJMRV9TTU9PVEhfU0NST0xMSU5HOgorICAgICAgICB3ZWJraXRfc2V0dGluZ3Nf
c2V0X2VuYWJsZV9zbW9vdGhfc2Nyb2xsaW5nKHNldHRpbmdzLCBnX3ZhbHVlX2dldF9ib29sZWFu
KHZhbHVlKSk7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNU
X1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BJZCwgcGFyYW1TcGVjKTsKICAg
ICAgICAgYnJlYWs7CkBAIC0zMTMsNiArMzE3LDkgQEAgc3RhdGljIHZvaWQgd2ViS2l0U2V0dGlu
Z3NHZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgR1ZhbHVlKiB2YWwK
ICAgICBjYXNlIFBST1BfRU5BQkxFX1dFQkFVRElPOgogICAgICAgICBnX3ZhbHVlX3NldF9ib29s
ZWFuKHZhbHVlLCB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV93ZWJhdWRpbyhzZXR0aW5ncykp
OwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1NNT09USF9TQ1JPTExJTkc6
CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHdlYmtpdF9zZXR0aW5nc19nZXRf
ZW5hYmxlX3Ntb290aF9zY3JvbGxpbmcoc2V0dGluZ3MpKTsKKyAgICAgICAgYnJlYWs7CiAgICAg
ZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVj
dCwgcHJvcElkLCBwYXJhbVNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTc5NCw2ICs4MDEsMjAg
QEAgc3RhdGljIHZvaWQgd2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQoV2ViS2l0U2V0dGluZ3ND
bGFzcyoga2xhc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJlYWRXcml0ZUNvbnN0cnVjdFBhcmFtRmxhZ3MpKTsKIAor
ICAgIC8qKgorICAgICAqIFdlYktpdFNldHRpbmdzOmVuYWJsZS1zbW9vdGgtc2Nyb2xsaW5nOgor
ICAgICAqCisgICAgICogRW5hYmxlIG9yIGRpc2FibGUgc3VwcG9ydCBmb3Igc21vb3RoIHNjcm9s
bGluZy4gVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gcmVsaWVzIHVwb24KKyAgICAgKiBDUFUg
d29yayB0byBwcm9kdWNlIGEgc21vb3RoIHNjcm9sbGluZyBleHBlcmllbmNlLgorICAgICAqLwor
ICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ09iamVjdENsYXNzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9FTkFCTEVfU01PT1RIX1NDUk9MTElO
RywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29s
ZWFuKCJlbmFibGUtc21vb3RoLXNjcm9sbGluZyIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJFbmFibGUgc21vb3RoIHNjcm9sbGlu
ZyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXygiV2hldGhlciB0byBlbmFibGUgc21vb3RoIHNjcm9sbGluZyIpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdzKSk7CisKICAgICBnX3R5cGVfY2xhc3NfYWRkX3By
aXZhdGUoa2xhc3MsIHNpemVvZihXZWJLaXRTZXR0aW5nc1ByaXZhdGUpKTsKIH0KIApAQCAtMjAx
NiwzICsyMDM3LDM4IEBAIHZvaWQgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfd2ViYXVkaW8o
V2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzLCBnYm9vbGVhbiBlbmFiCiAgICAgV0tQcmVmZXJlbmNl
c1NldFdlYkF1ZGlvRW5hYmxlZChwcml2LT5wcmVmZXJlbmNlcy5nZXQoKSwgZW5hYmxlZCk7CiAg
ICAgZ19vYmplY3Rfbm90aWZ5KEdfT0JKRUNUKHNldHRpbmdzKSwgImVuYWJsZS13ZWJhdWRpbyIp
OwogfQorCisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Ntb290aF9zY3JvbGxp
bmc6CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKgorICogR2V0IHRoZSAjV2Vi
S2l0U2V0dGluZ3M6ZW5hYmxlLXNtb290aC1zY3JvbGxpbmcgcHJvcGVydHkuCisgKgorICogUmV0
dXJuczogJVRSVUUgaWYgc21vb3RoIHNjcm9sbGluZyBpcyBlbmFibGVkIG9yICVGQUxTRSBvdGhl
cndpc2UuCisgKi8KK2dib29sZWFuIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Ntb290aF9z
Y3JvbGxpbmcoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQoreworICAgIGdfcmV0dXJuX3ZhbF9p
Zl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncyksIEZBTFNFKTsKKworICAgIHJldHVy
biBXS1ByZWZlcmVuY2VzR2V0RW5hYmxlU2Nyb2xsQW5pbWF0b3Ioc2V0dGluZ3MtPnByaXYtPnBy
ZWZlcmVuY2VzLmdldCgpKTsKK30KKworLyoqCisgKiB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJs
ZV9zbW9vdGhfc2Nyb2xsaW5nOgorICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0aW5ncworICog
QGVuYWJsZWQ6IFZhbHVlIHRvIGJlIHNldAorICoKKyAqIFNldCB0aGUgI1dlYktpdFNldHRpbmdz
OmVuYWJsZS1zbW9vdGgtc2Nyb2xsaW5nIHByb3BlcnR5LgorICovCit2b2lkIHdlYmtpdF9zZXR0
aW5nc19zZXRfZW5hYmxlX3Ntb290aF9zY3JvbGxpbmcoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdz
LCBnYm9vbGVhbiBlbmFibGVkKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1NF
VFRJTkdTKHNldHRpbmdzKSk7CisKKyAgICBXZWJLaXRTZXR0aW5nc1ByaXZhdGUqIHByaXYgPSBz
ZXR0aW5ncy0+cHJpdjsKKyAgICBib29sIGN1cnJlbnRWYWx1ZSA9IFdLUHJlZmVyZW5jZXNHZXRF
bmFibGVTY3JvbGxBbmltYXRvcihwcml2LT5wcmVmZXJlbmNlcy5nZXQoKSk7CisgICAgaWYgKGN1
cnJlbnRWYWx1ZSA9PSBlbmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBXS1ByZWZlcmVu
Y2VzU2V0RW5hYmxlU2Nyb2xsQW5pbWF0b3IocHJpdi0+cHJlZmVyZW5jZXMuZ2V0KCksIGVuYWJs
ZWQpOworICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUtc21v
b3RoLXNjcm9sbGluZyIpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFNldHRpbmdzLmgKaW5kZXggMjdjYjdjNzVhMTkxZGJkM2U0YTI0OGYzMmU4MmM5
MGRkNWI1NWMzMC4uMDYxNjI4MWFjMzE3ZjEwN2M1MTNiMDUyZGFjM2QzYTJjMWE2MGE1YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5o
CkBAIC0zMDAsNiArMzAwLDEzIEBAIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X3NldHRpbmdzX3Nl
dF9lbmFibGVfd2ViYXVkaW8gICAgICAgICAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRp
bmdzICpzZXR0aW5ncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAgICAgZW5hYmxlZCk7CiAKK1dFQktJ
VF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Ntb290aF9zY3JvbGxp
bmcgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MpOworCitXRUJL
SVRfQVBJIHZvaWQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Ntb290aF9zY3JvbGxpbmcg
ICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jv
b2xlYW4gICAgICAgIGVuYWJsZWQpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYgLyogV2ViS2l0
U2V0dGluZ3NfaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50eHQKaW5kZXggYWFkZDM5Y2ViYmVj
MGM0N2FkNjI2MmYyY2NiNDFkZGNiN2VhMmM4NC4uMzAyMGIyNDExNjM0NTE4OGM1ZTMzYjBhYjcx
Mzk5NGZhNjFjODJiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0CkBAIC0yMTgsNiArMjE4
LDggQEAgd2Via2l0X3NldHRpbmdzX2dldF9wcmludF9iYWNrZ3JvdW5kcwogd2Via2l0X3NldHRp
bmdzX3NldF9wcmludF9iYWNrZ3JvdW5kcwogd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfd2Vi
YXVkaW8KIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3dlYmF1ZGlvCit3ZWJraXRfc2V0dGlu
Z3NfZ2V0X2VuYWJsZV9zbW9vdGhfc2Nyb2xsaW5nCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJs
ZV9zbW9vdGhfc2Nyb2xsaW5nCiAKIDxTVUJTRUNUSU9OIFN0YW5kYXJkPgogV2ViS2l0U2V0dGlu
Z3NDbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IDQwMjJlYzRmM2VjZWNkMGEyOTM3MDlmMzliMGIzMzU4YTI0MmE3YzEuLjEzNWY2ODQz
YmNlMWQ2YTUyZDQ0NTk3NDdlMWI4YTljNzY5NWM2NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE5MzgsNiArMTkzOCwxMCBAQCB2b2lk
IFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0
b3JlKQogICAgIHNldHRpbmdzLT5zZXROb3RpZmljYXRpb25zRW5hYmxlZChzdG9yZS5nZXRCb29s
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om5vdGlmaWNhdGlvbnNFbmFibGVkS2V5KCkp
KTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFNNT09USF9TQ1JPTExJTkcpCisgICAgc2V0dGluZ3Mt
PnNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6c2Nyb2xsQW5pbWF0b3JFbmFibGVkS2V5KCkpKTsKKyNlbmRpZgorCiAgICAg
cGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5nZShzdG9yZSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127937</attachid>
            <date>2012-02-21 01:31:33 -0800</date>
            <delta_ts>2012-02-22 07:33:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-16123-20120221103131.patch</filename>
            <type>text/plain</type>
            <size>7573</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDgzZDBlZjI4MDgyZDcy
OGU0OGVlMGNlYzJhOGNlZjlkNzgwNDk1Zi4uNmJlODE3NzRhYTgxYWZmZWQ5MjkzYzI3ZWI3MTcz
NWJhNjg5NWI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTIxICBaYW4g
RG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS10gU21vb3Ro
IHNjcm9sbGluZyBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjEyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyAtIG5vIG5ldyBmdW5jdGlvbmFsaXR5LgorCisgICAgICAg
IEFkZCB0aGUgU2Nyb2xsQW5pbWF0b3JOb25lIGNsYXNzIHRvIGNvbXBpbGF0aW9uIGFuZCBlbmFi
bGUKKyAgICAgICAgdGhlIHNtb290aCBzY3JvbGxpbmcgZmVhdHVyZSBieSBkZWZhdWx0IGF0IGNv
bXBpbGF0aW9uIHRpbWUuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5saXN0LmFtOgorCiAyMDEyLTAyLTIxICBLZW50YXJvIEhhcmEgIDxoYXJha2Vu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBFbmFibGUgdGhlIElETCBhdHRyaWJ1dGUgY2hlY2tl
ciBpbiBDaHJvbWl1bQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDYyYTg3MmUwNTZkMDFhNjJmMDM5YzRh
NDU3YjAyYzA5MzJiZWUzMTEuLjhiNTQ4NzI2MTY4YzU5MTlkZDEzYjE0YTgwZWMxNTE3Yjk0MGEy
Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wMi0yMSAgWmFuIERv
YmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgorCisgICAgICAgIFtHVEtdIFNtb290aCBz
Y3JvbGxpbmcgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYxMjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgYSBuZXcgc2V0dGluZ3Mgb3B0aW9uIHRvIGVuYWJsZSBzbW9vdGggc2Nyb2xs
aW5nLgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAg
KHdlYmtpdF93ZWJfc2V0dGluZ3NfY2xhc3NfaW5pdCk6CisgICAgICAgICh3ZWJraXRfd2ViX3Nl
dHRpbmdzX3NldF9wcm9wZXJ0eSk6CisgICAgICAgICh3ZWJraXRfd2ViX3NldHRpbmdzX2dldF9w
cm9wZXJ0eSk6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzcHJpdmF0ZS5oOgor
ICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJf
dmlld191cGRhdGVfc2V0dGluZ3MpOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X3NldHRpbmdz
X25vdGlmeSk6CisKIDIwMTItMDItMjAgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIEZpeCBHVEsrIHVuaXQgdGVzdHMgYWZ0ZXIgcjEwODI4MS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0KaW5kZXggYjExYTQ4NzI2MjJlZGYyNWJhM2VhMDdjYTI4ZjQ0OTc4NjQ2
ZjBiMy4uOTZmMTg2NjU1NGNjYjlhMTBiNTgzNzJmMGY2NjdmNTAzMGU5MzQ5MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KQEAgLTEwOSw2ICsxMDksMTIgQEAgd2ViY29yZWd0a19jcHBmbGFncyArPSBc
CiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwCiAKICMg
LS0tCisjIEZlYXR1cmVzIGVuYWJsZWQgYnkgZGVmYXVsdCBhdCBjb21waWxhdGlvbiB0aW1lCisj
IC0tLQorRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HPTEKK3dlYmNv
cmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfU01PT1RIX1NDUk9MTElORz0xCisKKyMgLS0tCiAjIENo
YW5uZWwgbWVzYWdpbmcgc3VwcG9ydAogIyAtLS0KIGlmIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNDJmYjlmYzFlZmJjZWVkMWVjMGEw
NDIwMjVkYmM2MThkNDYwMmYyOC4uMjdmMWRmNGI0OThjMzJlODQxNTA1OWNhZGU3MGJhYjFjYWI5
NTUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0zMjczLDYgKzMyNzMsOCBA
QCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJl
Z2lzdHJ5LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaCBcCisJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcCBcCisJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGFibGVBcmVhLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwIGIv
U291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcAppbmRleCBiZjZm
ZjYwMGQ1NGE2YjcxZDc0NzI1ZjIxZmY1N2I5NDU3NDk1NjgzLi5kNWE3NTMwYzZjYzU5MzgyYmZk
N2U0ZTUwYjllMGUwN2FjMWVmMjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJzZXR0aW5ncy5jcHAKQEAgLTEyMCw3ICsxMjAsOCBAQCBlbnVtIHsKICAgICBQUk9Q
X0VOQUJMRV9ETlNfUFJFRkVUQ0hJTkcsCiAgICAgUFJPUF9FTkFCTEVfV0VCR0wsCiAgICAgUFJP
UF9FTkFCTEVfV0VCX0FVRElPLAotICAgIFBST1BfRU5BQkxFX0FDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HCisgICAgUFJPUF9FTkFCTEVfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcsCisgICAgUFJPUF9F
TkFCTEVfU01PT1RIX1NDUk9MTElORwogfTsKIAogLy8gQ3JlYXRlIGEgZGVmYXVsdCB1c2VyIGFn
ZW50IHN0cmluZwpAQCAtOTUzLDYgKzk1NCwyMiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3Nl
dHRpbmdzX2NsYXNzX2luaXQoV2ViS2l0V2ViU2V0dGluZ3NDbGFzcyoga2xhc3MpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJXaGV0
aGVyIFdlYktpdCBwcmVmZXRjaGVzIGRvbWFpbiBuYW1lcyIpLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CisK
KyAgICAvKioKKyAgICAqIFdlYktpdFdlYlNldHRpbmdzOmVuYWJsZS1zbW9vdGgtc2Nyb2xsaW5n
CisgICAgKgorICAgICogRW5hYmxlIG9yIGRpc2FibGUgc3VwcG9ydCBmb3Igc21vb3RoIHNjcm9s
bGluZy4gVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gcmVsaWVzIHVwb24KKyAgICAqIENQVSB3
b3JrIHRvIHByb2R1Y2UgYSBzbW9vdGggc2Nyb2xsaW5nIGV4cGVyaWVuY2UuCisgICAgKgorICAg
ICogU2luY2U6IDEuNy42CisgICAgKi8KKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3Bl
cnR5KGdvYmplY3RfY2xhc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ
Uk9QX0VOQUJMRV9TTU9PVEhfU0NST0xMSU5HLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4oImVuYWJsZS1zbW9vdGgtc2Nyb2xsaW5nIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF8oIkVuYWJsZSBzbW9vdGggc2Nyb2xsaW5nIiksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJXaGV0aGVyIHRvIGVuYWJsZSBzbW9v
dGggc2Nyb2xsaW5nIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHdlYmtp
dF93ZWJfc2V0dGluZ3NfaW5pdChXZWJLaXRXZWJTZXR0aW5ncyogd2ViX3NldHRpbmdzKQpAQCAt
MTEyOCw2ICsxMTQ1LDkgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19zZXRfcHJv
cGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wX2lkLCBjb24KICAgICBjYXNlIFBST1Bf
RU5BQkxFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HOgogICAgICAgICBwcml2LT5lbmFibGVBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7CiAgICAgICAg
IGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfU01PT1RIX1NDUk9MTElORzoKKyAgICAgICAg
cHJpdi0+ZW5hYmxlU21vb3RoU2Nyb2xsaW5nID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSk7
CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5W
QUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsKICAgICAgICAgYnJlYWs7
CkBAIC0xMjkzLDYgKzEzMTMsOSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2dl
dF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BfaWQsIEdWYQogICAgIGNhc2Ug
UFJPUF9FTkFCTEVfQUNDRUxFUkFURURfQ09NUE9TSVRJTkc6CiAgICAgICAgIGdfdmFsdWVfc2V0
X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmcpOwogICAg
ICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1NNT09USF9TQ1JPTExJTkc6CisgICAg
ICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHByaXYtPmVuYWJsZVNtb290aFNjcm9sbGlu
Zyk7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5f
SU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsKICAgICAgICAgYnJl
YWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGlu
Z3Nwcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3Nw
cml2YXRlLmgKaW5kZXggZDdkMDgyZTViYjNmZmFiYmVmNGRlYmM2YThlMTI1YWZjN2M3MjYzMS4u
MjQwZDc5ZmFkNzVhMDI3YWFhNWRmZjZiNWRmOWM5NzMwY2M1OGU3MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzcHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5nc3ByaXZhdGUuaApAQCAtODAs
NiArODAsNyBAQCBzdHJ1Y3QgX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSB7CiAgICAgZ2Jvb2xl
YW4gZW5hYmxlV2ViZ2w7CiAgICAgZ2Jvb2xlYW4gZW5hYmxlV2ViQXVkaW87CiAgICAgZ2Jvb2xl
YW4gZW5hYmxlQWNjZWxlcmF0ZWRDb21wb3NpdGluZzsKKyAgICBnYm9vbGVhbiBlbmFibGVTbW9v
dGhTY3JvbGxpbmc7CiB9OwogCiBXRUJLSVRfQVBJIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19h
ZGRfZXh0cmFfcGx1Z2luX2RpcmVjdG9yeShXZWJLaXRXZWJWaWV3KiwgY29uc3QgZ2NoYXIqIGRp
cmVjdG9yeSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vi
dmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKaW5k
ZXggODhjZjZkZmE0MjhhODM0MmE0NGFjNzU0ZjdmODRjMWNlNzZhNWU4ZC4uODk0MjM0ZTNlM2U3
NjkwNTM4ZjhkNTc2NTNiZWM3MGExMTM4M2I0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcApAQCAtMzI4NSw2ICszMjg1LDEwIEBAIHN0YXRpYyB2b2lkIHdl
YmtpdF93ZWJfdmlld191cGRhdGVfc2V0dGluZ3MoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAg
ICBjb3JlU2V0dGluZ3MtPnNldFVzZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbChmYWxzZSk7CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShTTU9PVEhfU0NST0xMSU5HKQorICAgIGNvcmVTZXR0aW5ncy0+
c2V0RW5hYmxlU2Nyb2xsQW5pbWF0b3Ioc2V0dGluZ3NQcml2YXRlLT5lbmFibGVTbW9vdGhTY3Jv
bGxpbmcpOworI2VuZGlmCisKICAgICBpZiAoUGFnZSogcGFnZSA9IGNvcmUod2ViVmlldykpCiAg
ICAgICAgIHBhZ2UtPnNldFRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyhzZXR0aW5nc1ByaXZh
dGUtPnRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyk7CiAKQEAgLTM0MTksNiArMzQyMywxMSBA
QCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfc2V0dGluZ3Nfbm90aWZ5KFdlYktpdFdlYlNl
dHRpbmdzKiB3ZWJTZXR0aW5ncywgR1BhcgogICAgICAgICBzZXR0aW5ncy0+c2V0V2ViQXVkaW9F
bmFibGVkKGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnZhbHVlKSk7CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShTTU9PVEhfU0NST0xMSU5HKQorICAgIGVsc2UgaWYgKG5hbWUgPT0gZ19pbnRlcm5fc3RyaW5n
KCJlbmFibGUtc21vb3RoLXNjcm9sbGluZyIpKQorICAgICAgICBzZXR0aW5ncy0+c2V0RW5hYmxl
U2Nyb2xsQW5pbWF0b3IoZ192YWx1ZV9nZXRfYm9vbGVhbigmdmFsdWUpKTsKKyNlbmRpZgorCiAg
ICAgZWxzZSBpZiAoIWdfb2JqZWN0X2NsYXNzX2ZpbmRfcHJvcGVydHkoR19PQkpFQ1RfR0VUX0NM
QVNTKHdlYlNldHRpbmdzKSwgbmFtZSkpCiAgICAgICAgIGdfd2FybmluZygiVW5leHBlY3RlZCBz
ZXR0aW5nICclcyciLCBuYW1lKTsKICAgICBnX3ZhbHVlX3Vuc2V0KCZ2YWx1ZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128212</attachid>
            <date>2012-02-22 07:33:34 -0800</date>
            <delta_ts>2012-03-02 02:05:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-16123-20120222163333.patch</filename>
            <type>text/plain</type>
            <size>7641</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTkwNGZmYTlmZThhMjRm
Y2Y4NDg2MmJjYmZjYmY0YTAwNWFiODE1OS4uYmI0YTBlNjk2YTYzYzIzYmI4YWUxNzBhMWRjNTQ5
MTYxNTUwZDVkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTIyICBaYW4g
RG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS10gU21vb3Ro
IHNjcm9sbGluZyBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjEyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyAtIG5vIG5ldyBmdW5jdGlvbmFsaXR5LgorCisgICAgICAg
IEFkZCB0aGUgU2Nyb2xsQW5pbWF0b3JOb25lIGNsYXNzIHRvIGNvbXBpbGF0aW9uIGFuZCBlbmFi
bGUKKyAgICAgICAgdGhlIHNtb290aCBzY3JvbGxpbmcgZmVhdHVyZSBieSBkZWZhdWx0IGF0IGNv
bXBpbGF0aW9uIHRpbWUuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5saXN0LmFtOgorCiAyMDEyLTAyLTIyICBBbmRyZXkgS29zeWFrb3YgIDxjYXNl
cUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW2V4cGVyaW1lbnRhbF0g
YWRkIGEgbW9kZSB0byBkaXNwbGF5IHRpbWVsaW5lIGV2ZW50cyBhbGlnbmVkIGJ5IHRoZSBzdGFy
dCB0aW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggNmFlOThlNjJmMmIwMmRlMzQ5NzEwNWEwNGFmMDBk
OTdkODIwMDZiNi4uZTZlNzgxYjQzYTQ2MGEzZDA0ZmY1ZGZhZjhhNWU1MmI4ODM1NTBmYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAyLTIyICBaYW4gRG9iZXJzZWsg
IDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS10gU21vb3RoIHNjcm9sbGlu
ZyBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjEyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBhIG5ldyBzZXR0aW5ncyBvcHRpb24gdG8gZW5hYmxlIHNtb290aCBzY3JvbGxpbmcuCisK
KyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwOgorICAgICAgICAod2Via2l0
X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KToKKyAgICAgICAgKHdlYmtpdF93ZWJfc2V0dGluZ3Nf
c2V0X3Byb3BlcnR5KToKKyAgICAgICAgKHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3Byb3BlcnR5
KToKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vic2V0dGluZ3Nwcml2YXRlLmg6CisgICAgICAg
ICogd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X3Vw
ZGF0ZV9zZXR0aW5ncyk6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfc2V0dGluZ3Nfbm90aWZ5
KToKKwogMjAxMi0wMi0yMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBSZW1vdmUgdGhlIHJlbWFpbmluZyB1c2VzIG9mIENTU1N0eWxlRGVjbGFyYXRpb24gaW4g
RWRpdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGNlOWE1ZmEwMzUwYzA5YTc1ZDMzZWNhYWU5
Y2Y0Mjg4YjZjZmNhN2EuLjA3Mzc5YWUwZDIwZGFkZTEyNGFhMDJmNDc4MzBkOGFlODYzYzJlZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0xMTAsNiArMTEwLDEyIEBAIHdlYmNvcmVndGtfY3Bw
ZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cAogCiAjIC0tLQorIyBGZWF0dXJlcyBlbmFibGVkIGJ5IGRlZmF1bHQgYXQgY29tcGlsYXRp
b24gdGltZQorIyAtLS0KK0ZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfU01PT1RIX1NDUk9MTElO
Rz0xCit3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX1NNT09USF9TQ1JPTExJTkc9MQorCisj
IC0tLQogIyBDaGFubmVsIG1lc2FnaW5nIHN1cHBvcnQKICMgLS0tCiBpZiBFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDYzOWYxYjRiMjgx
ZTExN2VkZWQ0ODk1OWUwZjE0NWQ3M2MzODEyMzAuLjliZWEzMzZmNGMyODUwYmViNmYxZjI0N2Rh
NzYxM2I1ODBmOWUzOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMzI4Miw2
ICszMjgyLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY2hlbWVSZWdpc3RyeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRvci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmggXAor
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAgXAorCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGFibGVBcmVhLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5j
cHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRp
bmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAK
aW5kZXggYmY2ZmY2MDBkNTRhNmI3MWQ3NDcyNWYyMWZmNTdiOTQ1NzQ5NTY4My4uOTM4YjQ3ZjVh
YTcwMjhmNGIzM2RiZTU1YTM2ZmZhMWQ3MDFlZTRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCkBAIC0xMjAsNyArMTIwLDggQEAgZW51bSB7
CiAgICAgUFJPUF9FTkFCTEVfRE5TX1BSRUZFVENISU5HLAogICAgIFBST1BfRU5BQkxFX1dFQkdM
LAogICAgIFBST1BfRU5BQkxFX1dFQl9BVURJTywKLSAgICBQUk9QX0VOQUJMRV9BQ0NFTEVSQVRF
RF9DT01QT1NJVElORworICAgIFBST1BfRU5BQkxFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HLAor
ICAgIFBST1BfRU5BQkxFX1NNT09USF9TQ1JPTExJTkcKIH07CiAKIC8vIENyZWF0ZSBhIGRlZmF1
bHQgdXNlciBhZ2VudCBzdHJpbmcKQEAgLTk1Myw2ICs5NTQsMjIgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KFdlYktpdFdlYlNldHRpbmdzQ2xhc3MqIGtsYXNz
KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXygiV2hldGhlciBXZWJLaXQgcHJlZmV0Y2hlcyBkb21haW4gbmFtZXMiKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
bGFncykpOworCisgICAgLyoqCisgICAgKiBXZWJLaXRXZWJTZXR0aW5nczplbmFibGUtc21vb3Ro
LXNjcm9sbGluZworICAgICoKKyAgICAqIEVuYWJsZSBvciBkaXNhYmxlIHN1cHBvcnQgZm9yIHNt
b290aCBzY3JvbGxpbmcuIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIHJlbGllcyB1cG9uCisg
ICAgKiBDUFUgd29yayB0byBwcm9kdWNlIGEgc21vb3RoIHNjcm9sbGluZyBleHBlcmllbmNlLgor
ICAgICoKKyAgICAqIFNpbmNlOiAxLjcuOTAKKyAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2lu
c3RhbGxfcHJvcGVydHkoZ29iamVjdF9jbGFzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFBST1BfRU5BQkxFX1NNT09USF9TQ1JPTExJTkcsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbigiZW5hYmxlLXNtb290aC1z
Y3JvbGxpbmciLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXygiRW5hYmxlIHNtb290aCBzY3JvbGxpbmciKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIldoZXRoZXIgdG8g
ZW5hYmxlIHNtb290aCBzY3JvbGxpbmciKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MpKTsKIH0KIAogc3RhdGlj
IHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19pbml0KFdlYktpdFdlYlNldHRpbmdzKiB3ZWJfc2V0
dGluZ3MpCkBAIC0xMTI4LDYgKzExNDUsOSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRp
bmdzX3NldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BfaWQsIGNvbgogICAg
IGNhc2UgUFJPUF9FTkFCTEVfQUNDRUxFUkFURURfQ09NUE9TSVRJTkc6CiAgICAgICAgIHByaXYt
PmVuYWJsZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmcgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVl
KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9TTU9PVEhfU0NST0xMSU5H
OgorICAgICAgICBwcml2LT5lbmFibGVTbW9vdGhTY3JvbGxpbmcgPSBnX3ZhbHVlX2dldF9ib29s
ZWFuKHZhbHVlKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpF
Q1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOwogICAg
ICAgICBicmVhazsKQEAgLTEyOTMsNiArMTMxMyw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJf
c2V0dGluZ3NfZ2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgR1Zh
CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORzoKICAgICAgICAg
Z192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlQWNjZWxlcmF0ZWRDb21wb3Np
dGluZyk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfU01PT1RIX1NDUk9M
TElORzoKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlU21v
b3RoU2Nyb2xsaW5nKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgR19P
QkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOwog
ICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJzZXR0aW5nc3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3
ZWJzZXR0aW5nc3ByaXZhdGUuaAppbmRleCBkN2QwODJlNWJiM2ZmYWJiZWY0ZGViYzZhOGUxMjVh
ZmM3YzcyNjMxLi4yNDBkNzlmYWQ3NWEwMjdhYWE1ZGZmNmI1ZGY5Yzk3MzBjYzU4ZTcwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3Nwcml2YXRl
LmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzcHJpdmF0
ZS5oCkBAIC04MCw2ICs4MCw3IEBAIHN0cnVjdCBfV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlIHsK
ICAgICBnYm9vbGVhbiBlbmFibGVXZWJnbDsKICAgICBnYm9vbGVhbiBlbmFibGVXZWJBdWRpbzsK
ICAgICBnYm9vbGVhbiBlbmFibGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nOworICAgIGdib29sZWFu
IGVuYWJsZVNtb290aFNjcm9sbGluZzsKIH07CiAKIFdFQktJVF9BUEkgdm9pZCB3ZWJraXRfd2Vi
X3NldHRpbmdzX2FkZF9leHRyYV9wbHVnaW5fZGlyZWN0b3J5KFdlYktpdFdlYlZpZXcqLCBjb25z
dCBnY2hhciogZGlyZWN0b3J5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2
aWV3LmNwcAppbmRleCAzY2QzYWJmZjMxYTY1YjQ3YTc5NGJiM2JkNzE3Y2QxNGMyMWM3ODYzLi4w
ZGFkYjI1NmEzZmYxYjZjYWIzMDA1ZDRjZTNjMWMwN2MwMDk4NGMxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC0zMjYzLDYgKzMyNjMsMTAgQEAgc3Rh
dGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3VwZGF0ZV9zZXR0aW5ncyhXZWJLaXRXZWJWaWV3KiB3
ZWJWaWV3KQogICAgIGNvcmVTZXR0aW5ncy0+c2V0VXNlSGl4aWU3NldlYlNvY2tldFByb3RvY29s
KGZhbHNlKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFNNT09USF9TQ1JPTExJTkcpCisgICAgY29y
ZVNldHRpbmdzLT5zZXRFbmFibGVTY3JvbGxBbmltYXRvcihzZXR0aW5nc1ByaXZhdGUtPmVuYWJs
ZVNtb290aFNjcm9sbGluZyk7CisjZW5kaWYKKwogICAgIGlmIChQYWdlKiBwYWdlID0gY29yZSh3
ZWJWaWV3KSkKICAgICAgICAgcGFnZS0+c2V0VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKHNl
dHRpbmdzUHJpdmF0ZS0+dGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKTsKIApAQCAtMzM5Nyw2
ICszNDAxLDExIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19zZXR0aW5nc19ub3RpZnko
V2ViS2l0V2ViU2V0dGluZ3MqIHdlYlNldHRpbmdzLCBHUGFyCiAgICAgICAgIHNldHRpbmdzLT5z
ZXRXZWJBdWRpb0VuYWJsZWQoZ192YWx1ZV9nZXRfYm9vbGVhbigmdmFsdWUpKTsKICNlbmRpZgog
CisjaWYgRU5BQkxFKFNNT09USF9TQ1JPTExJTkcpCisgICAgZWxzZSBpZiAobmFtZSA9PSBnX2lu
dGVybl9zdHJpbmcoImVuYWJsZS1zbW9vdGgtc2Nyb2xsaW5nIikpCisgICAgICAgIHNldHRpbmdz
LT5zZXRFbmFibGVTY3JvbGxBbmltYXRvcihnX3ZhbHVlX2dldF9ib29sZWFuKCZ2YWx1ZSkpOwor
I2VuZGlmCisKICAgICBlbHNlIGlmICghZ19vYmplY3RfY2xhc3NfZmluZF9wcm9wZXJ0eShHX09C
SkVDVF9HRVRfQ0xBU1Mod2ViU2V0dGluZ3MpLCBuYW1lKSkKICAgICAgICAgZ193YXJuaW5nKCJV
bmV4cGVjdGVkIHNldHRpbmcgJyVzJyIsIG5hbWUpOwogICAgIGdfdmFsdWVfdW5zZXQoJnZhbHVl
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129852</attachid>
            <date>2012-03-02 02:05:57 -0800</date>
            <delta_ts>2012-03-02 10:04:15 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>bug-16123-20120302110556.patch</filename>
            <type>text/plain</type>
            <size>7664</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUyNjRiNDdlOWNkNTcx
OGExNzFjMDgyOTc0MGQwYTIxYWUzZTMwZC4uOGE0ZGZmNGI4ZGU3MzdjNjhmM2JjMWIwMTZhZWFi
YjYwNTVmYjRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAzLTAyICBaYW4g
RG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS10gU21vb3Ro
IHNjcm9sbGluZyBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjEyMworCisgICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4K
KworICAgICAgICBObyBuZXcgdGVzdHMgLSBubyBuZXcgZnVuY3Rpb25hbGl0eS4KKworICAgICAg
ICBBZGQgdGhlIFNjcm9sbEFuaW1hdG9yTm9uZSBjbGFzcyB0byBjb21waWxhdGlvbiBhbmQgZW5h
YmxlCisgICAgICAgIHRoZSBzbW9vdGggc2Nyb2xsaW5nIGZlYXR1cmUgYnkgZGVmYXVsdCBhdCBj
b21waWxhdGlvbiB0aW1lLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICog
R05VbWFrZWZpbGUubGlzdC5hbToKKwogMjAxMi0wMy0wMSAgVnNldm9sb2QgVmxhc292ICA8dnNl
dmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBbSW5zcGVjdG9ySW5k
ZXhlZERCXSBTaG93IG1lYW5pbmdmdWwgZGVzY3JpcHRpb24gZm9yIG9iamVjdCBzdG9yZSBpdGVt
cyB2YWx1ZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggMGQ0ODQ4MzhiMGYwNGY2ZDJmZjFjYTU4ZGI0
MWQ0OGFjZjg1NDM3ZC4uN2NiNmRhNWFlMTM1MjEzNDY3OGMxNzQ3NGZlYWU4Y2ZlZTNiYjE5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTAyICBaYW4gRG9iZXJz
ZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS10gU21vb3RoIHNjcm9s
bGluZyBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjEyMworCisgICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KKworICAg
ICAgICBBZGQgYSBuZXcgc2V0dGluZ3Mgb3B0aW9uIHRvIGVuYWJsZSBzbW9vdGggc2Nyb2xsaW5n
LgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAgKHdl
YmtpdF93ZWJfc2V0dGluZ3NfY2xhc3NfaW5pdCk6CisgICAgICAgICh3ZWJraXRfd2ViX3NldHRp
bmdzX3NldF9wcm9wZXJ0eSk6CisgICAgICAgICh3ZWJraXRfd2ViX3NldHRpbmdzX2dldF9wcm9w
ZXJ0eSk6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzcHJpdmF0ZS5oOgorICAg
ICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmll
d191cGRhdGVfc2V0dGluZ3MpOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X3NldHRpbmdzX25v
dGlmeSk6CisKIDIwMTItMDMtMDEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtHVEtdIFNpbXBsaWZ5IHRoZSBjb2RlIHRvIGFkanVzdCBmb250
IHNpemVzIGRlcGVuZGluZyBvbiBzY3JlZW4gRFBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDNj
Njc2ODc5NTE0ZjY1NTQ2NjExYTU3MzQwYmViODhlMGI0YWU4MzYuLmYyMWUwZjdiNmE0ZGY4N2Vi
MDdmMjgzZTZmMDhmZWNhMGZjOWFlYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0xMTIsNiAr
MTEyLDEyIEBAIHdlYmNvcmVndGtfY3BwZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIpL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cAogCiAjIC0tLQorIyBGZWF0dXJlcyBlbmFibGVk
IGJ5IGRlZmF1bHQgYXQgY29tcGlsYXRpb24gdGltZQorIyAtLS0KK0ZFQVRVUkVfREVGSU5FUyAr
PSBFTkFCTEVfU01PT1RIX1NDUk9MTElORz0xCit3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxF
X1NNT09USF9TQ1JPTExJTkc9MQorCisjIC0tLQogIyBDaGFubmVsIG1lc2FnaW5nIHN1cHBvcnQK
ICMgLS0tCiBpZiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IDk1NmJiM2E5MzUwMzIwMTQ5NjQ1Zjg3MWNlZTQ5NGM0ODhkMTZjZWQuLjBl
M2RmNzY3ZDY2MjFjMjU3Y2VmZGEzMjQ2ZDRlM2E5NzQ2MWQyYmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQpAQCAtMzM4Miw2ICszMzgyLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFu
aW1hdG9yTm9uZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
Tm9uZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmggXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAKaW5kZXggYmY2ZmY2MDBkNTRhNmI3MWQ3NDcyNWYyMWZm
NTdiOTQ1NzQ5NTY4My4uMjUzMTI1OGIzODMzZTM4NTQwMDAwY2Y4ZmFkNDI2M2FmMGRjYTZlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCkBA
IC0xMjAsNyArMTIwLDggQEAgZW51bSB7CiAgICAgUFJPUF9FTkFCTEVfRE5TX1BSRUZFVENISU5H
LAogICAgIFBST1BfRU5BQkxFX1dFQkdMLAogICAgIFBST1BfRU5BQkxFX1dFQl9BVURJTywKLSAg
ICBQUk9QX0VOQUJMRV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORworICAgIFBST1BfRU5BQkxFX0FD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HLAorICAgIFBST1BfRU5BQkxFX1NNT09USF9TQ1JPTExJTkcK
IH07CiAKIC8vIENyZWF0ZSBhIGRlZmF1bHQgdXNlciBhZ2VudCBzdHJpbmcKQEAgLTk1Myw2ICs5
NTQsMjIgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KFdlYktp
dFdlYlNldHRpbmdzQ2xhc3MqIGtsYXNzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiV2hldGhlciBXZWJLaXQgcHJlZmV0Y2hlcyBk
b21haW4gbmFtZXMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmbGFncykpOworCisgICAgLyoqCisgICAgKiBXZWJLaXRX
ZWJTZXR0aW5nczplbmFibGUtc21vb3RoLXNjcm9sbGluZworICAgICoKKyAgICAqIEVuYWJsZSBv
ciBkaXNhYmxlIHN1cHBvcnQgZm9yIHNtb290aCBzY3JvbGxpbmcuIFRoZSBjdXJyZW50IGltcGxl
bWVudGF0aW9uIHJlbGllcyB1cG9uCisgICAgKiBDUFUgd29yayB0byBwcm9kdWNlIGEgc21vb3Ro
IHNjcm9sbGluZyBleHBlcmllbmNlLgorICAgICoKKyAgICAqIFNpbmNlOiAxLjkuMAorICAgICov
CisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0X2NsYXNzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9FTkFCTEVfU01PT1RIX1NDUk9M
TElORywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19i
b29sZWFuKCJlbmFibGUtc21vb3RoLXNjcm9sbGluZyIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJFbmFibGUgc21vb3RoIHNjcm9s
bGluZyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXygiV2hldGhlciB0byBlbmFibGUgc21vb3RoIHNjcm9sbGluZyIpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0Us
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmbGFncykpOwogfQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2luaXQoV2Vi
S2l0V2ViU2V0dGluZ3MqIHdlYl9zZXR0aW5ncykKQEAgLTExMjgsNiArMTE0NSw5IEBAIHN0YXRp
YyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwg
Z3VpbnQgcHJvcF9pZCwgY29uCiAgICAgY2FzZSBQUk9QX0VOQUJMRV9BQ0NFTEVSQVRFRF9DT01Q
T1NJVElORzoKICAgICAgICAgcHJpdi0+ZW5hYmxlQWNjZWxlcmF0ZWRDb21wb3NpdGluZyA9IGdf
dmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1Bf
RU5BQkxFX1NNT09USF9TQ1JPTExJTkc6CisgICAgICAgIHByaXYtPmVuYWJsZVNtb290aFNjcm9s
bGluZyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBicmVhazsKICAgICBk
ZWZhdWx0OgogICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0
LCBwcm9wX2lkLCBwc3BlYyk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTI5Myw2ICsxMzEzLDkgQEAg
c3RhdGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19nZXRfcHJvcGVydHkoR09iamVjdCogb2Jq
ZWN0LCBndWludCBwcm9wX2lkLCBHVmEKICAgICBjYXNlIFBST1BfRU5BQkxFX0FDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HOgogICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5l
bmFibGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQ
Uk9QX0VOQUJMRV9TTU9PVEhfU0NST0xMSU5HOgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFu
KHZhbHVlLCBwcml2LT5lbmFibGVTbW9vdGhTY3JvbGxpbmcpOworICAgICAgICBicmVhazsKICAg
ICBkZWZhdWx0OgogICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2Jq
ZWN0LCBwcm9wX2lkLCBwc3BlYyk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzcHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzcHJpdmF0ZS5oCmluZGV4IGQ3ZDA4MmU1
YmIzZmZhYmJlZjRkZWJjNmE4ZTEyNWFmYzdjNzI2MzEuLjI0MGQ3OWZhZDc1YTAyN2FhYTVkZmY2
YjVkZjljOTczMGNjNThlNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJzZXR0aW5nc3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0d2Vic2V0dGluZ3Nwcml2YXRlLmgKQEAgLTgwLDYgKzgwLDcgQEAgc3RydWN0IF9XZWJL
aXRXZWJTZXR0aW5nc1ByaXZhdGUgewogICAgIGdib29sZWFuIGVuYWJsZVdlYmdsOwogICAgIGdi
b29sZWFuIGVuYWJsZVdlYkF1ZGlvOwogICAgIGdib29sZWFuIGVuYWJsZUFjY2VsZXJhdGVkQ29t
cG9zaXRpbmc7CisgICAgZ2Jvb2xlYW4gZW5hYmxlU21vb3RoU2Nyb2xsaW5nOwogfTsKIAogV0VC
S0lUX0FQSSB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfYWRkX2V4dHJhX3BsdWdpbl9kaXJlY3Rv
cnkoV2ViS2l0V2ViVmlldyosIGNvbnN0IGdjaGFyKiBkaXJlY3RvcnkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwIGIvU291cmNlL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IDMxMmMyZTUzY2IyOTM3NzUxYjRl
YWQ4ZmRkNmFlOWMzODU1Yjg0ZGIuLmZmNTUwNGUwZmM4MDk4MGI0ZGYxZWIzMWQyODJmZTg4NjM1
NmIyMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKQEAg
LTMzNDEsNiArMzM0MSwxMCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfdXBkYXRlX3Nl
dHRpbmdzKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgY29yZVNldHRpbmdzLT5zZXRVc2VI
aXhpZTc2V2ViU29ja2V0UHJvdG9jb2woZmFsc2UpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU01P
T1RIX1NDUk9MTElORykKKyAgICBjb3JlU2V0dGluZ3MtPnNldEVuYWJsZVNjcm9sbEFuaW1hdG9y
KHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxlU21vb3RoU2Nyb2xsaW5nKTsKKyNlbmRpZgorCiAgICAg
aWYgKFBhZ2UqIHBhZ2UgPSBjb3JlKHdlYlZpZXcpKQogICAgICAgICBwYWdlLT5zZXRUYWJLZXlD
eWNsZXNUaHJvdWdoRWxlbWVudHMoc2V0dGluZ3NQcml2YXRlLT50YWJLZXlDeWNsZXNUaHJvdWdo
RWxlbWVudHMpOwogCkBAIC0zNDcwLDYgKzM0NzQsMTEgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dl
Yl92aWV3X3NldHRpbmdzX25vdGlmeShXZWJLaXRXZWJTZXR0aW5ncyogd2ViU2V0dGluZ3MsIEdQ
YXIKICAgICAgICAgc2V0dGluZ3MtPnNldFdlYkF1ZGlvRW5hYmxlZChnX3ZhbHVlX2dldF9ib29s
ZWFuKCZ2YWx1ZSkpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU01PT1RIX1NDUk9MTElORykKKyAg
ICBlbHNlIGlmIChuYW1lID09IGdfaW50ZXJuX3N0cmluZygiZW5hYmxlLXNtb290aC1zY3JvbGxp
bmciKSkKKyAgICAgICAgc2V0dGluZ3MtPnNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKGdfdmFsdWVf
Z2V0X2Jvb2xlYW4oJnZhbHVlKSk7CisjZW5kaWYKKwogICAgIGVsc2UgaWYgKCFnX29iamVjdF9j
bGFzc19maW5kX3Byb3BlcnR5KEdfT0JKRUNUX0dFVF9DTEFTUyh3ZWJTZXR0aW5ncyksIG5hbWUp
KQogICAgICAgICBnX3dhcm5pbmcoIlVuZXhwZWN0ZWQgc2V0dGluZyAnJXMnIiwgbmFtZSk7CiAg
ICAgZ192YWx1ZV91bnNldCgmdmFsdWUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>